Commit Graph

115 Commits

Author SHA1 Message Date
Nicolas Goaziou 7d3f7f60e0 Make inline image definition more configurable
* contrib/lisp/org-element.el (org-element-object-restrictions): Allow
  plain links in link description.
* contrib/lisp/org-export.el (org-export-default-inline-image-rule):
  New variable.
(org-export-inline-image-p): Use rules instead of extensions. A rule
is a regexp applied to path for a given type of link.  It allows to
extend inline images to non-local files.
* EXPERIMENTAL/org-e-latex.el (org-e-latex-inline-image-rules): New
  variable.
(org-e-latex-inline-image-extensions): Removed variable

There are two motivations behind this change.  The first one is to
allow, for example, an HTML exporter to define a rule like the
following:

 ("http" . "\\.\\(png\\|jpg\\|jpeg\\|gif\\)\\(\\?\\(\\w+=\\w+&?\\)*\\)?")

The other one is to properly define thumbnails (clickable images),
like the following:

  [[http://orgmode.org][file:~/my-logo.png]]
2012-02-16 20:14:31 +01:00
Nicolas Goaziou 432c3d60c6 Implement a cleaner way to install back-end specific filters in new exporter
* contrib/lisp/org-export.el (org-export-filters-alist): New variable.
(org-export-install-filters): New function.
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii-filters-alist): New variable.

Back-end specific filters can now be installed in communication
channel with `org-BACKEND-filters-alist' variable.
2012-02-13 13:51:22 +01:00
Nicolas Goaziou b5082974c8 Publishing system compatible with new export engine
* contrib/lisp/org-e-publish.el: New file.
* contrib/lisp/org-export.el (org-export-dispatch,
  org-export-dispatch-ui): Install publishing commands into dispatcher.
2012-02-12 23:00:33 +01:00
Nicolas Goaziou dfd7fb23d2 org-e-ascii: Less blank lines in document's title when no author is provided
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii-template--document-title):
  Less blank lines in document's title when no author is provided.
2012-02-12 22:08:44 +01:00
Nicolas Goaziou c804bef74b org-e-latex: Small refactoring
* EXPERIMENTAL/org-e-latex.el (org-e-latex-table--format-string):
  Small refactoring.
2012-02-08 23:26:02 +01:00
Nicolas Goaziou f4a568f06a org-e-latex: Allow formal "booktabs" display of tables
* EXPERIMENTAL/org-e-latex.el (org-e-latex-tables-booktabs): New
  variable.
(org-e-latex-table): Use special "booktabs" rules when previous
variable is non-nil or "booktabs=yes" attribute is provided.
2012-02-08 23:26:02 +01:00
Nicolas Goaziou 678de3fdf0 org-e-latex: Add creator info in hypersetup when it should be commented
* EXPERIMENTAL/org-e-latex.el (org-e-latex-template): Add creator info
  in hypersetup when it should be commented.
2012-02-07 08:20:27 +01:00
Nicolas Goaziou aac1c8b60d org-e-latex: Fix a docstring
* EXPERIMENTAL/org-e-latex.el (org-e-latex-classes): Fix a docstring.
2012-02-06 15:08:05 +01:00
Nicolas Goaziou 6eeca7f9cb org-e-latex: Fix some docstrings 2012-02-05 15:06:49 +01:00
Nicolas Goaziou 176b959c4f Handling of file inclusion through keywords is done before export
* contrib/lisp/org-element.el (org-element-map): Remove included file
  expansion part.
* contrib/lisp/org-export.el (org-export-as): Expand include keywords
  before executing blocks.
(org-export-expand-include-keyword, org-export-prepare-file-contents):
  New functions.
(org-export-included-file, org-export-parse-included-file): Removed
  functions.
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii-keyword): Remove include
  keyword handling.
* EXPERIMENTAL/org-e-latex.el (org-e-latex-keyword): Remove include
  keyword handling.

Back-ends do not need anymore to take care of #+include keywords.
This change is required since file inclusion can potentially break any
structure.  Hence, it should be done before parsing.
2012-02-05 12:57:50 +01:00
Nicolas Goaziou 42c96c4c26 org-export: Filters now require a third argument: the communication channel
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii-filter-headline-blank-lines):
  Apply signature change.
* contrib/lisp/org-export.el (org-export-filter-apply-functions): Call
  filter with the info channel as the third argument.
(org-export-data): Apply signature change
(org-export-filter-parse-tree-functions,
org-export-filter-final-output-functions,
org-export-filter-plain-text-functions,
org-export-filter-center-block-functions,
org-export-filter-drawer-functions,
org-export-filter-dynamic-block-functions,
org-export-filter-headline-functions,
org-export-filter-inlinetask-functions,
org-export-filter-plain-list-functions,
org-export-filter-item-functions, org-export-filter-comment-functions,
org-export-filter-comment-block-functions,
org-export-filter-example-block-functions,
org-export-filter-export-block-functions,
org-export-filter-fixed-width-functions,
org-export-filter-footnote-definition-functions,
org-export-filter-horizontal-rule-functions,
org-export-filter-keyword-functions,
org-export-filter-latex-environment-functions,
org-export-filter-babel-call-functions,
org-export-filter-paragraph-functions,
org-export-filter-property-drawer-functions,
org-export-filter-quote-block-functions,
org-export-filter-quote-section-functions,
org-export-filter-section-functions,
org-export-filter-special-block-functions,
org-export-filter-src-block-functions,
org-export-filter-table-functions,
org-export-filter-verse-block-functions,
org-export-filter-emphasis-functions,
org-export-filter-entity-functions,
org-export-filter-export-snippet-functions,
org-export-filter-footnote-reference-functions,
org-export-filter-inline-babel-call-functions,
org-export-filter-inline-src-block-functions,
org-export-filter-latex-fragment-functions,
org-export-filter-line-break-functions,
org-export-filter-link-functions, org-export-filter-macro-functions,
org-export-filter-radio-target-functions,
org-export-filter-statistics-cookie-functions,
org-export-filter-subscript-functions,
org-export-filter-superscript-functions,
org-export-filter-target-functions,
org-export-filter-time-stamp-functions,
org-export-filter-verbatim-functions): Update docstring.
2012-02-04 12:20:49 +01:00
Nicolas Goaziou ff19cf5728 org-e-ascii: Enforce a final new line in output
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii-template): Enforce a final
  new line in output.
2012-01-28 14:51:59 +01:00
Nicolas Goaziou bb61ae64a3 org-e-ascii: Make margin for quoted text configurable
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii-quote-margin): New
  variable.
(org-e-ascii--current-text-width, org-e-ascii-quote-block,
org-e-ascii-quote-section, org-e-ascii-verse-block): Use new variable.
2012-01-28 14:51:59 +01:00
Nicolas Goaziou 4d72201b30 org-e-ascii: Insert a title for footnote section
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii-dictionary): Add footnotes
  entry.
(org-e-ascii-template): Insert a title for footnote section.
2012-01-28 14:51:59 +01:00
Nicolas Goaziou d9970d1bd9 Implement limited headine numbering for e-latex and e-ascii back-ends
* contrib/lisp/org-export.el (org-export-with-section-numbers): Modify
  doc-string to document the changes.
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii--build-title): Implement
  limited headline numbering.
* EXPERIMENTAL/org-e-latex.el (org-e-latex-template): Implement
  limited headline numbering.
2012-01-27 14:49:32 +01:00
Nicolas Goaziou 674bb56857 org-e-latex: Change output for links without description pointing to an headline
* EXPERIMENTAL/org-e-latex.el (org-e-latex-link): Use ref command for
  a link pointing to an headline when headlines are numbered and no
  description is provided.
(org-e-latex-headline): Change automatic label for headlines.
2012-01-25 18:23:59 +01:00
Nicolas Goaziou c4fad02b06 org-e-latex: Fix an infloop with inline images
* EXPERIMENTAL/org-e-latex.el (org-e-latex-link--inline-image): Fix an
  infloop.
2012-01-25 13:18:28 +01:00
Nicolas Goaziou cb8847f6fe org-e-latex: Expand path when file name is absolute in an inline image
* EXPERIMENTAL/org-e-latex.el (org-e-latex-link): In links, expand
  path when file name is absolute.
2012-01-23 19:16:30 +01:00
Nicolas Goaziou 32afb61b87 org-e-latex: Fix variable shadowing
* EXPERIMENTAL/org-e-latex.el (org-e-latex-table--format-string): Now
  accept three arguments.
(org-e-latex-table--align-string, org-e-latex-table): Distinguish
between the communication channel (INFO) and informations about
table (TABLE-INFO).
2012-01-22 22:00:44 +01:00
Nicolas Goaziou 711d2ef0e0 org-element: Syntax change for caption
* contrib/lisp/org-element.el (org-element-dual-keywords): Move
  caption in the dual keywords category.
(org-element--affiliated-re): Change regexp matching a dual keyword.
(org-element-collect-affiliated-keywords): Dual parsed keywords also
  get their optional value parsed as a secondary string.
* EXPERIMENTAL/org-e-latex.el (org-e-latex--caption/label-string,
  org-e-latex-src-block): Apply caption status change.
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii--build-caption): Apply
  caption status change.
(org-e-ascii--list-listings, org-e-ascii--list-tables): Apply caption
  status change.  Also use short caption name when available.

The status change implies a syntax change.  Captions can now share
#+results: syntax, which mean that they can have a secondary
value. Thus, the following Org snippets are valid, the first two being
equivalent.

#+caption: long name
#+caption[]: long name
#+caption[short name]: long name
2012-01-22 21:34:00 +01:00
Nicolas Goaziou 58b509c091 ASCII back-end for new export engine
* EXPERIMENTAL/org-e-ascii.el: New file.
* contrib/lisp/org-export.el (org-export-dispatch): Reference E-ASCII
  back-end in dispatcher.
2012-01-21 20:40:15 +01:00
Nicolas Goaziou 96dc2b01ce org-e-latex: Silence byte-compiler 2012-01-21 16:51:15 +01:00
Nicolas Goaziou 3c4a0795df Fix some docstrings 2012-01-17 21:06:30 +01:00
Nicolas Goaziou ecfb12de19 New interactive export functions for 'e-latex back-end
* EXPERIMENTAL/org-e-latex.el (org-e-latex-export-to-latex,
  org-e-latex-export-to-pdf): New functions.
* contrib/lisp/org-export.el (org-export-dispatch): Make use of new
  functions.
2012-01-17 20:27:38 +01:00
Nicolas Goaziou 812d0a5375 org-e-latex: Fix customize group name and docstrings
* EXPERIMENTAL/org-e-latex.el (org-export-e-latex): Customize group,
  renamed from org-export-latex.
(org-e-latex-listings, org-e-latex-listings-options,
  org-e-latex-minted-options, org-e-latex-custom-lang-environments):
  Fix variable name in docstring.
2012-01-16 08:06:11 +01:00
Nicolas Goaziou 5e970e407a org-export: Add a new predicate to test if an headline is low level
* contrib/lisp/org-export.el (org-export-low-level-p): New function.
* EXPERIMENTAL/org-e-latex.el (org-e-latex-headline): Make use of new function.
2012-01-15 18:40:40 +01:00
Nicolas Goaziou 85588714ac org-e-latex: Apply changes to org-export-resolve-fuzzy-link
* EXPERIMENTAL/org-e-latex.el (org-e-latex-link): Apply changes to
  org-export-resolve-fuzzy-link.
2012-01-14 01:02:48 +01:00
Nicolas Goaziou cbc5aafe19 org-e-latex: Apply signature modification of functions
* EXPERIMENTAL/org-e-latex.el (org-e-latex-example-block,
  org-e-latex-src-block): Apply changes to `org-export-handle-code'.
(org-e-latex-link): Use new function `org-export-resolve-coderef'.
2012-01-11 16:52:08 +01:00
Nicolas Goaziou c15209c923 org-e-latex: Apply removal of :previous-element and :previous-object properties
* EXPERIMENTAL/org-e-latex.el (org-e-latex-footnote-reference,
  org-e-latex-headline): Use new functions for retrieving previous
  element.
2012-01-11 16:52:08 +01:00
Nicolas Goaziou 3010402b47 org-e-latex: Support for sections
* EXPERIMENTAL/org-e-latex.el (org-e-latex-section): New function
2012-01-08 12:50:29 +01:00
Nicolas Goaziou fc895b9574 org-e-latex: Apply changes to `:genealogy'
* EXPERIMENTAL/org-e-latex.el (org-e-latex-item,
  org-e-latex-link--inline-image): Apply changes to `:genealogy'.
2012-01-07 14:33:48 +01:00
Nicolas Goaziou 08bad014c7 EXPERIMENTAL/org-e-latex.el (org-e-latex-collect-errors): Small fix 2012-01-05 22:29:16 +01:00
Nicolas Goaziou 938f126511 EXPERIMENTAL/org-e-latex: Fix transcoding of example-block elements
* EXPERIMENTAL/org-e-latex.el (org-e-latex-example-block): Fix
transcoding.  Verbatim environment was omitted.
(org-e-latex-fixed-width): Whitespace cleanup.
2012-01-05 20:15:05 +01:00
Nicolas Goaziou 6d2a98552d EXPERIMENTAL/org-e-latex.el: Fix defcustom groups 2012-01-05 20:15:05 +01:00
Nicolas Goaziou 116dfdd2d5 EXPERIMENTAL/org-e-latex: Provide a canonical way to compile a .tex file
* EXPERIMENTAL/org-e-latex.el (org-e-latex-pdf-process,
(org-e-latex-logfiles-extensions, org-e-latex-remove-logfiles): New
variables.
(org-e-latex-compile, org-e-latex-collect-errors): New functions
2012-01-05 20:15:05 +01:00
Bastien Guerry e44d2975ff Fix copyright (to 2012) year and Org version (to 7.8.03). 2012-01-03 18:47:01 +01:00
Nicolas Goaziou d1019fea0d * EXPERIMENTAL/org-e-latex.el: Small documentation change 2011-12-23 16:34:20 +01:00
Nicolas Goaziou ed96338b21 EXPERIMENTAL/org-e-latex: Apply change of back-end's name
* EXPERIMENTAL/org-e-latex.el (org-e-latex--caption/label-string,
org-e-latex-template, org-e-latex-headline,
org-e-latex-inlinetask, org-e-latex-item, org-e-latex-keyword,
org-e-latex-link, org-e-latex-src-block, org-e-latex-table,
org-e-latex-verse-block): Apply change of back-end's name.
2011-12-23 16:30:06 +01:00
Nicolas Goaziou d7ba7d2e69 EXPERIMENTAL/org-e-latex: Use new footnote API
* EXPERIMENTAL/org-e-latex.el (org-e-latex-footnote-reference):
  Rewrite function to use new footnote API.
2011-12-23 16:24:14 +01:00
Nicolas Goaziou c3972265bb Modification to the type signature of `org-export-inline-image-p'
EXPERIMENTAL/org-e-latex.el (org-e-latex-link): Apply changes.
contrib/lisp/org-export.el (org-export-inline-image-p): Remove
description of the link as a required argument, since this function is
called with link contents anyway.
2011-12-20 18:50:59 +01:00
Bastien Guerry 8af710c41c Add a commentary: how to test org-e-latex.el. 2011-12-11 16:33:34 +01:00
Bastien Guerry df6b7be939 Rename EXPERIMENTAL/org-latex.el to EXPERIMENTAL/org-e-latex.el.
This prevents a namespace conflict with lisp/org-latex.el.  By
convention, new exporters in EXPERIMENTAL/ will share the org-e-*
prefix.
2011-12-11 16:23:09 +01:00
Nicolas Goaziou 4e36b533e0 Code indentation fix (tabify) 2011-12-11 11:20:11 +01:00
Bastien Guerry b5e15d6fbc Delete org-export.el, org-mw.el and org-mm.el.
org-export.el conflicts with contrib/lisp/org-export.el and the
two org-mw.el org-mm.el don't work without it.  A rewrite of these
experimental exporters using Nicolas' org-export.el is necessary.
2011-12-10 17:58:20 +01:00
Bastien Guerry 03066dab8b Revert "Rename EXPERIMENTAL/org-latex.el to EXPERIMENTAL/org-latex-old.el"
This reverts commit a75e29ca5b.
2011-12-10 17:38:36 +01:00
Bastien Guerry a75e29ca5b Rename EXPERIMENTAL/org-latex.el to EXPERIMENTAL/org-latex-old.el
This is necessary to prepare release 7.8.
2011-12-10 12:49:54 +01:00
Nicolas Goaziou da566e9fe2 EXPERIMENTAL/org-latex: Fix bug in table transcoding
* EXPERIMENTAL/org-latex.el (org-latex-table): Fix confusion between
  communication channel and table information plists.
2011-12-07 21:03:05 +01:00
Nicolas Goaziou 02c2648a01 EXPERIMENTAL/org-latex: Small refactoring.
* EXPERIMENTAL/org-latex.el (org-latex-footnote-reference): Small
  refactoring.
2011-11-29 21:37:15 +01:00
Nicolas Goaziou 0b51c3d6a9 EXPERIMENTAL/org-latex: LaTeX back-end for generic exporter
* EXPERIMENTAL/org-latex.el (org-latex-option-alist,
  org-latex-default-class, org-latex-classes
  org-latex-inputenc-alist, org-latex-date-format,
  org-latex-title-command, org-latex-format-headline-function, org-latex-emphasis-alist,
  org-latex-footnote-separator, org-latex-active-timestamp-format,
  org-latex-inactive-timestamp-format,
  org-latex-diary-timestamp-format, org-latex-image-default-option,
  org-latex-default-figure-position, org-latex-inline-image-extensions,
  org-latex-default-table-environment, org-latex-tables-centered,
  org-latex-tables-verbatim, org-latex-table-caption-above,
  org-latex-format-drawer-function,
  org-latex-format-inlinetask-function, org-latex-listings, org-latex-listings-langs,
  org-latex-listings-options, org-latex-minted-langs,
  org-latex-minted-options, org-latex-quotes,
  org-latex-custom-lang-environments): New variables.
(org-latex--caption/label-string, org-latex--guess-inputenc,
  org-latex--find-verb-separator, org-latex--make-option-string,
  org-latex--quotation-marks, org-latex--wrap-label,
  org-latex-template, org-latex-center-block, org-latex-drawer,
  org-latex-dynamic-block, org-latex-emphasis, org-latex-entity,
  org-latex-example-block, org-latex-export-snippet,
  org-latex-export-block, org-latex-fixed-width,
  org-latex-footnote-reference, org-latex-headline,
  org-latex-horizontal-rule, org-latex-inline-src-block,
  org-latex-inlinetask, org-latex-item, org-latex-keyword,
  org-latex-latex-environment, org-latex-latex-fragment,
  org-latex-line-break, org-latex-link--inline-image, org-latex-link,
  org-latex-macro, org-latex-paragraph, org-latex-plain-list,
  org-latex-plain-text, org-latex-property-drawer,
  org-latex-quote-block, org-latex-quote-section,
  org-latex-radio-target, org-latex-special-block,
  org-latex-src-block, org-latex-statistics-cookie,
  org-latex-subscript, org-latex-superscript,
  org-latex-table--format-string, org-latex-table--align-string,
  org-latex-table, org-latex-target, org-latex-time-stamp,
  org-latex-verbatim, org-latex-verse-block): New functions.
2011-11-28 23:38:25 +01:00
Bastien Guerry bdf9f96915 EXPERIMENTAL: Fix copyright. 2011-08-15 15:30:42 +02:00
Bastien Guerry abe4965ce8 * org-mw.el (org-mw-export-lists): Fix list export. 2011-08-14 16:39:31 +02:00
Bastien Guerry a90b876b93 New experimental exporter from Org to MoinMoin by Puneeth Chaganti.
Thanks to Puneeth Chaganti for this contribution!
2011-07-19 01:25:35 +02:00
Bastien Guerry c86a84828d EXPERIMENTAL/org-export.el: Delete redundant function.
`org-export-export-preprocess-string' was a dummy copy of
`org-export-preprocess-string', adapted for specific needs
of org-mw-export.  We now use `org-export-preprocess-string'
directly.  This requires a minor change in this latter function:
if :for-backend is not explicitely passed, then the let binding
of `org-export-current-backend' falls back on the previous value
of org-export-current-backend'.
2011-07-06 12:56:53 +02:00
Bastien Guerry 91b6f11a04 Rename experimental file org-mediawiki.el to org-mw.el.
This version also introduces many fixes.
2011-07-06 12:53:19 +02:00
Bastien Guerry 82e5e5346d Add EXPERIMENTAL/org-mediawiki.el 2010-11-11 17:42:56 +01:00
Bastien Guerry b63f5333e7 org-export.el: major improvement.
The use of this experimental export engine is illustrated by
org-mediawiki.el as found here:

http://lumiere.ens.fr/~guerry/u/org-mediawiki.el
2010-09-20 10:18:24 +02:00
Bastien Guerry 35c2b7b1c8 Deleted EXPERIMENTAL/find-links-to-local.el.
This was requested by Ethan <ethan.glasser.camp@gmail.com>.
2010-09-02 15:36:46 +02:00
Carsten Dominik 94cc1383ef Removed some old, no longer needed files. 2008-12-16 14:08:30 +01:00
Carsten Dominik e1165fd8f3 Added org-export.el to experimental, fixed a few bugs. 2008-06-25 10:13:50 +02:00
Carsten Dominik 60eba43cdf Attempt to implement dynamic indentation.
This only lead to a contributed file, this is neither robust nor fast.
But maybe throwing the existing code into a contrib file
will make someone come up with an idea.
2008-05-24 11:18:40 +02:00
Carsten Dominik b538898bf9 Added new file org-iq.el.
This file allows interactive tags query construction.
2008-03-05 23:48:55 +01:00
Carsten Dominik 5e14025496 Added a new experimental file.
In this file I will implement interactive modifications of tags/todo
queries.  This is code from Christopher League which still needs some
work before it will become either CONTRIB or even core.
2008-03-04 09:27:01 +01:00
Carsten Dominik 7a74a2102b Moved contributed files to CONTRIB directory 2008-02-03 08:16:02 +01:00
Carsten Dominik fb8d11720f Delete some unnecessary files. 2008-02-03 08:13:27 +01:00
Carsten Dominik 93c665b56d Intermediate state, I am just trying comiting now. 2008-01-31 16:04:26 +01:00