Commit Graph

68 Commits

Author SHA1 Message Date
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
Nicolas Goaziou cb1386ba39 org-e-ascii: Fix justification for lines looking like a fill-prefix
* contrib/lisp/org-e-ascii.el (org-e-ascii--justify-string): Fill
  justification for lines looking-like a fill-prefix.
2013-02-01 23:47:00 +01:00
Nicolas Goaziou 9d26797448 Move functions operating on timestamp objects into org.el
* contrib/lisp/org-export.el (org-export-timestamp-has-time-p,
  org-export-format-timestamp, org-export-split-timestamp-range,
  org-export-translate-timestamp): Removed functions.
* lisp/org.el (org-timestamp-has-time-p, org-timestamp-format,
  org-timestamp-split-range, org-timestamp-translate): New functions.
* contrib/lisp/org-e-ascii.el (org-e-ascii-timestamp): Apply move.
* contrib/lisp/org-e-groff.el (org-e-groff-timestamp): Apply move.
* contrib/lisp/org-e-html.el (org-e-html-timestamp): Apply move.
* contrib/lisp/org-e-latex.el (org-e-latex-timestamp): Apply move.
* contrib/lisp/org-e-odt.el (org-e-odt--format-timestamp,
  org-e-odt-timestamp): Apply move.
* contrib/lisp/org-e-texinfo.el (org-e-texinfo-timestamp): Apply move.
* testing/lisp/test-org-export.el: Remove tests.
* testing/lisp/test-org.el: Add tests.
2013-01-13 10:01:05 +01:00
Bastien Guerry 60b23bdeac Merge branch 'maint'
Conflicts:
	contrib/lisp/htmlize.el
	etc/schema/od-manifest-schema-v1.2-os.rnc
	etc/schema/od-schema-v1.2-os.rnc
	lisp/org-exp-blocks.el
2013-01-01 16:06:17 +01:00
Bastien Guerry 98cd4687a2 Update copyright years.
Happy new year!
2013-01-01 16:04:24 +01:00
Nicolas Goaziou 06872a4570 export back-ends: Activate asynchronous export
* contrib/lisp/org-e-ascii.el (org-e-ascii-export-as-ascii,
  org-e-ascii-export-to-ascii): Activate asynchronous export.
* contrib/lisp/org-e-beamer.el (org-e-beamer-export-as-latex,
  org-e-beamer-export-to-latex): Activate asynchronous export.
* contrib/lisp/org-e-groff.el (org-e-groff-export-to-groff,
  org-e-groff-export-to-pdf): Activate asynchronous export.
* contrib/lisp/org-e-html.el (org-e-html-export-as-html,
  org-e-html-export-to-html): Activate asynchronous export.
* contrib/lisp/org-e-icalendar.el (org-e-icalendar-export-to-ics):
  Activate asynchronous export.
* contrib/lisp/org-e-latex.el (org-e-latex-export-as-latex,
  org-e-latex-export-to-latex, org-e-latex-export-to-pdf): Activate
  asynchronous export.
* contrib/lisp/org-e-man.el (org-e-man-export-to-man,
  org-e-man-export-to-pdf): Activate asynchronous export.
* contrib/lisp/org-e-odt.el (org-e-odt-export-to-odt): Activate
  asynchronous export.  Remove body-only argument.
* contrib/lisp/org-e-texinfo.el (org-e-texinfo-export-to-texinfo,
  org-e-texinfo-export-to-info): Activate asynchronous export.
* contrib/lisp/org-md.el (org-md-export-as-markdown,
  org-md-export-to-markdown): Activate asynchronous export.
2012-12-13 15:36:51 +01:00
Nicolas Goaziou 496ed832d8 export back-ends: Remove useless pub-dir argument from export commands
* contrib/lisp/org-e-ascii.el (org-e-ascii-export-to-ascii): Remove
  pub-dir argument.
* contrib/lisp/org-e-beamer.el (org-e-beamer-export-to-latex,
  org-e-beamer-export-to-pdf): Remove pub-dir argument.
* contrib/lisp/org-e-groff.el (org-e-groff-export-to-groff,
  org-e-groff-export-to-pdf): Remove pub-dir argument.
* contrib/lisp/org-e-html.el (org-e-html-export-to-html): Remove
  pub-dir argument.
* contrib/lisp/org-e-latex.el (org-e-latex-export-to-latex,
  org-e-latex-export-to-pdf): Remove pub-dir argument.
* contrib/lisp/org-e-man.el (org-e-man-export-to-man,
  org-e-man-export-to-pdf): Remove pub-dir argument.
* contrib/lisp/org-e-odt.el (org-e-odt-export-to-odt): Remove pub-dir
  argument.
* contrib/lisp/org-e-texinfo.el (org-e-texinfo-export-to-texinfo,
  org-e-texinfo-export-to-info): Remove pub-dir argument.
* contrib/lisp/org-koma-letter.el (org-koma-letter-export-to-latex,
  org-koma-letter-export-to-pdf): Remove pub-dir argument.
* contrib/lisp/org-md.el (org-md-export-to-markdown): Remove pub-dir
  argument.

Publishing mechansim does not call any export command. It only relies
on `org-export-file-name' and `org-export-to-file'.  Only the former
has to support a pub-dir argument.
2012-11-29 21:52:43 +01:00
Nicolas Goaziou f71df7dc50 export back-ends: Use new tools for timestamps
* contrib/lisp/org-e-ascii.el (org-e-ascii-timestamp): Use new tool.
* contrib/lisp/org-e-groff.el (org-e-groff-timestamp): Use new tool.
* contrib/lisp/org-e-html.el (org-e-html-timestamp): Use new tool.
* contrib/lisp/org-e-latex.el (org-e-latex-timestamp): Use new tool.
* contrib/lisp/org-e-texinfo.el (org-e-texinfo-timestamp): Use new
  tool.
2012-11-23 18:43:05 +01:00
Nicolas Goaziou c6d709d0ed org-export: Allow to toggle date insertion
* contrib/lisp/org-export.el (org-export-with-date): New variable.
(org-export-options-alist): Use new variable.
* contrib/lisp/org-e-ascii.el (org-e-ascii-template--document-title):
  Check `:with-date' property in communication channel.
* contrib/lisp/org-e-beamer.el (org-e-beamer-template): Check
  `:with-date' property in communication channel.
* contrib/lisp/org-e-groff.el (org-e-groff--mt-head): Check
  `:with-date' property in communication channel.
(org-e-groff-date-format): Remove variable.
* contrib/lisp/org-e-html.el (org-e-html--build-meta-info,
  org-e-html--build-preamble, org-e-html--build-postamble): Check
  `:with-date' property in communication channel.
(org-e-html-format-date): Remove variable.
* contrib/lisp/org-e-latex.el (org-e-latex-template): Check
  `:with-date' property in communication channel.
contrib/lisp/org-e-man.el: Do not redefine DATE keyword.
2012-11-09 11:04:07 +01:00
Nicolas Goaziou 1896fc352f org-e-ascii: Fix docstring
* contrib/lisp/org-e-ascii.el (org-e-ascii-format-drawer-function):
  Fix docstring.
2012-11-05 15:44:46 +01:00
Nicolas Goaziou c60ef1d9d9 Export back-ends: Fix planning and clock export
* contrib/lisp/org-e-ascii.el (org-e-ascii-clock,
  org-e-ascii-planning): Fix export due to recent timestamps changes.
* contrib/lisp/org-e-groff.el (org-e-groff-clock,
  org-e-groff-planning): Fix export due to recent timestamps changes.
* contrib/lisp/org-e-html.el (org-e-html-clock, org-e-html-planning):
  Fix export due to recent timestamps changes.
* contrib/lisp/org-e-latex.el (org-e-latex-clock,
  org-e-latex-planning): Fix export due to recent timestamps changes.
* contrib/lisp/org-e-odt.el (org-e-odt-clock, org-e-odt-planning): Fix
  export due to recent timestamps changes.
* contrib/lisp/org-e-texinfo.el (org-e-texinfo-clock,
  org-e-texinfo-planning): Fix export due to recent timestamps
  changes.
2012-10-30 21:59:50 +01:00
Nicolas Goaziou f6e936c2b9 Export back-ends: Update timestamp export
* contrib/lisp/org-e-ascii.el (org-e-ascii-timestamp): Update
  timestamp export.
* contrib/lisp/org-e-groff.el (org-e-groff-timestamp): Update
  timestamp export.
* contrib/lisp/org-e-html.el (org-e-html-timestamp): Update timestamp
  export.
* contrib/lisp/org-e-latex.el (org-e-latex-timestamp): Update
  timestamp export.
* contrib/lisp/org-e-odt.el (org-e-odt-timestamp): Update timestamp
  export.
* contrib/lisp/org-e-texinfo.el (org-e-texinfo-timestamp): Update
  timestamp export.
2012-10-28 16:36:45 +01:00
Nicolas Goaziou f04a5bcea1 Export back-ends: Install smart quotes module
* contrib/lisp/org-e-ascii.el (org-e-ascii-plain-text): Install smart
  quotes module.
* contrib/lisp/org-e-html.el (org-e-html-plain-text): Install smart
  quotes module.  Fix :preseve-breaks option.
(org-e-html--quotation-marks): Remove function.
(org-e-html-quotes): Remove variable.
* contrib/lisp/org-e-latex.el (org-e-latex-plain-text): Install smart
  quotes module.
(org-e-latex--quotation-marks): Remove function.
(org-e-latex-quotes): Remove variable.
* contrib/lisp/org-e-odt.el (org-e-odt-plain-text): Install smart
  quotes module.
(org-e-odt--quotation-marks): Remove function.
(org-e-odt-quotes): Remove variable.
* contrib/lisp/org-md.el (org-md-plain-text): Install smart quotes
  module.  Fix characters escaping.
* contrib/lisp/org-e-texinfo.el (org-e-texinfo-center-block,
  org-e-texinfo-special-block): new functions.
(org-e-texinfo-quotes): Remove variable.
(org-e-texinfo--quotations-marks): Remove function.
(org-e-texinfo-plain-text): Install smart quotes module.
* contrib/lisp/org-e-groff.el (org-e-groff-plain-text): Install smart
quotes module.  Fix line break preservation.
(org-e-groff--quotation-marks): Remove function.
(org-e-groff-quotes): Remove variable.
(org-e-groff-entity): Fix property name.
* contrib/lisp/org-e-man.el (org-e-man-entity): Fix property name.
(org-e-man-plain-text): Install smart quotes module.  Fix line break
preservation.
(org-e-man-quotes): Remove variable.
(org-e-man--quotation-marks): Remove function.
2012-10-27 11:42:31 +02:00
Nicolas Goaziou 9109dc13ea org-e-publish: Move publishing functions into back-end libraries
* contrib/lisp/org-e-ascii.el (org-e-ascii-publish-to-ascii,
  org-e-ascii-publish-to-latin1, org-e-ascii-publish-to-utf8): New
  functions.
* contrib/lisp/org-e-html.el (org-e-html-publish-to-html): New
  function.
* contrib/lisp/org-e-latex.el (org-e-latex-publish-to-latex,
  org-e-latex-publish-to-pdf): New functions.
* contrib/lisp/org-e-publish.el (org-e-publish-org-to-latex,
  org-e-publish-org-to-pdf, org-e-publish-org-to-ascii,
  org-e-publish-org-to-latin1, org-e-publish-org-to-utf8,
  org-e-publish-org-to-html): Remove functions.

Each back-end can define its own publishing functions.  This patch
avoids to clutter org-e-publish.el.
2012-10-08 14:27:08 +02:00
Nicolas Goaziou 934208ece1 org-element: Allow links in captions
* lisp/org-element.el (org-element-object-restrictions): Allow links
  in caption. Also allow inline-src-blocks and inline-babel-calls.
* contrib/lisp/org-e-ascii.el (org-e-ascii--unique-links): Handle
  links in captions.
(org-e-ascii--describe-links): Small refactoring.
(org-e-ascii-template--document-title): Handle links in document
properties.
2012-09-30 23:57:45 +02:00
Nicolas Goaziou ee19704a71 org-e-ascii: Fix 1aae9d83bf
* contrib/lisp/org-e-ascii.el (org-e-ascii-filter-paragraph-spacing):
  Only apply variables to contiguous paragraphs.
2012-09-27 19:25:38 +02:00
Nicolas Goaziou 60127b7096 org-e-ascii: Fix docstrings
* contrib/lisp/org-e-ascii.el (org-e-ascii-filter-headline-blank-lines,
  org-e-ascii-filter-paragraph-spacing): Fix docstrings.
2012-09-27 19:13:05 +02:00
Nicolas Goaziou 1aae9d83bf org-e-ascii: Add variables to format paragraphs
* contrib/lisp/org-e-ascii.el (org-e-ascii-indented-line-width,
  org-e-ascii-paragraph-spacing): New variables.
(org-e-ascii-paragraph): Use a new variable.
(org-e-ascii-filter-paragraph-spacing): New function.
2012-09-27 14:53:32 +02:00
Nicolas Goaziou 28f8ca60c7 org-e-ascii/org-e-latex/org-e-md: Use new caption tool
* contrib/lisp/org-e-ascii.el (org-e-ascii--build-caption,
  org-e-ascii--list-listings, org-e-ascii--list-tables): Use new
  caption tool.
* contrib/lisp/org-e-latex.el (org-e-latex--caption/label-string): New
  signature.  Use new caption tool.
(org-e-latex-link--inline-image, org-e-latex-src-block,
org-e-latex-table--org-table): Apply signature change.
* contrib/lisp/org-md.el (org-md-link): Use new caption tool.
2012-09-13 17:33:46 +02:00
Nicolas Goaziou 6b8276ce76 Export back-ends: add entry in `org-export-dispatch' when loaded
* contrib/lisp/org-e-ascii.el: Add an entry for `org-export-dispatch'.
* contrib/lisp/org-e-beamer.el: Add an entry for `org-export-dispatch'.
* contrib/lisp/org-e-groff.el (e-groff): Use
  `org-export-define-backend'.  Add an entry for `org-export-dispatch'.
* contrib/lisp/org-e-html.el: Add an entry for `org-export-dispatch'.
* contrib/lisp/org-e-latex.el: Add an entry for `org-export-dispatch'.
* contrib/lisp/org-e-man.el: Use `org-export-define-backend'.  Add an
  entry for `org-export-dispatch'.
* contrib/lisp/org-e-odt.el: Add an entry for `org-export-dispatch'.
* contrib/lisp/org-e-texinfo.el: Use `org-export-define-backend'.  Add an
  entry for `org-export-dispatch'.
* contrib/lisp/org-md.el: Add an entry for `org-export-dispatch'.
2012-09-09 13:15:23 +02:00
Nicolas Goaziou ea77b2ccb2 org-export: Use new API for macro expansion
* contrib/lisp/org-export.el (org-export-define-backend): Update
  docstring.
(org-export-special-keywords): Remove "MACRO".
(org-export--get-inbuffer-options, org-export--get-buffer-attributes):
Remove internal macro handling.
(org-export-as): Use external tool instead.
(org-export-expand-macro): Remove function.
* contrib/lisp/org-e-ascii.el (org-e-ascii-macro): Remove function.
* contrib/lisp/org-e-groff.el (org-e-groff-macro): Remove function.
* contrib/lisp/org-e-html.el (org-e-html-macro): Remove function.
* contrib/lisp/org-e-latex.el (org-e-latex-macro): Remove function.
* contrib/lisp/org-e-man.el (org-e-man-macro): Remove function.
* contrib/lisp/org-e-odt.el (org-e-odt-macro): Remove function.
* contrib/lisp/org-e-texinfo.el (org-e-texinfo-macro): Remove
  function.
* testing/lisp/test-org-export.el: Remove tests.

Since macros are now expanded before parsing (and produce Org syntax),
back-ends will never see them (unless NO-EXPAND argument from
`org-export-as' is non-nil, which isn't the case for any back-end so
far).
2012-09-01 10:56:00 +02:00
Nicolas Goaziou 4e56f31a24 org-e-ascii: No trailing whitespace in headlines/inlinetasks titles
* contrib/lisp/org-e-ascii.el (org-e-ascii--build-title): Remove
  trailing whitespace in headlines/inlinetasks titles.
2012-08-27 15:35:59 +02:00
Nicolas Goaziou 86b1be57b9 org-export: Handle "\-" as a special string
* contrib/lisp/org-export.el (org-export-with-special-strings): Fix
  docstring.
* contrib/lisp/org-e-ascii.el (org-e-ascii-plain-text): Remove soft
  hyphens.
* contrib/lisp/org-e-latex.el (org-e-latex-plain-text): Handle soft
  hyphens.
2012-08-27 14:35:54 +02:00
Nicolas Goaziou 095f9322e5 org-export: Make sure back-end specific filters do not make any back-end check
* contrib/lisp/org-e-ascii.el (org-e-ascii-filter-headline-blank-lines):
  Remove backend check.
* contrib/lisp/org-e-texinfo.el (org-e-texinfo-filter-section-blank-lines):
  Remove backend check.
* contrib/lisp/org-export.el (org-export-define-backend): Update
  docstring accordingly.
2012-08-24 10:41:41 +02:00
Nicolas Goaziou 43606a916a org-e-ascii: Remove spurious blank lines ascii art tables
* contrib/lisp/org-e-ascii.el (org-e-ascii-table): Remove spurious
  blank lines ascii art tables.
2012-08-03 09:57:15 +02:00
Nicolas Goaziou db004a0ad6 org-e-ascii: Allow to use ascii-art for table.el tables
* contrib/lisp/org-e-ascii.el (org-e-ascii-table-use-ascii-art): New
  variable.
(org-e-ascii-table): Allow to use ascii-art for table.el tables.
2012-07-31 16:32:06 +02:00
Nicolas Goaziou 5dac2ca753 org-e-ascii: Fix error when formatting an headline with a priority
* contrib/lisp/org-e-ascii.el (org-e-ascii--build-title): Fix error
  when formatting an headline with a priority.
2012-07-28 00:44:07 +02:00
Nicolas Goaziou c8acf8d695 org-export and back-ends: Fix some docstrings 2012-07-26 15:33:27 +02:00
Nicolas Goaziou b6b40424d2 org-e-ascii: Center shortened horizontal rules
* contrib/lisp/org-e-ascii.el (org-e-ascii-horizontal-rule): Center
  shortened horizontal rules.
2012-07-25 12:55:00 +02:00
Nicolas Goaziou 2b21bb4e52 export back-ends: Remove unused translators functions 2012-07-23 17:53:55 +02:00
Nicolas Goaziou 6ea9d8c827 org-export: `org-export-define-backend': the standard way to create a back-end
* contrib/lisp/org-export.el (org-export-define-backend): New macro.
* contrib/lisp/org-e-ascii.el: Use new macro.
* contrib/lisp/org-e-html.el: Use new macro.
* contrib/lisp/org-e-latex.el: Use new macro.
* contrib/lisp/org-e-odt.el: Use new macro.
* contrib/lisp/org-element.el (org-element-block-name-alist): Remove
  hard-coded export block names from variable, since they are added
  automatically by `org-export-define-backend'.
* testing/lisp/test-org-element.el: Update test.
2012-07-23 14:12:14 +02:00
Nicolas Goaziou 3a633732b7 org-e-ascii: Fix typo
* contrib/lisp/org-e-ascii.el (org-e-ascii-horizontal-rule): Fix typo.
2012-07-23 09:43:29 +02:00
Nicolas Goaziou 1b64d9582e org-export: Add optional argument to `org-export-read-attribute'
* contrib/lisp/org-export.el (org-export-read-attribute): Add optional
  argument to `org-export-read-attribute'.
* contrib/lisp/org-e-ascii.el (org-e-ascii-horizontal-rule): Use
  additional argument.
2012-07-21 15:12:08 +02:00
Nicolas Goaziou 8478fac4a5 Add autoload and a commands to export to temporary buffer in export back-ends
* contrib/lisp/org-e-ascii.el (org-e-ascii-export-as-ascii): New
  function.
(org-e-ascii-export-to-ascii): Now autoloaded.
* contrib/lisp/org-e-latex.el (org-e-latex-export-as-latex): New
  function.
(org-e-latex-export-to-pdf): Now autoloaded.
(org-e-latex--collect-errors): Renamed from
`org-e-latex-collect-errors'.
(org-e-latex-compile): Apply renaming.
* contrib/lisp/org-e-html.el (org-e-html-export-as-html): New
  function.
(org-e-html-export-to-html): Fix docstring.
* contrib/lisp/org-export.el (org-export-dispatch): Use new functions.
2012-07-20 13:48:05 +02:00
Nicolas Goaziou ea7b5a327f org-e-ascii: Fix link description in empty section
* contrib/lisp/org-e-ascii.el (org-e-ascii-headline): Fix link
  description in empty section.
2012-07-18 19:24:11 +02:00
Nicolas Goaziou 528b17ea15 org-export: Adapt back-ends to timestamp object change
* contrib/lisp/org-e-ascii.el (org-e-ascii-timestamp): Use :range-end
  property when applicable.
* contrib/lisp/org-e-html.el (org-e-html-timestamp): Use :range-end
  property when applicable.
* contrib/lisp/org-e-latex.el (org-e-latex-timestamp): Use :range-end
  property when applicable.
* contrib/lisp/org-e-odt.el (org-e-odt-timestamp): Use :range-end
  property when applicable.
2012-07-17 17:03:29 +02:00
Nicolas Goaziou 4cf88ac31d org-e-ascii: Fix export of tables with a special column or a top-left corner
* contrib/lisp/org-e-ascii.el (org-e-ascii--table-cell-width,
  org-e-ascii-table-row): Fix export of tables with a special column
  or a top-left angle.
2012-07-16 22:53:53 +02:00
Nicolas Goaziou 5dbd1386f3 org-e-ascii: Comment fix 2012-07-16 18:17:56 +02:00
Nicolas Goaziou 95cd07d058 org-export: Use `eq' instead of `equal' when possible
* contrib/lisp/org-export.el (org-export-data,
  org-export-footnote-first-reference-p,
  org-export-get-footnote-number, org-export-get-ordinal,
  org-export-get-loc, org-export-table-row-group,
  org-export-table-cell-starts-colgroup-p,
  org-export-table-cell-ends-colgroup-p,
  org-export-table-cell-address): Use `eq' instead of `equal' when
  possible.
* contrib/lisp/org-e-ascii.el (org-e-ascii-table-row):
* contrib/lisp/org-e-beamer.el (org-e-beamer-select-environment):
* contrib/lisp/org-e-html.el (org-e-html-footnote-section,
  org-e-html-latex-environment, org-e-html-paragraph): Use `eq'
  instead of `equal' when possible.
* contrib/lisp/org-e-latex.el (org-e-latex--get-footnote-counter):
* contrib/lisp/org-e-odt.el (org-e-odt-do-format-code,
  org-e-odt-footnote-def, org-e-odt-item, org-e-odt-latex-environment,
  org-e-odt-latex-fragment, org-e-odt-plain-list, org-e-odt-table,
  org-e-odt-enumerate-element): Use `eq' instead of `equal' when
  possible.

In particular, comparing elements shouldn't be done with `equal' since
they are circular lists.  On the other hand, using `eq' is fine if
they belong to the same tree.
2012-07-16 16:28:06 +02:00
Nicolas Goaziou 1216df61cc org-export: Implement multi-backend dictionary
* contrib/lisp/org-export.el (org-export-translate): New function.
(org-export-dictionary): New variable.
* contrib/lisp/org-e-ascii.el (org-e-ascii--build-toc,
  org-e-ascii--list-listings, org-e-ascii--list-tables,
  org-e-ascii-template, org-e-ascii--translate): Use new translation
  system.
(org-e-ascii-dictionary): Remove variable.
2012-07-12 13:31:06 +02:00
Nicolas Goaziou 0b89d5bcc6 org-export: Silence byte-compiler 2012-07-02 11:22:22 +02:00
Nicolas Goaziou 62453c5bf4 Export backends: Interpret correctly DATE keyword
* contrib/lisp/org-e-ascii.el (org-e-ascii-template--document-title):
  Interpret correctly DATE keyword.
* contrib/lisp/org-e-html.el (org-e-html-format-date): Interpret
  correctly DATE keyword.
* contrib/lisp/org-e-latex.el (org-e-latex-template): Interpret
  correctly DATE keyword.
* contrib/lisp/org-e-odt.el (org-e-odt-format-preamble,
  org-e-odt-update-meta-file): Interpret correctly DATE keyword.
2012-06-20 12:33:23 +02:00
Nicolas Goaziou 168c83e6d4 org-export: Correctly export check-boxes in description lists
* contrib/lisp/org-e-ascii.el (org-e-ascii--current-text-width): Pay
  attention to length of check-box, if any when computing text width.
(org-e-ascii--checkbox): New function.
(org-e-ascii-item): Allow check-boxes in description lists.
(org-e-ascii-paragraph): Refactor code.
* contrib/lisp/org-e-html.el (org-e-html-format-list-item): Allow
  check-boxes in description lists.
* contrib/lisp/org-e-latex.el (org-e-latex-item): Allow check-boxes in
  description lists.
* contrib/lisp/org-e-odt.el (org-e-odt--checkbox): New function.
(org-e-odt-item): Allow check-boxes in description lists.
(org-e-odt-paragraph): Do not add checkbox in front of paragraph if it
belongs to a description item, since the box will be attached to the
tag.
2012-06-09 15:34:27 +02:00
Nicolas Goaziou 4728a4611e org-export: Rewrite topology functions
* contrib/lisp/org-export.el (org-export-get-genealogy,
  org-export-get-parent, org-export-get-parent-headline,
  org-export-get-parent-table): Rewrite function to use :parent
  property.  Remove communication channel from signature.
(org-export-get-parent-element): Rename from
`org-export-get-parent-paragraph'.
(org-export-data, org-export-table-row-is-special-p)
org-export-table-row-group, org-export-table-cell-starts-colgroup-p,
org-export-table-cell-ends-colgroup-p,
org-export-table-row-starts-header-p,
org-export-table-row-ends-header-p, org-export-table-cell-address,
org-export-first-sibling-p, org-export-last-sibling-p,
org-export-resolve-fuzzy-link, org-export-get-ordinal): Apply
signature change.
(org-export--skip-p, org-export-table-cell-width,
org-export-table-cell-alignment, org-export-table-cell-borders):
Refactor code.  Apply signature change.
* contrib/lisp/org-e-ascii.el (org-e-ascii--current-text-width,
  org-e-ascii--unique-links, org-e-ascii-inlinetask,
  org-e-ascii-item, org-e-ascii-paragraph, org-e-ascii-quote-section,
  org-e-ascii-section, org-e-ascii--table-cell-width): Apply signature
  change.
* contrib/lisp/org-e-html.el (org-e-html-link,
  org-e-html-link--inline-image): Use new function and apply signature
  change.
(org-e-html-item, org-e-html-standalone-image-p, org-e-html-paragraph,
org-e-html-section, org-e-html-table-cell, org-e-html-table-row,
org-e-html-footnote-reference): Apply signature change.
* contrib/lisp/org-e-latex.el (org-e-latex-link--inline-image): Use
  new function and apply signature change.
(org-e-latex-footnote-reference, org-e-latex-item,
org-e-latex-table-cell, org-e-latex-table-row): Apply signature
change.
* contrib/lisp/org-e-odt.el (org-e-odt-format-formula,
  org-e-odt-format-label, org-e-odt-link--inline-image): Use new
  function and apply signature change.
(org-e-odt-item, org-e-odt-standalone-image-p, org-e-odt-paragraph,
org-e-odt-plain-list, org-e-odt-table-style-spec,
org-e-odt-get-table-cell-styles, org-e-odt-table-cell,
org-e-odt-table-row, org-e-odt-table, org-e-odt-footnote-reference,
org-e-odt-enumerate-element): Apply signature change.
2012-06-09 00:17:30 +02:00
Nicolas Goaziou 09164e5c72 org-export: Hide select tags
* contrib/lisp/org-export.el (org-export-get-tags): New function.
* contrib/lisp/org-e-ascii.el (org-e-ascii--build-title): Use new function.
* contrib/lisp/org-e-html.el (org-e-html-format-headline--wrap,
  org-e-html-headline): Use new function.
* contrib/lisp/org-e-latex.el (org-e-latex-headline,
  org-e-latex-inlinetask): Use new function.
* contrib/lisp/org-e-odt.el (org-e-odt-format-headline--wrap): Use new
  function.
* testing/lisp/test-org-export.el: Add tests.
2012-05-26 13:52:03 +02:00
Nicolas Goaziou 5d1c7e741b Update some docstrings and comments
* contrib/lisp/org-e-ascii.el (org-e-ascii-table,
  org-e-ascii--table-cell-width): Update docsring.
* contrib/lisp/org-e-html.el (org-e-html-table): Update docstring.
* contrib/lisp/org-e-latex.el (org-e-latex-table): Update docstring.
* contrib/lisp/org-e-odt.el (org-e-odt-table): Update docstring.
2012-05-23 23:21:25 +02:00
Nicolas Goaziou 4721052ec6 org-e-ascii: Small refactoring
* contrib/lisp/org-e-ascii.el (org-e-ascii--unique-links): Small refactoring.
2012-05-21 21:54:09 +02:00
Nicolas Goaziou dc976e1139 org-export: Only number elements with a caption
* contrib/lisp/org-export.el (org-export-collect-elements): Collect
  elements with a caption only.
(org-export-collect-tables, org-export-collect-figures,
org-export-collect-listings): Update docstring.
* contrib/lisp/org-e-ascii.el (org-e-ascii--has-caption-p): Renamed
  from `org-e-ascii--has-caption-or-name-p'.
(org-e-ascii-link): Use previous function.
(org-e-ascii--build-caption, org-e-ascii--list-listings,
org-e-ascii--list-tables): Do not use #+NAME keyword as a fallback caption.
2012-05-21 21:38:42 +02:00
Nicolas Goaziou 65c0e18892 org-e-ascii: Ensure consistent cross-referencing between elements and links
* contrib/lisp/org-e-ascii.el (org-e-ascii--has-caption-or-name-p):
  New function.
(org-e-ascii--build-caption, org-e-ascii-link): Use new function.

This patch ensures only elements with a name or a caption are counted
in when a fuzzy link pointing to an element is resolved.
2012-05-20 13:57:58 +02:00
Nicolas Goaziou c84cda961f Fix some more comments in export back-ends 2012-05-18 21:06:12 +02:00