Commit Graph

115 Commits

Author SHA1 Message Date
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
Bastien Guerry 8091854eaf ox-html.el (org-html-format-inline-image): Fix missing string in formatting string
* ox-html.el (org-html-format-inline-image): Fix missing string in
formatting string.

Thanks to Richard Stanton for reporting this.
2013-03-13 09:48:53 +01:00
Bastien Guerry 93489893dc ox-html.el: Better formatting for footnotes
* ox-html.el (org-html-style-default): New classes `footpara' and
`footdef' for the footnotes paragraphs and definitions.
(org-html-format-footnote-definition): Wrap the footnote
defintions into their own div.
(org-html-paragraph): Don't add extra <br/> after a paragraph in a
footnote.
2013-03-12 15:17:15 +01:00
Bastien Guerry 549d81878e ox-html.el (org-html-container-element, org-html-divs): Docstring enhancement
* ox-html.el (org-html-container-element, org-html-divs): Mention
that org-info.js will not work when changing the defaults.
2013-03-12 09:49:34 +01:00
Bastien Guerry 25222853f9 Merge branch 'master-reapply-rick-patch'
Conflicts:
	lisp/ox-html.el
2013-03-12 09:43:58 +01:00
Rick Frankel ec8823bea5 Parameterize some html content containers
* lisp/ox-html.el: (define-backend): Add :html-doctype and
:html-container parameters.
(org-html-doctype): New option for doctype declaration.
(org-html-container-elemnt): New option for specifying the wrapper
container element.
(org-html-divs): Change to alist of three entries each containing a
key ('preamble, 'content, 'postamble), an HTML element type and an
id to allow setting container elements.
(org-html--build-preamble): Modified to use `org-html-divs'.
(org-html--build-postamble): Modified to use `org-html-divs'.
(org-html-template): Modified to use doctype and container-element
settings.
2013-03-12 09:42:27 +01:00
Bastien Guerry baa299952f ox-html.el: New CSS .underline and #org-div-home-and-up.
* ox-html.el (org-html-style-default): New CSS .underline and
#org-div-home-and-up.
(org-html-text-markup-alist): Don't hardcode the style, use the
new class .underline.
(org-html-home/up-format): Don't hardcode the style, use
#org-div-home-and-up.
(org-html-center-block): Use the .center class.
2013-03-12 07:41:38 +01:00
Nicolas Goaziou 59cb22d638 ox: Simplify syntax for attributes
* lisp/ox.el (org-export-read-attribute): Do not use `read' to read
  attributes.  Instead, extract keywords and values from it, which
  means each value will be a string when non-nil.
* contrib/lisp/ox-groff.el (org-groff-link--inline-image): Use new
  attribute syntax.  Small refactoring.
* lisp/ox-ascii.el (org-ascii-horizontal-rule): Use new attribute
  syntax.
* lisp/ox-beamer.el (org-beamer-plain-list): Use new attribute syntax.
* lisp/ox-html.el (org-html--textarea-block): Use new attribute
  syntax.
* lisp/ox-latex.el (org-latex--inline-image, org-latex--org-table,
  org-latex--math-table): Use new attribute syntax.
* lisp/ox-man.el (org-man-table--org-table): Use new attribute syntax.
  Small refactoring.
* lisp/ox-odt.el (org-odt-link--inline-image, org-odt-table-cell): Use
  new attribute syntax.
* testing/lisp/test-ox.el: Add tests.

This patch introduces two changes.  To begin with, it removes the need
for quoting and escaping characters.  Also, all non-nil values are
stored as strings.  As an exception "nil" is stored as nil.
2013-03-11 08:33:10 +01:00
Bastien Guerry ccee7e4885 Don't use HTML tables for footnote defintions.
* ox-html.el (org-html-format-footnote-definition)
(org-html-footnote-section): Don't wrap footnote definitions into
tables.
(org-html-paragraph): Add HTML style and class parameter when the
paragraph is in a footnote definition.  Also allow to add an extra
string after the paragraph.  Further parameters can be added for
paragraphs in other environments.

Thanks to Samuel Wales for asking this.
2013-03-10 12:09:43 +01:00
Bastien Guerry e100bf91c4 ox-html.el (org-html-template): Always include the title.
* ox-html.el (org-html-template): Always include the title as <h1
class="title"></h1>, even when there is no title, as org-info.js
needs it.

Thanks to Henry Atting for reporting this.
2013-03-08 16:53:06 +01:00
Bastien Guerry e1f42859b4 ox-html.el (org-html-format-inline-image): Don't add superfluous <p></p> when there is an empty caption
* ox-html.el (org-html-format-inline-image): Don't add superfluous
<p></p> when there is an empty caption.
2013-03-08 11:22:01 +01:00
Nicolas Goaziou e109a37ede Export framework: Add :version and :package-version informations to defcustoms
* lisp/ox-beamer.el (org-beamer-column-view-format, org-beamer-theme,
  org-beamer-environments-extra): Add :version and :package-version.
* lisp/ox-html.el (org-html-with-latex, org-html-inline-image-rules):
  Add :version and :package-version.
* lisp/ox-latex.el (org-latex-inline-image-rules,
  org-latex-default-table-environment, org-latex-default-table-mode,
  org-latex-tables-booktabs, org-latex-table-scientific-notation,
  org-latex-known-errors): Add :version and :package-version.
* lisp/ox-md.el (org-md-headline-style): Add :version
  and :package-version.
* lisp/ox-odt.el (org-odt-with-latex): Add :version
  and :package-version.
* lisp/ox.el (org-export-with-drawers, org-export-with-latex,
  org-export-with-inlinetasks, org-export-with-planning,
  org-export-with-smart-quotes, org-export-with-statistics-cookies,
  org-export-allow-bind-keywords, org-export-async-init-file):
  Add :version and :package-version.
2013-03-06 17:14:27 +01:00
Bastien Guerry 1259dd8ff7 ox-html.el: More CSS tweaks
* ox-html.el (org-html-style-default): More cosmetic tweaks.
(org-html-head-include-default-style): Minor docstring update.

Thanks to Ken Williams who provided the patch about adding
the name of the source code block.
2013-03-05 17:06:01 +01:00
Bastien Guerry 8a2e3e2a79 Add :version and :package-version
* ox.el (org-export-snippet-translation-alist)
(org-export-coding-system, org-export-in-background)
(org-export-async-init-file, org-export-invisible-backends)
(org-export-dispatch-use-expert-ui):
* ox-texinfo.el (org-texinfo-filename, org-texinfo-classes)
(org-texinfo-format-headline-function)
(org-texinfo-node-description-column)
(org-texinfo-active-timestamp-format)
(org-texinfo-link-with-unknown-path-format)
(org-texinfo-tables-verbatim)
(org-texinfo-table-scientific-notation)
(org-texinfo-text-markup-alist)
(org-texinfo-format-drawer-function)
(org-texinfo-format-inlinetask-function)
(org-texinfo-info-process):
* ox-man.el (org-man-tables-centered)
(org-man-table-scientific-notation)
(org-man-source-highlight, org-man-source-highlight-langs)
(org-man-pdf-process, org-man-logfiles-extensions):
* ox-html.el (org-html-allow-name-attribute-in-anchors)
(org-html-coding-system, org-html-divs):
* ox-ascii.el (org-ascii-text-width)
(org-ascii-headline-spacing, org-ascii-indented-line-width)
(org-ascii-paragraph-spacing, org-ascii-charset)
(org-ascii-underline, org-ascii-bullets)
(org-ascii-links-to-notes)
(org-ascii-table-keep-all-vertical-lines)
(org-ascii-table-widen-columns)
(org-ascii-table-use-ascii-art)
(org-ascii-format-drawer-function)
(org-ascii-format-inlinetask-function):
* org.el (org-modules, org-export-backends)
(org-highlight-latex-and-related, orgstruct-setup-hook):
* org-attach.el (org-attach-git-annex-cutoff):
* org-archive.el (org-archive-file-header-format):
* org-agenda.el (org-agenda-todo-ignore-time-comparison-use-seconds):
* ob-python.el (org-babel-python-hline-to)
(org-babel-python-None-to):
* ob-ditaa.el (org-ditaa-eps-jar-path):
* ob-core.el (org-babel-results-keyword): Add :version and
:package-version.

* ox-ascii.el: Use utf-8-emacs as the file coding system.
2013-03-05 16:38:33 +01:00
Bastien Guerry 085e86dd53 ox-html.el: Update the default CSS
* ox-html.el (org-html-style-default): Cosmetic changes.
(org-html-postamble, org-html-preamble)
(org-html-preamble-format): Update docstring.
2013-03-05 16:38:33 +01:00
Bastien Guerry 83cda91a92 ox-html.el: Fix or add docstring
* ox-html.el (org-html-text-markup-alist)
(org-html-pretty-output, org-html-link-org-files-as-html)
(org-html-postamble, org-html-preamble)
(org-html-format-inline-image, org-html-splice-attributes)
(org-export-splice-style, org-html-htmlize-region-for-paste)
(org-html-fix-class-name)
(org-html-format-footnote-reference)
(org-html-format-footnotes-section)
(org-html-footnote-section, org-html--anchor)
(org-html--todo, org-html--tags, org-html-format-headline)
(org-html-toc, org-html-format-section, org-html-checkbox)
(org-html-format-list-item, org-html-format-latex)
(org-html-encode-plain-text)
(org-html-table-first-row-data-cells)
(org-html-table--table.el-table, org-html-final-function): Fix
or add docstring.
2013-03-05 16:38:33 +01:00
Bastien Guerry 4956a23f8e ox-html.el: Remove two useless comments. 2013-03-04 20:08:18 +01:00