Commit Graph

46 Commits

Author SHA1 Message Date
Nicolas Goaziou d3b8194069 ox: Store export options in :export-options porperty
* lisp/ox.el (org-export-as): Store export options in :export-options
  porperty within communication channel.

This patch allows export options activated to be available to export
back-ends.
2013-03-04 12:33:03 +01:00
Nicolas Goaziou 8f40d7f7a1 ox: Fix export of empty src blocks
* lisp/ox.el (org-export-format-code-default): Handle empty source
  blocks more gracefully.
* lisp/ox-ascii.el (org-ascii-src-block): Handle empty blocks more
  gracefully.
* testing/lisp/test-ox.el: Add tests.
2013-03-03 19:13:43 +01:00
Nicolas Goaziou 5a0239b9fc ox: Ignore inlinetasks with a :noexport: tag
* lisp/ox.el (org-export--selected-trees): Also mark inlinetasks with
  a select tag.
(org-export--skip-p): Skip inlinetasks with a :noexport: tag.
* testing/lisp/test-ox.el: Add tests.
2013-03-02 15:03:28 +01:00
Nicolas Goaziou ce3e6555d3 ox: Ignore `org-mode-hook' and `kill-emacs-hook' in asynchronous export
* lisp/ox.el (org-export-async-start): Ignore `org-mode-hook' and
  `kill-emacs-hook'.  The first one has been run in the original
  buffer.  The second is not necessary and can pollute output to
  a temporary buffer (e.g. with `org-clock-persistence-insinuate').
2013-03-01 08:31:39 +01:00
Carsten Dominik 8f3a109a21 Use base buffer for storing export dispatch position
* lisp/ox.el (org-export-dispatch): Make sure the last position marker
  uses the base buffer if there is one.
2013-02-28 12:53:45 +01:00
Carsten Dominik 9c58082c46 Make repeating a subtree-restricted export command remember the subtree
Export commands can be restricted to a specific subtree.  When using a
prefix argument to org-export-dispatch, the restriction did not stick,
i.e. the command would be restricted to whatever note the cursor
happens to be in.  This made it difficult to repeat export of a
subtree while editing it.  This change introduces a new marker and
uses this marker to remember the cursor position of the previous
export command.  So repeating a subtree-restricted command will now
re-export the same subtree, provided you are still in the same
buffer.  To break this connection, just make a new export without
relying on the prefix argument.

* lisp/ox.el (org-export-dispatch-last-position): New variable
  (org-export-dispatch): Save position of cursor at the moment when
  the export command is called.  Restore that position temporarily
  when repeating the previous export command.
2013-02-28 09:35:34 +01:00
Nicolas Goaziou a7535ca353 ox: Fix min level computation
* lisp/ox.el (org-export--get-min-level): Ignore footnote section when
  computing minimal headline level.
2013-02-27 23:22:51 +01:00
Nicolas Goaziou 86563e0119 org-element: OPTIONAL_TITLE becomes ALT_TITLE property
* lisp/org-element.el (org-element-headline-parser):
  Rename :optional-title into :alt-title.
* lisp/ox.el (org-export-get-alt-title): Renamed from
  `org-export-get-optional-title'.
* lisp/ox-ascii.el (org-ascii--build-title): Apply name change.
* lisp/ox-html.el (org-html--format-toc-headline): Apply name change.
* lisp/ox-latex.el (org-latex-headline): Apply name change.
* lisp/ox-texinfo.el (org-texinfo--get-node,
  org-texinfo--generate-menu-items): Apply name change.
* testing/lisp/test-ox.el: Update tests.
* doc/org.texi (Table of contents): Update documentation.
2013-02-27 00:03:59 +01:00
Nicolas Goaziou 677433d9b4 ox: Fix bug where properties read from setupfile overwrite previous properties
* lisp/ox.el (org-export--get-inbuffer-options): Remove an optional
  argument.  Rewrite function.  Properties read from a setupfile do
  not overwrite anymore previously computed properties.
(org-export-get-environment): Apply changes to previous function.
* lisp/org.el (org-create-formula--latex-header): Apply arity change
  from `org-export--get-inbuffer-options'.
* testing/lisp/test-ox.el: Add test.
* testing/examples/setupfile.org: New file.
2013-02-26 23:35:36 +01:00
Nicolas Goaziou b0fd7a51ee Revert "ox: Use tabulated list mode for asynchronous stack"
This reverts commit a965c06213.
2013-02-26 09:46:02 +01:00
Nicolas Goaziou 367e680582 ox: Change order of retured elements in `org-export-get-previous-element'
* lisp/ox.el (org-export-get-previous-element): Change order of
  retured elements in `org-export-get-previous-element'.
* testing/lisp/test-ox.el: Update test.
2013-02-25 23:17:42 +01:00
Nicolas Goaziou a965c06213 ox: Use tabulated list mode for asynchronous stack
* lisp/ox.el (org-export-stack): Rewrite.
(org-export-stack-refresh): Refactor.
(org-export-stack-remove, org-export-stack-view): Apply renaming.
(org-export-stack-mode-map): Use tabulated list map as a basis.
(org-export-stack--generate, org-export-stack--num-predicate): New
function.
2013-02-24 13:51:49 +01:00
Nicolas Goaziou a15a657bfb ox: Better return value for `org-export-get-optional-title'
* lisp/ox.el (org-export-get-optional-title): Return regular title
  when no optional title is found.
* lisp/ox-ascii.el (org-ascii--build-title): Apply change to
  `org-export-get-optional-title'.
* lisp/ox-html.el (org-html--format-toc-headline): Apply change to
  `org-export-get-optional-title'.
* lisp/ox-latex.el (org-latex-headline): Apply change to
  `org-export-get-optional-title'.
* testing/lisp/test-ox.el: Add tests.
2013-02-24 09:20:35 +01:00
Nicolas Goaziou e5a249b327 org-element/ox: Introduce :optional-title property and an accessor
* lisp/org-element.el (org-element-headline-parser): Node
  property :OPTIONAL_TITLE: in a headline will be parsed and stored
  under :optional-title property.
* lisp/ox.el (org-export-get-optional-title): New function.
2013-02-23 22:41:30 +01:00
Bastien Guerry 8ee6c13c7f Fix typo: an headline -> a headline. 2013-02-23 13:47:44 +01:00
Bastien Guerry 917cc1d516 Merge branch 'master-wip' 2013-02-23 11:48:21 +01:00
Nicolas Goaziou 65bacaac73 ox: Fix coding system error
* lisp/ox.el (org-export--generate-copy-script): Clone
  `buffer-file-coding-system' when creating a buffer copy.

This patches makes sure the output will share the same encoding as the
original buffer.
2013-02-23 11:22:58 +01:00
Bastien Guerry e9e32173cc Update headers. 2013-02-23 09:56:24 +01:00
Bastien Guerry 5ea1322c99 org-compat.el (org-file-equal-p): New compatibility function
* org-compat.el (org-file-equal-p): New compatibility function.

* ox.el (org-export-output-file-name): Use the new function.

Thanks to Mark Edgington for reporting this.
2013-02-19 18:01:03 +01:00
Nicolas Goaziou 27da9a2a0f Revert "Export: Prevent babel src blocks from being evaluated if org-export-babel-evaluate is nil"
This reverts commit 12d592b732.  When
the variable is nil, no block will be processed, which is a bug.
2013-02-18 21:14:00 +01:00
Nicolas Goaziou f541bff087 ox: Prevent invisible cursor from highlighting brackets in UI
* lisp/ox.el (org-export--dispatch-ui): Prevent invisible cursor from
  highlighting brackets in UI

This is another try following f849239d73.
2013-02-18 18:35:21 +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
Bastien Guerry 45442fbfb7 ox.el: Use integers for control chars
* ox.el (org-export--dispatch-ui)
(org-export--dispatch-action): Use integers for control chars.
2013-02-17 09:10:40 +01:00
Bastien Guerry f849239d73 Fix commit h9034345aa
Modifying the syntax char here broke The ODT exporter.
2013-02-17 09:10:37 +01:00
Nicolas Goaziou 8858e1ffef ox-publish: Fix index generation
* lisp/ox.el (org-export-install-filters): Properly install filters
  send through ext-plist mechanism.
* lisp/ox-publish.el (org-publish-org-to): Small refactoring.
* lisp/ox-html.el (org-html-keyword): Remove INDEX keyword handling.
  ox-publish.el takes care of it already.
2013-02-16 18:44:22 +01:00
Nicolas Goaziou 48da6a46e0 Move macro expansion code into its own library
* lisp/org-macro.el: New file.
* lisp/org.el: Remove macro code.
* lisp/ox.el: Require new library
* testing/lisp/test-org-macro.el: New file.
* testing/lisp/test-org.el: Remove macro test.
2013-02-16 15:55:30 +01:00
Nicolas Goaziou f33d90fb28 ox: Fuzzy link matching ignores statistics cookies
* lisp/ox.el (org-export-resolve-fuzzy-link): Ignore statistics
  cookies when matching an headline.
* testing/lisp/test-ox.el: Add test.
2013-02-16 15:05:45 +01:00
Nicolas Goaziou 3eac442249 ox: Display a visible help for scrolling dispatcher's buffer
* lisp/ox.el (org-export--dispatch-ui): Display a help message in
  header line for scrolling dispatcher's buffer
2013-02-16 08:59:45 +01:00
Nicolas Goaziou 2df6ded853 ox: Fix radio link resolution
* lisp/ox.el (org-export-resolve-radio-link): Radio targets are
  case-insensitive.
* testing/lisp/test-ox.el: Add test.
2013-02-15 23:03:29 +01:00
Nicolas Goaziou daa1d7d8f8 Fix some docstrings
* lisp/ox-icalendar.el (org-export-icalendar): Fix docstring.
* lisp/ox.el (org-export-dispatch): Fix docstring.
2013-02-15 22:01:49 +01:00
Nicolas Goaziou 68ab722a49 ox: Small improvement to scrolling
* lisp/ox.el (org-export--dispatch-action): Small improvement to line
  by line scrolling.
2013-02-15 18:32:47 +01:00
Nicolas Goaziou 4f2fccefc5 ox: Small refactoring
* lisp/ox.el (org-export-resolve-fuzzy-link): Refactor.
2013-02-15 18:30:14 +01:00
Nicolas Goaziou 78a652716e ox: Whitespaces are not significant when matching a fuzzy link
* lisp/ox.el (org-export-resolve-fuzzy-link): Whitespaces are not
  significant when matching a fuzzy link.
* lisp/org-element.el (org-element-link-parser): Do not remove
  newlines characters in paths anymore, since this is not required.
* testing/lisp/test-org-element.el: Update tests.
* testing/lisp/test-ox.el: Add test.
2013-02-15 18:08:03 +01:00
Nicolas Goaziou 5a1d46b990 ox: Implement vertical scrolling in non-expert UI
* lisp/ox.el (org-export--dispatch-ui): Renamed from
  `org-export-dispatch-ui'.  Handle scrolling.
(org-export--dispatch-action): Renamed from
`org-export-dispatch-action'.  Implement scrolling.
(org-export-dispatch): Apply renaming.

Heavily based on a patch from Jambunathan K.
2013-02-15 17:24:20 +01:00
Nicolas Goaziou a8e48bd3a8 Prevent export to file from overwriting current file
* lisp/ox.el (org-export-output-file-name): Add a protection when
  output file name is the same as the original org.
* testing/lisp/test-ox.el: Add tests.
2013-02-15 15:06:01 +01:00
Nicolas Goaziou 8768fd125f ox: Docstring fix
* lisp/ox.el (org-export-stack-mode): Fix docstring.
2013-02-14 20:38:31 +01:00
Gregor Kappler 12d592b732 Export: Prevent babel src blocks from being evaluated if org-export-babel-evaluate is nil
* lisp/ox.el (org-export-as): Make sure org-export-babel-evaluate is not nil before calling `org-export-execute-babel-code'.

TINYCHANGE
2013-02-14 18:58:51 +01:00
Nicolas Goaziou 39ed70495c ox: Correctly handle footnote section
* lisp/ox.el (org-export--collect-headline-numbering): Remove footnote
  section from TOC.
(org-export-collect-headlines): Do not count footnote section when
numbering a headline.
* testing/lisp/test-ox.el: Add tests.
2013-02-13 16:00:27 +01:00
Nicolas Goaziou 1f8c8dc6d6 ox: Implement `inner-template' transcoder
* lisp/ox.el (org-export-as): Call `inner-template' function, if
  available.
* lisp/ox-html.el (org-html-inner-template): New function.
(org-html-template): Move all parts that should be inserted even in
a body-only export into `org-html-inner-template'.
* testing/lisp/test-ox.el: Add tests.
2013-02-11 22:26:52 +01:00
Nicolas Goaziou 02002a7651 ox: Define macro before it is actually used in code
* lisp/ox.el (org-export-copy-buffer, org-export-with-buffer-copy,
  org-export--generate-copy-script): Moved earlier in the file.
2013-02-10 13:28:28 +01:00
Nicolas Goaziou 7f2d685219 ox: Tiny fix to code comments 2013-02-09 18:20:15 +01:00
Nicolas Goaziou 779c450f52 Small fixes to docstrings
* lisp/org.el (org-export-backends): Fix docstring.
* lisp/ox.el (org-export-dispatch): Fix docstring.
2013-02-09 09:41:36 +01:00
Nicolas Goaziou 52e67a291d ox.el: Widen UI by 2 characters
* lisp/ox.el (org-export-dispatch-ui): Widen UI by 2 characters.
2013-02-08 23:12:36 +01:00
Nicolas Goaziou 918c8a6c8f Add JIT export back-ends loading
* lisp/org.el (org-modules): Remove export back-ends from the list.
  Update docstring.
(org-export-backends): New variable.
* lisp/ox.el (org-export-async-start): Make sure export framework is
required in the external process.
2013-02-06 23:06:31 +01:00
Nicolas Goaziou 1cac3127c2 Fix tests related to export
* lisp/ob-exp.el (org-babel-exp-process-buffer): Renamed from
  `org-export-blocks-preprocess'.
* lisp/ox.el (org-export-execute-babel-code): Apply previous renaming.
* testing/org-test.el (org-test-at-id): Make sure the function returns
  the value of the last form in its body.
* testing/lisp/test-ob-exp.el: Fix tests.
* testing/lisp/test-ob-lob.el: Fix tests.
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
Renamed from contrib/lisp/org-export.el (Browse further)