Commit graph

131 commits

Author SHA1 Message Date
Achim Gratz d36a933c65 Compatibility: fix XEmacs compilation failures
* lisp/ob-eval.el, lisp/ob.el, lisp/org-macro.el, lisp/org-mhe.el:
  Require org-macs and org-compat as necessary.
* lisp/ob-tangle.el: Declare function `org-store-link' and
  `org-open-link-from-string'.
* lisp/org-compat.el: Extend eval-and-compile clause and add advices
  for functions that have different parameter lists in XEmacs. Add
  variable definitions that XEmacs lacks .
* lisp/org-macs.el (declare-function): Define macro to use autoload
  instead for XEmacs.
* lisp/ox-html.el, lisp/ox-odt.el: XEmacs does not have table.el, so
  use 'noerror on the require form.
* lisp/ox-texinfo.el (org-texinfo-table-column-widths): Fix spliced
  argument list that XEmacs complains about by adding parenthesis.

This fixes all compilation failures on XEmacs and warnings related to
Org that indicate that XEmacs has compiled things wrongly (for
instance it might have interpreted a function as a variable symbol).
There are still many warnings that probably indicate serious problems.
2013-06-01 11:31:07 +02:00
Kodi Arfer d574bf522d ox-html: Fix handling of time-stamp-file
* lisp/ox-html.el (org-html--build-meta-info): Insert no timestamp
  when :time-stamp-file is nil.

TINYCHANGE
2013-05-30 21:38:34 +02:00
Rick Frankel 9d22167c68 Refactor fetching html doctype from alist into function so it can be reused in inherited exporters.
* lisp/ox-html.el (org-html-doctype): Add new function `org-html-doctype'.
(org-html-template): Use `org-html-doctype' function instead of inline
code.

* contrib/lisp/ox-deck.el (org-deck-template): Use `org-html-doctype'
  function instead of inline code.

* contrib/lisp/ox-s5.el (org-s5-template): Use `org-html-doctype'
  function instead of inline code.
2013-05-29 15:23:04 -04:00
Eric Schulte 06cdb2d228 respect org-html-table-caption-above 2013-05-21 14:30:12 -06:00
Nicolas Goaziou 1f7b310142 Merge branch 'maint' 2013-05-14 19:01:20 +02:00
Nicolas Goaziou f371e5da0d ox-html: Fix org-export-string-as when org-html-with-latex is dvipng
* lisp/ox-html.el (org-html-format-latex): Provide a prefix for
  temporary file when using dvipng, even if the current buffer isn't
  associated to a file.
2013-05-14 18:59:05 +02:00
Nicolas Goaziou 38de30ad8e Merge branch 'maint' 2013-05-12 14:39:09 +02:00
Nicolas Goaziou a8d0e76b7d ox-html: Remove code relative to bibliography
* lisp/ox-html.el (org-html-inner-template): Remove code relative to
  bibliography.
(org-html-bibliography): Remove function.

Bibliography is handled by the contrib/ package "ox-bibtex.el".
2013-05-12 14:38:10 +02:00
Carsten Dominik b3a88babf1 Merge branch 'fix-types' 2013-05-09 15:24:43 +02:00
Carsten Dominik a84c01642b Fix customization types of variables
* contrib/lisp/org-wl.el (org-wl-namazu-default-index): Fix custom type.
* lisp/ob-lob.el (org-babel-lob-files): Fix custom type.
* lisp/org-agenda.el (org-agenda-export-html-style):
(org-agenda-ndays):
(org-agenda-inactive-leader):
(org-agenda-day-face-function):
(org-agenda-auto-exclude-function): Fix custom type.
* lisp/org-bibtex.el (org-bibtex-prefix): Fix custom type.
* lisp/org-clock.el (org-clock-heading-function):
(org-show-notification-handler): Fix custom type.
* lisp/org-footnote.el (org-footnote-auto-adjust): Fix custom type.
* lisp/org-protocol.el (org-protocol-default-template-key): Fix custom type.
* lisp/org.el (org-make-link-description-function):
(org-link-translation-function):
(org-link-frame-setup):
(org-refile-target-verify-function):
(org-get-priority-function):
(org-use-fast-tag-selection):
(org-columns-modify-value-for-display-function):
(org-sparse-tree-default-date-type): Fix custom type.
* lisp/ox-html.el (org-html-postamble):
(org-html-postamble-format):
(org-html-preamble-format): Fix custom type.
* lisp/ox-odt.el (org-odt-content-template-file): Fix custom type.
* lisp/ox.el (org-export-with-archived-trees):
(org-export-initial-scope): Fix custom type.

Thanks to Glenn Moris for reporting these.  He used cus-test.el
to find them.
2013-05-09 15:19:02 +02:00
Nicolas Goaziou ce59889673 ox-html: Fix code typo
* lisp/ox-html.el (org-html--build-meta-info): Fix code typo.
2013-05-09 08:26:38 +02:00
Lawrence Mitchell 69dabd48bc ox-html: Ensure space between tag and attribute when closing tags
* lisp/ox-html.el (org-html-close-tag): Add space before attr.

We might get an attribute to a tag with no space at its start.  Rather
than auditing all callers, unconditionally separate the tag from its
attributes with a space when closing the tag.
2013-05-07 22:04:53 +02:00
Eric Abrahamsen 9bc55c7d00 Export to various flavors of (X)HTML
* lisp/ox-html.el: (org-html-doctype-alist): New variable holding an
alist of (X)HTML doctypes
(org-html-xhtml-p): New function
(org-html-html5-p): New function
(org-html-close-tag): New function
(org-html-html5-fancy): New export option, determining whether or not to
use HTML5-specific elements.
(org-html-html5-elements): New variable, new HTML5 elements.
(org-html-special-block): Export special blocks to new HTML5 elements.
(org-html-format-inline-image): Use <figure> and <figcaption> for
standalone images.
(org-html-format-inline-image,org-html--build-meta-info)
(org-html--build-head,org-html--build-pre/postable,org-html-template)
(org-html-horizontal-rule,org-html-format-list-item)
(org-html-line-break,org-html-table,`org-html-verse-block): Changes to
allow flavored export.

* doc/org.texi: Document export to (X)HTML flavors.
2013-05-06 09:47:05 +02:00
Nicolas Goaziou bb30de44fd ox-html: Always use provided description in internal links
* lisp/ox-html.el (org-html-link): Don't skip the link description
  when it matches the name of the headline it targets.
2013-04-24 09:54:34 +02:00
Nicolas Goaziou 4f690abdb4 ox-html: Always use provided description in internal links
* lisp/ox-html.el (org-html-link): Don't skip the link description
  when it matches the name of the headline it targets.
2013-04-24 09:52:20 +02:00
Bastien Guerry 5ef07dc54a ox-html.el: Fix copyright header
* ox-html.el: Fix copyright header.
2013-04-18 19:32:07 +02:00
Rick Frankel db8d3f5dcf Allow setting :HTML_CONTAINER as a per-headline property.
* lisp/ox-html.el (org-html-headline): Use (new) org-html--container
  function to set container element.
(org-html--container): Returns appropriate element for headline
container:
        1. The element set on the headline :HTML_CONTAINER property.
        2. the :html-container element (if the relative headline level
        is 1.)
        3. The default ("div").
2013-04-15 13:59:16 -04:00
Nicolas Goaziou 4c812675d0 ox-html: Fix invalid syntax in html attributes
* lisp/ox-html.el (org-html--build-meta-info): Fix invalid characters
  in html attributes.
2013-04-15 17:54:13 +02:00
Nicolas Goaziou bc269f01f3 ox-html: attributes lines are more comprehensive
* lisp/ox-html.el (html): Rename :html-table-tag property
  into :org-table-attributes.
(org-html-table-default-attributes): New variable.
(org-html-table-tag): Removed variable.
(org-html--make-attribute-string): New function.
(org-html-link--inline-image, org-html-table): Use new function.
* doc/org.texi: Document variable changes.

It is now possible to write properties and values in attributes lines
without falling back on `:options':

  #+attr_html: :border 1
  | a |
2013-04-10 21:29:13 +02:00
Nicolas Goaziou adb439dea9 ox-html: Remove unused functions
* lisp/ox-html.el (org-html-splice-attributes,
  org-export-splice-style): Remove functions.
2013-04-10 19:39:31 +02:00
Nicolas Goaziou 986c4ad96e ox-html: Fix docstring
* lisp/ox-html.el (org-html-inline-image-rules): Remove out of context
  part of the docstring.
2013-04-10 19:19:21 +02:00
Bastien Guerry 6baa5a8f13 ox-html.el (html): Add more options
* ox-html.el (html): Add more options.
2013-04-10 17:20:40 +02:00
Nicolas Goaziou 0480d0a0d0 ox-html: Add defcustom for timestamps in metadata
* lisp/ox-html.el (org-html-metadata-timestamp-format): New variable,
  renamed from `org-html--timestamp-format'.
(org-html--build-meta-info, org-html-format-spec,
org-html--build-pre/postamble): Use new variable.
2013-04-10 00:11:17 +02:00
Bastien Guerry 25e1e4d0eb ox-html.el (org-html-table-row-tags): Better example
* ox-html.el (org-html-table-row-tags): Better example.

Thanks to Stefan Vollmar for providing this new example.
2013-04-09 19:40:06 +02:00
Francesco Pizzolante 01ce58b3d6 Normalize the construction of outline-container DIV ID
* ox-html.el (org-html-headline): Normalize the construction of
  outline-container DIVs by always using the inner headline ID.

TINYCHANGE
2013-04-09 19:05:15 +02:00
Bastien Guerry 4b139ec4c8 ox-html.el (org-html-table-row-tags): Allow new dynamically bound value `row-number'
* ox-html.el (org-html-table-row-tags): Allow new dynamically
bound value `row-number'.
(org-html-table-row): Bind `row-number' to the number of the
row (first row is 0).
2013-04-09 17:18:32 +02:00
Bastien Guerry e664fc89d5 ox-html.el (org-html-table-row-tags): Fix example in docstring
* ox-html.el (org-html-table-row-tags): Fix example in docstring.

Thanks to Stefan Vollmar for providing the correct example.
2013-04-09 13:44:00 +02:00
Nicolas Goaziou 1af215bb46 ox-html: Tiny fix and outdated comments removal
* lisp/ox-html.el (org-html-doctype): Make value fit on a single line
  so `org-export-insert-default-template' can handle it.
2013-04-08 00:17:10 +02:00
Bastien Guerry bf8c341f4e ox-html.el (org-html-table-row-tags): Update
* ox-html.el (org-html-table-row): Dynamically bind
`rowgroup-number', `start-rowgroup-p', `end-rowgroup-p',
`top-row-p', `bottom-row-p'.
(org-html-table-row-tags): Update docstring: tell what
variables are dynamically bound.

Thanks to Stefan Vollmar for raising this problem.
2013-04-07 23:19:07 +02:00
Nicolas Goaziou d6d7bc55b8 ox/ox-html: Use a language agnostic and more neutral default creator
* lisp/ox-html.el (org-html-creator-string): Change default value.
* lisp/ox.el (org-export-creator-string): Change default value.
2013-04-07 20:21:58 +02:00
Rick Frankel b162dd43db Fix typo in doc string.
* lisp/ox-html.el (org-html-divs): Extra character in doc string.
2013-04-07 13:02:11 -04:00
Nicolas Goaziou bd61cb2bf0 ox-html: Allow to add last modification time in preamble/postamble
* lisp/ox-html.el (org-html-postamble-format,
  org-html-preamble-format): Allow last modification time of source in
  template.
(org-html-format-spec): Produce last modification time when the source
is a file.
2013-04-07 14:59:27 +02:00
Nicolas Goaziou c1d716f703 ox-html: Fix docstrings
* lisp/ox-html.el (org-html-postamble-format,
  org-html-preamble-format): Fix docstrings.
2013-04-07 14:53:11 +02:00
Nicolas Goaziou 2d6a90229d ox/ox-html: Fix defcustoms
* lisp/ox.el (org-export-with-archived-trees, org-export-with-author,
  org-export-with-clocks, org-export-with-date,
  org-export-creator-string, org-export-with-drawers,
  org-export-with-email, org-export-with-emphasize,
  org-export-exclude-tags, org-export-with-fixed-width,
  org-export-with-footnotes, org-export-with-latex,
  org-export-headline-levels, org-export-default-language,
  org-export-preserve-breaks, org-export-with-entities,
  org-export-with-inlinetasks, org-export-with-planning,
  org-export-with-priority, org-export-with-section-numbers,
  org-export-select-tags, org-export-with-smart-quotes,
  org-export-with-special-strings,
  org-export-with-statistics-cookies,
  org-export-with-sub-superscripts, org-export-with-toc,
  org-export-with-tables, org-export-with-tags,
  org-export-with-tasks, org-export-time-stamp-file,
  org-export-with-timestamps, org-export-with-todo-keywords): Fix
  docstrings.
* lisp/ox-html.el (org-html-postamble-format): Slightly change default
  value so "Generated by" string doesn't get duplicated.
(org-html-creator-string): Fix docstring.
2013-04-07 14:36:48 +02:00
Bastien Guerry 1e496cc8f9 ox.el (org-export-replace-region-by): New function
* ox.el (org-export-replace-region-by): New function.
* ox-texinfo.el (org-texinfo-convert-region-to-texinfo):
* ox-md.el (org-md-convert-region-to-md):
* ox-latex.el (org-latex-convert-region-to-latex):
* ox-html.el (org-html-convert-region-to-html): New functions
to replace the active region by its export into various
backends.
2013-04-06 19:09:38 +02:00
Nicolas Goaziou 735bb251b1 Remove TARGET handling from export back-ends
* contrib/lisp/ox-groff.el (org-groff-link): Remove TARGET handling.
* lisp/ox-ascii.el (org-ascii-link): Remove TARGET handling.
* lisp/ox-html.el (org-html-keyword): Remove TARGET handling.
* lisp/ox-latex.el (org-latex-keyword, org-latex-link): Remove TARGET
  handling.
* lisp/ox-man.el (org-man-keyword): Remove TARGET handling.
* lisp/ox-md.el (org-md-link): Remove TARGET handling.
* lisp/ox-odt.el (org-odt-keyword): Remove TARGET handling.
2013-04-04 20:38:36 +02:00
Bastien Guerry a597a8b622 ox-html.el and ox-org.el: Use the custom HTML extension.
* ox-org.el (org-org-publish-to-org):
* ox-html.el (org-html-publish-to-html): Use the custom
extension.

Thanks to Ian Barton for reporting this.
2013-04-03 13:25:11 +02:00
Nicolas Goaziou e7bf989b28 export back-ends: Handle DATE keyword in a uniform way
* lisp/ox-ascii.el (org-ascii-template--document-title): Use new function.
* lisp/ox-beamer.el (org-beamer-template): Use new function.
* lisp/ox-html.el (org-html-format-spec): Use new function.
* lisp/ox-latex.el (org-latex-template): Use new function.
(org-latex-date-timestamp-format): Remove variable.

The uniform way is to format DATE according to
`org-export-date-timestamp-format' when keyword value consists in
a single timestamp.
2013-04-02 23:59:00 +02:00
Bastien Guerry 51233b8ae2 ox-html.el (org-html-indent): Default to nil
* ox-html.el (org-html-indent): Default to nil, as non-nil can
break indentation of source code blocks.

Thanks to Vladimir Lomov for reporting this.
2013-03-21 14:25:18 +01:00
Bastien Guerry 73fe0ab77a ox-html.el (org-html-link): Don't insert nil if there is no attributes
* ox-html.el (org-html-link--inline-image): Small refactoring.
(org-html-link): Don't insert nil if there is no attributes.

Thanks to Samuel Wales for reporting this.
2013-03-20 07:54:16 +01:00
Bastien Guerry eff59a15d7 ox-html.el: Use the correct syntax for image and link attributes
* ox-html.el (org-html-link--inline-image): Use the correct
syntax for image attributes.  Allow :width :height and :alt as
predefined attributes for inline images.
(org-html-link, org-html-table): Use the standard syntax---
e.g. "#+attr_html: :options ..."--- to get attributes.
2013-03-19 19:39:35 +01:00
Bastien Guerry a13b19e384 ox.el (org-export-define-backend, org-export-define-derived-backend): Use defuns
* ox.el (org-export-define-backend)
(org-export-define-derived-backend): Make defuns and update
docstrings.

* ox-texinfo.el (texinfo):
* ox-org.el (org):
* ox-odt.el (odt):
* ox-md.el (md):
* ox-man.el (man):
* ox-latex.el (latex):
* ox-icalendar.el (icalendar):
* ox-html.el (html):
* ox-beamer.el (beamer):
* ox-ascii.el (ascii): Use the defuns.
2013-03-19 19:39:34 +01:00
Bastien Guerry 3725c417ea ox-html.el (org-html--build-meta-info): Fix setting of http-equiv="Content-Type"
* ox-html.el (org-html--build-meta-info): Fix setting of
http-equiv="Content-Type".
2013-03-19 09:55:39 +01:00
Rick Frankel 67a17cfe85 Update s5 and deck,js slideshow exporters to work with refactored html
backend.

* lisp/ox-html.el (org-html--build-pre/postamble): Add css class to
  wrapper div (defaults to `org-pre/postamble-class').  Move spec
  building to separate function (`org-html-format-spec').
(org-html-format-spec): New function.
(org-pre/postamble-class): New variable.

* contrib/lisp/ox-deck.el: Replace :html-{pre,post}amble export
  options with :deck versions.
(org-deck-postamble): Replaces `org-deck-postamble-template', uses
format-spec (and `org-html-format-spec') instead of custom template
option.
(org-deck-preamble): Replaces `org-deck-postamble-template', uses
format-spec (and `org-html-format-spec') instead of custom template
option.
(org-deck-title-slide-template): Use standard format specs.
(org-deck-template): Use org-html--build-pre/postamble instead of
`org-deck-fill-template'. Use fill-template for title slide (with
standard format specs) instead of custom `org-fill-template'
(org-deck-template-alist):  Delete.
(org-deck-postamble-template): Delete.
(org-deck-preamble-template): Delete.

* contrib/lisp/ox-s5.el: Same overall set of changes as ox-deck.
(org-s5-divs): New option, similar usage to `org-html-divs'.
(org-s5-footer-template): Delete.
(org-s5-header-template): Delete.
2013-03-16 15:17:44 -04:00
Rick Frankel ffdd9e9d73 ox-html.el: Cleanup pre/postamble handling
* lisp/ox-html.el (org-html--timestamp-format): New variable used
in the metadata and the pre/postamble.
(org-html-style-default): Make the preamble and postamble use the
same style.  Make all anchors font-size %100.  Remove margin from
the content section.
(org-html-container-element): Fix docstring.
(org-html-postamble-format, org-html-preamble-format): Update
docstrings.
(org-html-template): Use `org-html--build-pre/postamble'.
(org-html--build-pre/postamble): New function, combining the
pre/postamble generator.  Merge lists of formatters from the
preamble and postamble.  Fix bug, using :time-stamp-file instead
of :with-date for auto display of date: this brings usage in-line
with the latex and beamer exporter.
(org-html--build-postamble, org-html--build-postamble): Delete.
2013-03-16 09:23:35 +01:00
Bastien Guerry 3293c8fc48 Fix compiler warning 2013-03-15 16:10:07 +01:00
Bastien Guerry e8742b78e0 ox-html.el: New option `org-html-indent' to indent the HTML output
* ox-html.el (org-html-indent): New option.
(org-html-use-unicode-chars): New option.
(org-html-pretty-output): Delete.
(org-html-final-function): Use the new options.
2013-03-15 15:02:18 +01:00
Bastien Guerry d660979a0e ox-html.el (org-html-link): Fix handling of abbreviated links which include a file: protocol
* ox-html.el (org-html-link): Fix handling of abbreviated
links which include a file: protocol.

Before the patch, exporting this buffer does not export the link correctly:

#+LINK: test file:my.file::%s

[[test::search]]
2013-03-15 14:31:13 +01:00
Bastien Guerry 4eba81e5f4 ox-html.el: Enhance date insertion
* ox-html.el (org-html--build-postamble): Default to today's
date.
(org-html--build-meta-info): When #+DATE contains a time
stamp, parse it as a RFC 822 time string, otherwise simply
insert the date as a string.
2013-03-15 14:15:32 +01:00
Bastien Guerry ab33f3cfac ox-html.el (org-html-link): Minor code clean-up
* ox-html.el (org-html-link): Minor code clean-up.
2013-03-13 12:05:15 +01:00