Commit Graph

154 Commits

Author SHA1 Message Date
Nicolas Goaziou f8d7da4c33 ox-publish: Fix publishing components asynchronously
* lisp/ox-publish.el (org-publish): Ensure asynchronous process
  doesn't encounter :components parts in the project, as it may not
  know how to expand them.

Reported-by: Julien Cubizolles <j.cubizolles@free.fr>
<http://permalink.gmane.org/gmane.emacs.orgmode/92319>
2014-11-04 22:21:30 +01:00
Nicolas Goaziou 89f5ad36d7 Merge branch 'maint' 2014-10-12 22:55:38 +02:00
Nicolas Goaziou a0ac1344fc ox: Fix 88457acff4
* lisp/ox.el (org-export-async-start): Limit first argument to lambda
  expressions.
* lisp/ox-publish.el (org-publish, org-publish-all,
  org-publish-current-file): Replace `ignore', per limit stated above.

Due to a hack allowing to provide quasi-quoted lambda expressions,
symbols are not allowed as result handler.  This limitation is not
much of a problem as `org-export-async-start' is only meant to be used
internally.
2014-10-12 22:53:01 +02:00
Bastien Guerry 3b6f386795 Merge branch 'maint' 2014-07-29 23:28:34 +02:00
Matt Lundin a40f568f19 Protect open buffers when publishing sitemap
* lisp/ox-publish.el: (org-publish-find-title) (org-publish-find-date)
  Make sure to call org-export-get-environment in copy of buffer if
  emacs is already visiting. Otherwise, #+bind variables meant for
  export can be set in live buffers.

This patch also optimizes the above functions by inhibiting
org-startup on buffers emacs visits temporarily.
2014-07-29 23:20:19 +02:00
Bastien Guerry a98a6afe56 Merge branch 'maint' 2014-07-29 15:21:31 +02:00
Matt Lundin 507244d56b Remove unnecessary invocations of org-mode
* lisp/ox-publish.el: (org-publish-find-title) (org-publish-find-date)
  Fix unnecessary invocations of org-mode with
  org-inhibit-startup.

The functions above call org-mode with org-inhibit-startup in org
buffers that are already open. The result is that these open buffers
lose some crucial local variables during publishing. For instance,
an open buffer will lose its dir-local-variables-alist setting
during publishing. There is no need to call org-mode here, because
org-mode is a) either already initialized in the buffer or b)
initialized via earlier call to find-file-no-select.

This looks to me like a relic of some past time when these functions were
called in temporary buffers that contained copies of the file's contents.
2014-07-29 15:21:21 +02:00
Nicolas Goaziou f261833a26 Merge branch 'maint' 2014-03-29 14:42:08 +01:00
Nicolas Goaziou 3636783ca4 ox-publish: Fix (invalid-read-syntax "#") error
* lisp/ox-publish.el (org-publish-find-title):
  Fix (invalid-read-syntax "#").

Since 8e1386cead,
`org-element-interpret-data' no longer trims text properties attached
to strings.  We need to remove them before writing the title into the
cache, as text properties are not readable.
2014-03-29 14:41:27 +01:00
Nicolas Goaziou cd9685cd10 ox-publish: Fix code typo (take 3)
* lisp/ox-publish.el (org-publish-cache-file-needs-publishing): Fix
  code typo.
2014-03-25 16:06:46 +01:00
Nicolas Goaziou b982b57cb1 ox-publish: Fix code typo (part 2)
* lisp/ox-publish.el (org-publish-cache-file-needs-publishing): Fix
  code typo.
2014-03-25 10:46:34 +01:00
Nicolas Goaziou 317d2f1898 ox-publish: Fix code typo
* lisp/ox-publish.el (org-publish-cache-file-needs-publishing): Fix
  code typo.
2014-03-25 10:38:48 +01:00
Nicolas Goaziou bebb7597a7 ox-publish: Fix small bug
* lisp/ox-publish.el (org-publish-cache-file-needs-publishing):
  Correctly extract filename.

This bug was introduced in 6062f9ea72.
Thanks to steckerhalter for reporting it.
2014-03-25 10:05:27 +01:00
Nicolas Goaziou 6062f9ea72 ox-publish: Fix small bug
* lisp/ox-publish.el (org-publish-cache-file-needs-publishing): Find
  included file even if keyword is indented.
2014-03-12 21:30:13 +01:00
Bastien Guerry 3737676632 Update copyright year for files changed since 2013 2014-01-05 06:35:21 +01:00
Bastien Guerry 0beda99171 Revert "Update copyright years."
This reverts commit 21105594fc.
2014-01-05 06:28:07 +01:00
Bastien Guerry 096ff7e078 Merge branch 'maint'
Conflicts:
	contrib/lisp/org-favtable.el
2014-01-04 18:58:12 +01:00
Bastien Guerry 21105594fc Update copyright years. 2014-01-04 18:56:11 +01:00
Nicolas Goaziou e4386ba22a Merge branch 'maint' 2014-01-01 19:02:58 +01:00
Nicolas Goaziou 22c3bb81ff ox-publish: Fix a docstring
* lisp/ox-publish.el (org-publish-resolve-external-fuzzy-link): Fix
  docstring.
2014-01-01 19:02:13 +01:00
Nicolas Goaziou 3f6c64a8e2 ox-publish: Introduce `org-publish-after-publishing-hook'
* lisp/ox-publish.el (org-publish-after-publishing-hook): New variable.
(org-publish-file): Call hook with file name and output file name as
arguments.  Small refactoring.
(org-publish-attachment): Return output file.
2013-12-03 21:10:59 +01:00
Nicolas Goaziou a9eec72ecf Merge branch 'maint' 2013-11-25 23:36:38 +01:00
Nicolas Goaziou 3ead82a321 ox-publish: Error when publishing non-existent file
* lisp/ox-publish.el (org-publish-cache-ctime-of-src): Return an error
  when publishing a non-existent file.

Suggested-by: Arne Babenhauserheide <arne_bab@web.de>
2013-11-25 23:34:20 +01:00
Nicolas Goaziou b5356dadb4 Merge branch 'maint' 2013-10-13 18:41:12 +02:00
Nicolas Goaziou 9c1ef6df93 ox-publish: Fix compilation problem
* lisp/ox-publish.el (org-publish-all): Fix compilation problem.
2013-10-13 18:34:57 +02:00
Nicolas Goaziou 82837535df ox-publish: Update a docstring
* lisp/ox-publish.el (org-publish-project-alist): Update docstring wrt
  recent Property drawers changes.
2013-09-27 10:16:46 +02:00
Nicolas Goaziou 895d18abc0 ox-publish: Remove unused dynamically scoped variable
* lisp/ox-publish.el (project-plist): Remove variable.
2013-08-27 10:32:59 +02:00
Nicolas Goaziou ef2d475bf8 Merge branch 'maint'
Conflicts:
	lisp/ox.el
2013-08-08 18:49:17 +02:00
Nicolas Goaziou c82cb4f75e ox-publish: Correctly return document title
* lisp/ox-publish.el (org-publish-find-title): Fix title when no
  #+TITLE property is provided.
* lisp/ox.el (org-export-store-default-title): Remove-function.
(org-export--default-title): Remove variable.
(org-export-options-alist): Do not use a default value.
(org-export--get-buffer-attributes): Store a default title.
(org-export-as): Apply function removal.
(org-export--get-global-options): Do not set a property with an
explicitely nil value.
2013-08-08 18:45:39 +02:00
Nicolas Goaziou 74750b0839 ox-publish: Fix prefix for some variables
* lisp/ox-publish.el (org-publish-sitemap-sort-files,
  org-publish-sitemap-sort-folders, org-publish-sitemap-ignore-case,
  org-publish-sitemap-requested, org-publish-sitemap-date-format,
  org-publish-sitemap-file-entry-format): Set prefix to
  "org-publish-sitemap" instead of "org-sitemap".
(org-publish-compare-directory-files, org-publish-get-base-files-1,
org-publish-projects, org-publish-format-file-entry): Use new prefix.
2013-08-08 16:21:53 +02:00
Nicolas Goaziou 9154c70a04 Export back-ends: Apply changes to export functions
* contrib/lisp/ox-confluence.el (org-confluence-export-as-confluence):
* contrib/lisp/ox-deck.el (org-deck-export-as-html,
  org-deck-export-to-html):
* contrib/lisp/ox-freemind.el (org-freemind-export-to-freemind):
* contrib/lisp/ox-groff.el (org-groff-export-to-groff,
  org-groff-export-to-pdf):
* contrib/lisp/ox-koma-letter.el (org-koma-letter-export-as-latex,
  org-koma-letter-export-to-latex, org-koma-letter-export-to-pdf):
* contrib/lisp/ox-rss.el (org-rss-export-as-rss,
  org-rss-export-to-rss):
* contrib/lisp/ox-s5.el (org-s5-export-as-html,
  org-s5-export-to-html):
* contrib/lisp/ox-taskjuggler.el (org-taskjuggler-export):
* lisp/ob-haskell.el:
* lisp/ox-ascii.el (org-ascii-export-as-ascii,
  org-ascii-export-to-ascii):
* lisp/ox-beamer.el (org-beamer-export-as-latex,
  org-beamer-export-to-latex, org-beamer-export-to-pdf):
* lisp/ox-html.el (org-html-export-as-html, org-html-export-to-html):
* lisp/ox-icalendar.el (org-icalendar-export-to-ics):
* lisp/ox-latex.el (org-latex-export-as-latex,
  org-latex-export-to-pdf):
* lisp/ox-man.el (org-man-export-to-man, org-man-export-to-pdf):
* lisp/ox-md.el (org-md-export-as-markdown,
  org-md-export-to-markdown):
* lisp/ox-odt.el (org-odt-export-to-odt):
* lisp/ox-org.el (org-org-export-as-org, org-org-export-to-org):
* lisp/ox-publish.el (org-publish-org-to):
* lisp/ox-texinfo.el (org-texinfo-export-to-texinfo,
  org-texinfo-export-to-info):
* testing/lisp/test-ob-exp.el (test-ob-exp/org-babel-exp-src-blocks/w-no-file):
2013-08-07 16:11:42 +02:00
Nicolas Goaziou 7fcf4995af ox-publish: Fix :recursive parameter ignoring extension restriction
* lisp/ox-publish.el (org-publish-find-date): Also return date for
  directories.
(org-publish-get-base-files-1): Fix :recursive parameter ignoring
extension restriction.
2013-07-12 15:09:58 +02:00
Nicolas Goaziou 1ce00aaffd ox-publish: Fix "Invalid time specification" error with timestamps in DATE
* lisp/ox-publish.el (org-publish-find-date): Fix "Invalid time
  specification" error with timestamps in DATE.
2013-04-29 09:39:35 +02:00
Bastien Guerry a07c745705 ox-publish.el (org-publish-project-alist): Add :with-planning in docstring
* ox-publish.el (org-publish-project-alist): Add
:with-planning in docstring.
2013-04-10 17:19:41 +02:00
Nicolas Goaziou e01daa00be ox-publish: Fix "bad timestamp" error with some DATE values
* lisp/ox-publish.el (org-publish-find-date): Fix "bad timestamp"
  error with some DATE values: :date property in communication channel
  is no longer a string.
2013-04-06 14:17:26 +02:00
Bastien Guerry b9974192a1 ox-publish.el: Set `org-inhibit-startup' to t when visiting files for publication
* ox-publish.el (org-publish-org-to)
(org-publish-org-sitemap, org-publish-find-title)
(org-publish-find-date)
(org-publish-cache-file-needs-publishing): Set
`org-inhibit-startup' to t when visiting files for
publication.

Thanks to Samuel Wales for this idea.
2013-03-19 19:39:11 +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
Nicolas Goaziou de4669d3b7 ox-publish: No error when resolving external fuzzy links outside publishing
* lisp/ox-publish.el (org-publish-resolve-external-fuzzy-link): No
  error when resolving external fuzzy links outside publishing.  Though
  search option for these links will not be resolved.
2013-02-23 16:26:27 +01:00
Bastien Guerry 8900b27fc8 ox-publish.el (org-publish-sitemap-date-format): Small docstring enhancement
* ox-publish.el (org-publish-sitemap-date-format): Small
docstring enhancement.
2013-02-23 14:37:23 +01:00
Bastien Guerry ceeee88f49 Update header information.
Those three files will be part of Emacs when Org 8.0
will be merged with Emacs trunk.

Thanks to Nick Dokos for pointing this.
2013-02-23 08:59:23 +01:00
Nicolas Goaziou 93a70ac598 ox-publish: Implement tools to resolve external fuzzy links
* lisp/ox-publish.el (org-publish-collect-numbering,
  org-publish-resolve-external-fuzzy-link): New functions.
(org-publish-org-to): Add new collecting function to final output
filter.  Move index collecting function to the same filter.
(org-publish-collect-index): Called from final output filter.

An external fuzzy link is: [[file.org::*headline search]]
2013-02-23 00:05:10 +01:00
Nicolas Goaziou 1513f89f7e ox-publish: Do not create an "* Index" headline in "theindex.inc"
* lisp/ox-publish.el (org-publish-index-generate-theindex): Do not
  create an "* Index" headline in "theindex.inc".  Though, create an
  "Index" title in fallback "theindex.org".
2013-02-18 20:34:55 +01:00
Nicolas Goaziou 5c61a34e5b ox-publish: Publish "theindex.org" last
* lisp/ox-publish.el (org-publish-projects): Publish "theindex.org"
  last, so that "theindex.inc" can be completed.
2013-02-18 20:34:55 +01:00
Nicolas Goaziou 875f5cc69b ox-publish: Fix docstring
* lisp/ox-publish.el (org-publish-project-alist): Fix docstring.
2013-02-18 20:34:54 +01:00
Nicolas Goaziou 38eca24f07 ox-publish: Fix code typo
* lisp/ox-publish.el (org-publish-collect-index): Fix typo.
2013-02-18 18:57:47 +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 adc01ecf37 ox-publish: Preserve order in files when building the index
* lisp/ox-publish.el (org-publish-index-generate-theindex): Preserve
  order in file.
2013-02-17 01:40:53 +01:00
Nicolas Goaziou 8e2318a722 ox-publish: Fix error when two index entries were identical
* lisp/ox-publish.el (org-publish-index-generate-theindex): Fix error
  when two index entries were identical.
2013-02-17 01:31:14 +01:00
Nicolas Goaziou fb039937f9 ox-publish: Create again theindex.inc
* lisp/ox-publish.el (org-publish-index-generate-theindex): Create
  again theindex.inc.  See dd98619286.
2013-02-17 01:30:44 +01:00
Nicolas Goaziou 3fbdb193b6 Reverting "ox-publish: Small refactoring"
Revert "ox-publish: Small refactoring"

This reverts commit 1d6f5b62b8.
2013-02-16 20:10:36 +01:00
Nicolas Goaziou 1d6f5b62b8 ox-publish: Small refactoring
* lisp/ox-publish.el (org-publish-org-to): Small refactoring.
2013-02-16 18:49:07 +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 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