Commit Graph

119 Commits

Author SHA1 Message Date
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
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
Nicolas Goaziou ee9372653f ox-latex: Introduce LATEX_HEADER_EXTRA keyword
* lisp/ox-latex.el (latex): Introduce new buffer keyword.
(org-latex-template): Use new keyword.
* lisp/ox-beamer.el (org-beamer-template): Use new keyword.
* lisp/org.el (org-create-formula--latex-header): Use new keyword.
* contrib/lisp/ox-koma-letter.el (org-koma-letter-template): Use new
  keyword.

Previewing of LaTeX snippets takes account of LATEX_HEADER keywords.
LATEX_HEADER_EXTRA keyword allows to specify some header lines that
will not be used for building snippets.
2013-03-07 09:02:29 +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
Nicolas Goaziou 8c48e8b2ac ox-beamer: Remove frame arount toc when generated from a TOC keyword
* lisp/ox-beamer.el (org-beamer-keyword): Remove frame arount toc when
  generated from a TOC keyword.

Since TOC keywords are a way to add a table of contents at some
precise location, it is reasonable to think the user will also want to
control the frame surronding it.  Table of contents generated with
toc:t option item still get wrapped within a frame.
2013-03-06 13:37:13 +01:00
Bastien Guerry ff97a0ee9d Revert "Add (provide ...) forms."
This reverts commit 8decdbcd23.
2013-03-02 16:20:59 +01:00
Bastien Guerry 8decdbcd23 Add (provide ...) forms.
E.g., if a user requires the 'org-icalendar feature,
he really wants to load 'ox-icalendar if it's in her
load-path.
2013-03-02 10:25:10 +01:00
Bastien Guerry 8ee6c13c7f Fix typo: an headline -> a headline. 2013-02-23 13:47:44 +01:00
Nicolas Goaziou f1e23104e3 ox-latex: Allow to span documentclass options accross multiple lines in template
* contrib/lisp/ox-koma-letter.el (org-koma-letter-template): Allow to
  span documentclass options accross multiple lines in template.
* lisp/ox-beamer.el (org-beamer-template): Allow to span documentclass
  options accross multiple lines in template.
* lisp/ox-latex.el (org-latex-template): Allow to span documentclass
  options accross multiple lines in template.

Thanks to Michael Strey for reporting this bug.
2013-02-20 20:26:08 +01:00
Nicolas Goaziou 324a2cb3f9 export-back-ends: Apply changes from b692064e621acbc93876670585f8a4b0fd6a7ffa
* lisp/ox-beamer.el (org-beamer--get-label, org-beamer--frame-level,
  org-beamer--format-section, org-beamer--format-frame,
  org-beamer--format-block, org-beamer-headline): Apply changes to
  properties.
* lisp/ox-html.el (org-html-headline, org-html-link,
  org-html-section): Apply changes to properties.
* lisp/ox-icalendar.el (org-icalendar-create-uid,
  org-icalendar-blocked-headline-p, org-icalendar-entry,
  org-icalendar--valarm): Apply changes to properties.
* lisp/ox-odt.el (org-odt-headline): Apply changes
* lisp/ox-publish.el (org-publish-collect-index): Apply changes to
  properties.
* lisp/ox-texinfo.el (org-texinfo--generate-menu-list,
  org-texinfo--generate-menu-items, org-texinfo-template,
  org-texinfo-headline, org-texinfo-link): Apply changes to
  properties.
* lisp/ox.el (org-export-resolve-id-link, org-export-get-category):
  Apply changes to properties.
  (org-export-get-node-property): Update docstring.
* testing/lisp/test-ox.el: Update tests.
2013-02-18 00:12:57 +01:00
Nicolas Goaziou 5bceb62142 ox-latex/beamer: Fix reported error when no suitable class is found
* lisp/ox-beamer.el (org-beamer-template): Add missing `class'
argument for `format-string'.
* lisp/ox-latex.el (org-latex-template): Add missing `class' argument
for `format-string'.

Thanks to Sébastien Vauban for reporting the problem and providing the
initial patch.
2013-02-15 14:18:59 +01:00
Nicolas Goaziou 2fa53e44a7 ox-beamer: Allow both #+attr_latex and #+attr_beamer attributes
* lisp/ox-beamer.el (org-beamer-plain-list): Also read #+attr_latex
  attributes in order to determine list's options.
2013-02-13 14:31:38 +01:00
Nicolas Goaziou e3058f6855 Export back-ends: Fix some compilation errors
* lisp/ox-beamer.el (require): Require cl when compiling.
* lisp/ox-icalendar.el (require): Require cl when compiling.
* lisp/ox-jsinfo.el (require): Require cl when compiling.
* lisp/ox-md.el (require): Require cl when compiling.
2013-02-09 18:25:57 +01:00
Nicolas Goaziou c16bfb448c ox-beamer: Add BEAMER_HEADER keyword
* lisp/ox-beamer.el (org-beamer-template): Add BEAMER_HEADER keywords
  below LATEX_HEADER.
2013-02-08 22:38:47 +01:00
Nicolas Goaziou 3888fd51a5 ox-beamer: Small change to menu entry 2013-02-08 22:36:07 +01:00
Nicolas Goaziou 1193ca9c09 ox-beamer: Document columns 2013-02-07 15:03:11 +01:00
Nicolas Goaziou ce79e36ff0 ox-latex/ox-beamer: Provide an error when LaTeX class is invalid
* lisp/ox-beamer.el (org-beamer-template): Provide an error when LaTeX
  class is invalid.
* lisp/ox-latex.el (org-latex-template): Provide an error when LaTeX
  class is invalid.

Patch suggested by Sébastien Vauban
2013-02-06 23:06:32 +01:00
Nicolas Goaziou 0484c5c64d Manage variables related to both LaTeX export and snippets
* lisp/org.el (org-format-latex-header-extra, org-export-have-math):
  Removed variables.
(org-latex-default-packages-alist): Renamed from
`org-export-latex-default-packages-alist'.
(org-latex-packages-alist): Renamed from
`org-export-latex-packages-alist'.
(org-try-cdlatex-tab, org-cdlatex-underscore-caret,
org-cdlatex-math-modify): Reorder in file.
(org-format-latex): Remove `org-format-latex-header-extra'.
(org-create-formula-image-with-dvipng,
org-create-formula-image-with-imagemagick): Apply variables renaming
and removal.
* lisp/org-entities.el (org-entities-user): Update docstring.
* lisp/ox-latex.el (org-latex-classes, org-latex-listings): Update
  docstring.
(org-latex-guess-inputenc): Renamed from `org-latex--guess-inputenc'.
(org-latex-guess-babel-language): Renamed from
`org-latex--guess-babel-language'.
(org-latex-template): Apply renaming.
* lisp/ox-beamer.el (org-beamer-template): Apply renaming.
* lisp/ob-latex.el (org-babel-execute:latex): Apply variable renaming
  and removal.
(org-babel-latex-tex-to-pdf): Call `org-latex-compile' instead of
copying it.
2013-02-06 23:06:31 +01:00
Nicolas Goaziou 8dd2bfc291 Move new export framework files into core
* contrib/README: Remove references to new export framework.
* contrib/lisp/org-e-ascii.el: Removed file.
* contrib/lisp/org-e-beamer.el: Removed file.
* contrib/lisp/org-e-confluence.el: Removed file.
* contrib/lisp/org-e-groff.el: Removed file.
* contrib/lisp/org-e-html.el: Removed file.
* contrib/lisp/org-e-icalendar.el: Removed file.
* contrib/lisp/org-e-latex.el: Removed file.
* contrib/lisp/org-e-man.el: Removed file.
* contrib/lisp/org-e-odt.el: Removed file.
* contrib/lisp/org-e-publish.el: Removed file.
* contrib/lisp/org-e-texinfo.el: Removed file.
* contrib/lisp/org-export.el: Removed file.
* contrib/lisp/org-koma-letter.el: Removed file.
* contrib/lisp/org-md.el: Removed file.
* contrib/lisp/ox-confluence.el: New file.
* contrib/lisp/ox-groff.el: New file.
* contrib/lisp/ox-koma-letter.el: New file.
* lisp/ox-ascii.el: New file.
* lisp/ox-beamer.el: New file.
* lisp/ox-html.el: New file.
* lisp/ox-icalendar.el: New file.
* lisp/ox-jsinfo.el: New file.
* lisp/ox-latex.el: New file.
* lisp/ox-man.el: New file.
* lisp/ox-md.el: New file.
* lisp/ox-odt.el: New file.
* lisp/ox-publish.el: New file.
* lisp/ox-texinfo.el: New file.
* lisp/ox.el: New file.
* mk/org-fixup.el (org-make-org-loaddefs): Install new export
  framework and back-end files.
* testing/lisp/test-org-export.el: Removed file.
* testing/lisp/test-ox.el: New file.
2013-02-06 23:06:30 +01:00