Commit Graph

881 Commits

Author SHA1 Message Date
Nicolas Goaziou 113ca8767a org-export: Define new interface for `org-export-dispatch'
* contrib/lisp/org-export.el (org-export-define-backend):
  Add :menu-entry keyword.
(org-export-define-derived-backend): Add :menu-entry
and :sub-menu-entry keywords.
(org-export-dispatch-menu-entries): New variable.
(org-export-dispatch): Define a new interface.
(org-export-dispatch-ui): Rewrite function.
(org-export-dispatch-action): New function.

Every back-end defined through `org-export-define-backend' or
`org-export-define-derived-backend' can specify a menu entry for
`org-export-dispatch'. Navigating the menu is now a two levels
process.
2012-09-09 13:13:57 +02:00
Luis Anaya 659be37758 Added long cell support for man exports.
* org-e-man.el (org-e-man-table--org-table): Added long cell support
to man tables.
2012-09-08 12:29:16 -04:00
Luis Anaya 9fc33dab8a Removed extra new line in the table creation command.
* org-e-groff.el
(org-e-groff-table--org-table): Removed extra new line in the
table termination command.
2012-09-08 11:08:29 -04:00
Achim Gratz d5fddbc053 Merge branch 'maint' 2012-09-06 20:14:52 +02:00
Achim Gratz 2de5d35243 add a missing require for gnus-util
* lisp/org-gnus.el: Add a missing require for gnus-util.

* contrib/lisp/org-contacts.el: Add a missing require for gnus-util.
2012-09-06 19:54:28 +02:00
Jambunathan K c276eeebee org-export.el: Revert an erroneous commit, sigh 2012-09-05 03:33:16 +05:30
Jambunathan K 272c5fb74f org-e-freemind.el: Reverted accidental commit 2012-09-05 03:25:50 +05:30
Jambunathan K f7de184e43 org-e-odt.el: Typeset list-tables within a grid 2012-09-05 03:21:06 +05:30
Jambunathan K 602ef336a7 org-e-odt.el: Don't use `org-e-odt--translate-description-lists' 2012-09-05 01:08:30 +05:30
Nicolas Goaziou 9d0d1bdc01 org-e-beamer: Small refactoring
* contrib/lisp/org-e-beamer.el (org-e-beamer--get-label): New
  function.
(org-e-beamer--format-frame, org-e-beamer-headline): Use new function.
2012-09-04 15:04:31 +02:00
Nicolas Goaziou 8f96986c45 org-e-latex: Add xelatex as a possible processor
* contrib/lisp/org-e-latex.el (org-e-latex-pdf-process): Add xelatex
  as a possible processor.
2012-09-04 14:19:30 +02:00
Nicolas Goaziou 153ff40a2a org-e-odt: Internalize filter
* contrib/lisp/org-e-odt.el (org-e-odt--translate-description-lists):
  This is a developer filter, which should be handled by
  `org-export-define-backend'.  Also, such filters do not require
  a back-end check.

`org-export-*-functions' are user-oriented variables.
2012-09-04 11:15:51 +02:00
Nicolas Goaziou e49668ab5d org-e-beamer: Add an "againframe" environment
* contrib/lisp/org-e-beamer.el (org-e-beamer-environments-special):
  Make "againframe" an hard-coded environment.
(org-e-beamer-headline): Handle "againframe" environment.
(org-e-beamer-select-environment): Provide support for "againframe"
environments.
2012-09-04 11:10:54 +02:00
Jambunathan K 7435489f1d org-e-odt.el: Continue earlier commit 2012-09-04 14:28:05 +05:30
Jambunathan K d7e75f3035 org-e-odt.el: Support for list-tables.
A list marked with non-nil `:list-table' attribute will be deemed as a
list-table.  A typical list-table will look like this:

,----
| #+attr_odt :list-table t
| - Row 1
|   - 1.1
|   - 1.2
|   - 1.3
| - Row 2
|   - 2.1
|   - 2.2
|   - 2.3
`----

Also fix regression in indented table caused by recent `section'
changes.
2012-09-04 14:15:14 +05:30
Nicolas Goaziou 97c1b93e04 org-e-beamer: Allow to define frame labels
* contrib/lisp/org-e-beamer.el (org-e-beamer--format-frame):
  User-provided frame labels overwrite default label.
2012-09-04 08:25:46 +02:00
Luis Anaya d46887f206 Code to process export of PNG and JPG images.
* org-e-groff.el
(org-e-groff-inline-image-rules): Added PNG and JPG as valid
inline suffixes.
(org-e-groff-raster-to-ps): Variable that contains the command
to execute raster to eps conversion.
(org-e-groff--letter-head): Updated logic to handle empty
FROM/TO in letter classes.
(org-e-groff-link--inline-image): Added logic to process
raster images.
2012-09-03 17:24:58 -04:00
Jambunathan K 0ea0a60c59 org-e-odt.el: Continue previous commit 2012-09-03 20:04:34 +05:30
Jambunathan K 3ad0618169 org-e-odt.el: Don't meddle with `org-file-apps' 2012-09-03 19:19:28 +05:30
Jambunathan K 8ff4ea03b0 org-export.el (org-export-dispatch): Open ODT files with system app 2012-09-03 19:19:28 +05:30
Jambunathan K 845daf6648 org-e-odt-preferred-output-format: Make string values safe 2012-09-02 03:01:56 +05:30
Nicolas Goaziou 7ce732b294 org-export: Make BIND keywords case insensitive
* contrib/lisp/org-export.el (org-export--install-letbind-maybe): Make
  BIND keywords case insensitive.
* testing/lisp/test-org-export.el: Add test.
2012-09-01 14:21:09 +02:00
Nicolas Goaziou 57da184a5c org-export: Allow in-buffer keywords at any column
* contrib/lisp/org-export.el (org-export--get-inbuffer-options): Allow
  in-buffer keywords at any column.

`org-make-options-regexp' enforces keywords at column 0. This is an
unnecessary restriction, as we can imagine the following Org buffer:

* Export Setup              :noexport:

  #+AUTHOR: Me
  #+DATE: 29/03/2012

* Headline 1

  ...
2012-09-01 13:04:14 +02:00
Nicolas Goaziou 61ad50d758 org-export: Fix #+BIND: keywords evaluation
* contrib/lisp/org-export.el (org-export--install-letbind-maybe): If
  a variable is bound two times in the buffer, be sure to set its
  value to the last bound. Use correct function to confirm binding.
  Allow keyword to start on any column.
* testing/lisp/test-org-export.el: Add tests.
2012-09-01 12:59:57 +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 43c0ae945e org-e-latex/org-e-beamer: Allow inserting class option when there was none
* contrib/lisp/org-e-beamer.el (org-e-beamer-template): Allow
  inserting class option when there was none.
* contrib/lisp/org-e-latex.el (org-e-latex-template): Allow inserting
  class option when there was none.

Thanks to Fabrice Popineau for suggesting this.
2012-08-30 15:54:33 +02:00
Jonathan Leech-Pepin 2b9cc23dd0 contrib/lisp/org-e-texinfo: Properly format table heading rows
* contrib/lisp/org-e-texinfo.el (org-e-texinfo-table-row): Check if the row is part of the first row group.  If it is treat it as @headitem rather than a normal @item.
2012-08-29 15:14:03 -04:00
Bastien Guerry 3b792443c1 Merge branch 'maint' 2012-08-29 20:19:47 +02:00
Sean O'Halpin 71af82f55e Fix: org-e-html-special-block had not been converted from LaTeX version
* contrib/lisp/org-e-html.el (org-e-html-special-block): convert LaTeX
markup to HTML

This function had not been modified from its org-e-latex-special-block original
so with #+BEGIN_ORG for example you would get \begin{org}...\end{org}
in the output instead of <div class="org">...</div>.

TINYCHANGE
2012-08-29 20:19:35 +02:00
Bastien Guerry 0a78e90362 Merge branch 'maint' 2012-08-28 13:39:45 +02:00
Bastien Guerry a9b8778b0c Code clean-up: rename some agenda internals.
* org.el (org-agenda-prepare-buffers): Rename from
`org-prepare-agenda-buffers'.
(org-match-sparse-tree, org-map-entries): Use the new names.

* org-agenda.el (org-agenda-prepare-window): Rename from
`org-prepare-agenda-window'.
(org-agenda-prepare): Rename from `org-prepare-agenda'.
(org-agenda-run-series, org-agenda-prepare, org-timeline)
(org-agenda-list, org-search-view, org-todo-list)
(org-tags-view, org-agenda-list-stuck-projects, org-diary)
(org-agenda-to-appt): Use the new names.

* org-mobile.el (org-mobile-create-index-file): Ditto.

* org-icalendar.el (org-export-icalendar): Ditto.

* org-clock.el (org-dblock-write:clocktable)
(org-dblock-write:clocktable): Ditto.

* org2rem.el (org2rem): Ditto.
2012-08-28 13:11:12 +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 caf2432c52 org-export: Add an option to toggle export of stat cookies
* contrib/lisp/org-export.el (org-export-with-statistics-cookies): New
  variable.
(org-export-options-alist): Use new variable.
(org-export--skip-p): Handle new option.
* testing/lisp/test-org-export.el: Add test.
2012-08-27 15:27:02 +02:00
Nicolas Goaziou 9f2824852c org-export: Objects in secondary strings can also be ignored
* contrib/lisp/org-export.el (org-export--populate-ignore-list): Move
  into secondary strings when looking for objects to ignore in the
  parse tree.
2012-08-27 15:27:02 +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 4d789f4c30 org-export: Fix filters returning a nil value
* contrib/lisp/org-export.el (org-export-filter-apply-functions): If
  a filter returns nil, return last non-nil value.
2012-08-27 14:35:54 +02:00
Jambunathan K 9c1d338834 org-e-odt.el: Support for indented tables.
1. Use element translation for description lists.
2. Handle low-level headlines.
3. Handle tables within listified headlines.

Some crude changes for creating references to a list item.

Also other misc changes.
2012-08-26 02:06:20 +05:30
Jambunathan K 0b209c16f6 Set `org-e-html-coding-system' to 'utf-8 2012-08-25 22:13:58 +02:00
Jambunathan K 2cb72af8e8 Set `org-e-html-coding-system' to 'utf-8 2012-08-26 00:50:17 +05:30
Nicolas Goaziou 61b5e28509 org-export: Flesh out dictionary
* contrib/lisp/org-export.el (org-export-dictionary): Flesh out
  dictionary.
(org-export-translate): Allow for a :default charset in order to
simplify dictionary completion.
2012-08-25 14:07:41 +02:00
Nicolas Goaziou d86f09a854 org-element: Extract search option and application in "file"-type links
* lisp/org-element.el (org-element-link-type-is-file): New variable.
(org-element-link-parser): Extract search option and application in
"file"-type links.
* contrib/lisp/org-e-html.el (org-e-html-link): Remove components
  extraction since this in now done in `org-element-link-parser'.
* contrib/lisp/org-e-odt.el: Remove components extraction since this
  in now done in `org-element-link-parser'.
* contrib/lisp/org-e-texinfo.el (org-e-texinfo-link): Remove
  components extraction since this in now done in
  `org-element-link-parser'.
* contrib/lisp/org-e-latex.el (org-e-latex-link): Remove components
  extraction since this in now done in `org-element-link-parser'.
* contrib/lisp/org-e-man.el (org-e-man-link): Remove components
  extraction since this in now done in `org-element-link-parser'.
* contrib/lisp/org-e-groff.el (org-e-groff-link): Remove components
  extraction since this in now done in `org-element-link-parser'.
* contrib/lisp/org-md.el (org-md-link): Remove components extraction
  since this in now done in `org-element-link-parser'.
* testing/lisp/test-org-element.el: Add tests.
2012-08-25 10:38:25 +02:00
Bastien Guerry 9c3386567c contrib/lisp/org-notify.el: Make `org-notify-start' interactive. Clean-up.
* org-notify.el (org-notify-start): Make interactive.
(org-notify-add, org-notify-start, org-notify-stop)
(org-notify-select-highest-window, default): Docstring and
indentation clean-up.
2012-08-25 10:06:55 +02:00
Bastien Guerry be70cfd084 org-e-texinfo.el: Tiny formatting and code fix
* org-e-texinfo.el (org-e-texinfo-table-column-widths): Remove
a quote before a lambda expression.
2012-08-24 11:21:24 +02:00
Nicolas Goaziou 7e466ea883 org-export: Small clean-up 2012-08-24 10:44:05 +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 cced6735a7 org-export: Run export hook with current back-end as argument
* contrib/lisp/org-export.el (org-export-as): Run export hook with
  current back-end as argument.
* testing/lisp/test-org-export.el: Update test.
2012-08-24 10:10:44 +02:00
Nicolas Goaziou cc839259a4 org-export: Nil value from a filter means filter will be skipped
* contrib/lisp/org-export.el (org-export-filter-apply-functions): Nil
  value from a filter means filter will be skipped. To ignore the
  current element or object, the filter has to return the empty string
  instead.

This change is done to ease filter writing. When writing
a backend-specific filter (and I guess most are), there's no more need
for the somewhat contrived:

  (if (not (eq backend 'e-latex)) data
    ... filter's job...)

A more straightforward:

  (when (eq backend 'e-latex)
    ... filter's job...)

is now enough.

On the other hand, it is not possible anymore to specify 'ignore as
a filter to ignore every element or object of a given type. To
achieve that goal, one can now write, for example:

  (add-to-list 'org-export-filter-example-block-functions
                 (lambda (value backend info)
                   (when (eq backend 'e-html) "")))

It will ignore every example block in the `e-html' export back-end.
2012-08-24 09:56:48 +02:00
Nicolas Goaziou 3f40057adc org-export: Limit depth of headline collection to headline level
* contrib/lisp/org-export.el (org-export-collect-headlines): By
  default, limit depth of headline collection to last headline level.
* contrib/lisp/org-e-html.el (org-e-html-toc): Small refactoring.
2012-08-24 09:36:18 +02:00
Nicolas Goaziou 5b19471358 org-e-html: Fix TOC generation with a non numeric value
* contrib/lisp/org-e-html.el (org-e-html-toc): Accept non numeric
  values for depth.
(org-e-html-template): Call previous function even when depth isn't
a number.
(org-e-html-keyword): Call previous function even when depth isn't
a number.  Also react on #+HTML keywords, not #+LATEX.
2012-08-23 21:32:12 +02:00
Jonathan Leech-Pepin d4d29efb53 contrib/lisp/org-e-texinfo: Ensure valid export of escaped characters
and remove invalid characters from menu items

* contrib/lisp/org-e-texinfo.el (org-e-texinfo--sanitize-menu): Remove
  invalid characters from menu entries and nodes.
(org-e-texinfo--sanitize-contents): Ensure @ { and } are properly
escaped in text and headlines.
(org-e-texinfo--generate-menu-items): Strip invalid characters from
menu titles.
(org-e-texinfo-fixed-width): Escape @ { and } in fixed-width
environments.
(org-e-texinfo-headline): Ensure nodes do not have invalid characters
and escape @ { and } in section titles.
(org-e-texinfo-plain-text): Use proper escape character for @ { and }.
2012-08-23 10:51:47 -04:00