summaryrefslogtreecommitdiff
path: root/lisp/org/org-html.el
diff options
context:
space:
mode:
authorCarsten Dominik <carsten.dominik@gmail.com>2010-07-19 11:47:27 +0200
committerCarsten Dominik <carsten.dominik@gmail.com>2010-07-19 11:47:27 +0200
commit86fbb8cad9975f1ecca06c3b49b012e765c6c10f (patch)
treef0ff504280de25f8a65040ecdeff87ed8833a3d0 /lisp/org/org-html.el
parent00af0b67f8a98f8bc11465636eb85451151f5025 (diff)
downloademacs-86fbb8cad9975f1ecca06c3b49b012e765c6c10f.tar.gz
emacs-86fbb8cad9975f1ecca06c3b49b012e765c6c10f.tar.bz2
emacs-86fbb8cad9975f1ecca06c3b49b012e765c6c10f.zip
Install version 7.01 of Org-mode
2010-07-19 Eric Schulte <schulte.eric@gmail.com> * ob-C.el: New file. * ob-R.el: New file. * ob-asymptote.el: New file. * ob-clojure.el: New file. * ob-comint.el: New file. * ob-css.el: New file. * ob-ditaa.el: New file. * ob-dot.el: New file. * ob-emacs-lisp.el: New file. * ob-eval.el: New file. * ob-exp.el: New file. * ob-gnuplot.el: New file. * ob-haskell.el: New file. * ob-keys.el: New file. * ob-latex.el: New file. * ob-lob.el: New file. * ob-matlab.el: New file. * ob-mscgen.el: New file. * ob-ocaml.el: New file. * ob-octave.el: New file. * ob-perl.el: New file. * ob-python.el: New file. * ob-ref.el: New file. * ob-ruby.el: New file. * ob-sass.el: New file. * ob-screen.el: New file. * ob-sh.el: New file. * ob-sql.el: New file. * ob-sqlite.el: New file. * ob-table.el: New file. * ob-tangle.el: New file. * ob.el: New file. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-mks.el: New file. * org-capture.el: New file. 2010-07-19 Christian Egli <christian.egli@sbszh.ch> * org-taskjuggler.el: New file. 2010-07-19 Matt Lundin <mdl@imapmail.org> * org-agenda.el (org-search-view): Fixed inclusion of agenda-archives in org-agenda-text-search-extra-files. 2010-07-19 David Maus <dmaus@ictsoc.de> * org-list.el (org-list-send-list): Locally bind variable `txt'. 2010-07-19 Eric Schulte <schulte.eric@gmail.com> * org.el (org-reload): now also reloading babel files 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-capture.el (org-capture-set-plist): Make sure txt is a string before calling `string-match'. (org-capture-templates): Fix customization type. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-latex.el (org-export-latex-preprocess): Make a special case for \nbsp. (org-latex-entities): Remove the entry for \nbsp. (org-latex-entities-exceptions): Variable removed. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-capture.el (org-capture-refile): Do not try to manipulate bookmark list. * org.el (org-refile): Use the correct bookmark here. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-list.el (org-list-send-list): Parse list from its true beginning. * org.el (org-ctrl-c-ctrl-c): Maybe send the list when at a list item. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-insert-link): Correctly determine if we should use a relative path. 2010-07-19 Nicolas Goaziou <n.goaziou@gmail.com> * org-list.el (org-list-radio-list-templates): Fix templates. 2010-07-19 Nicolas Goaziou <n.goaziou@gmail.com> * org-list.el (org-list-send-list): regexp defining the start of a radio list is now on par with the one used for radio tables. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-entities.el (org-entities-help): Add a headline for the user-defined entities. 2010-07-19 Dirk-Jan C. Binnema <djcb.bulk@gmail.com> (tiny change) * org-agenda.el (org-agenda-action): Document capture key and add it to the prompt. 2010-07-19 Eric Schulte <schulte.eric@gmail.com> * org-latex.el (org-export-latex-listings-langs): added (sqlite "SQL") 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-latex.el (org-export-latex-first-lines): Do not mark meta lines for removal. Do not remove BABEL config lines during export 2010-07-19 David Maus <dmaus@ictsoc.de> * org-capture.el (org-capture): Check if `org-capture-link-is-already-stored' is bound before evaluating. 2010-07-19 Eric Schulte <schulte.eric@gmail.com> * org.el: added autoload for org-babel-do-load-languages 2010-07-19 Eric Schulte <schulte.eric@gmail.com> * org-src.el (org-src-lang-modes): added sqlite to sql-mode 2010-07-19 David Maus <dmaus@ictsoc.de> * org-feed.el: Change indentation to match coding style guideline. 2010-07-19 David Maus <dmaus@ictsoc.de> * org-feed.el (org-feed-unescape, org-feed-parse-atom-feed): Load XML library if necessary. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-beamer.el (org-beamer-amend-header): Standardize the header cookie for the beamer extra stuff. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-beamer.el (org-beamer-amend-header): Put extra header last in header. 2010-07-19 David Maus <dmaus@ictsoc.de> * org-exp-blocks.el (org-export-blocks-format-ditaa) (org-export-blocks-format-dot): Remove text properties of body before calculating cache hash. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-latex.el (org-export-latex-tabular-environment): New option. (org-export-latex-tables): Use `org-export-latex-tabular-environment'. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-compat.el (org-version-check): New function. * org-indent.el (org-indent-mode): Check for exact emacs version. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-capture.el (org-capture-templates): Allow the template to come from a file or function call. (org-capture-place-entry): Get the template from file or function. 2010-07-19 David Maus <dmaus@ictsoc.de> * org-agenda.el (org-agenda-bulk-action): Don't create marker for position if target is entire file. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-autoload): Autoload a few more org-table functions. 2010-07-19 Eric Schulte <schulte.eric@gmail.com> * org.el (org-babel-load-languages): adding ob-mscgen 2010-07-19 Eric Schulte <schulte.eric@gmail.com> * org-latex.el (org-export-latex-tables): format string now matches options 2010-07-19 Eric Schulte <schulte.eric@gmail.com> * org.el (org-babel-load-languages): this variable controls which languages will be loaded by org-babel. It is customizable through the customize interface. 2010-07-19 Eric Schulte <schulte.eric@gmail.com> * org-latex.el (org-export-latex-format-image): updated number of arguments to allow for an optional short-name 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-indent.el (org-indent-mode): Refuse to turn on prior to Emacs 23.2 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-capture.el (org-capture-set-target-location): Store exact positions for file+regexp and file+function targets. (org-capture-place-entry, org-capture-place-item) (org-capture-place-table-line, org-capture-place-plain-text): Respect exact positions. (org-capture-finalize): Make sure we are at the beginning of a line when fixing the empty lines after the entry. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-entry-get-with-inheritance): New argument LITERAL-NIL. (org-entry-get): Pass `literal-nil' into `org-entry-get-with-inheritance'. (org-todo): React to nil values of the LOGGING property. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-default-notes-file): Update docstring 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-link-frame-setup): Use `org-gnus-no-new-news' as default. 2010-07-19 Eric Schulte <schulte.eric@gmail.com> * org-exp.el (org-export-attach-captions-and-attributes): adding a shortname attribute to caption strings under the symbol name org-caption-shortn. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-switchb): Renamed from `org-iswitchb'. Improve docstring. (org-iswitchb): New alias. (org-ido-switchb): Make alias point to `org-switchb'. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-capture.el (org-capture-fill-template): Respect time-of-day preference in template prompt. 2010-07-19 David Maus <dmaus@ictsoc.de> * org-feed.el (org-feed-unescape): Remove superfluous lambda. 2010-07-19 David Maus <dmaus@ictsoc.de> * org-wl.el (org-wl-disable-folder-check): New customization variable. (org-wl-open): Disable folder check depending on `org-wl-disable-folder-check'. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-capture.el (org-capture-set-target-location): Fix file+function interpretation. 2010-07-19 David Maus <dmaus@ictsoc.de> * org-feed.el (org-feed-parse-rss-entry): Unescape rss element content. 2010-07-19 David Maus <dmaus@ictsoc.de> * org-feed.el (xml-entity-alist): Declare variable `xml-entity-alist' for byte compiler. 2010-07-19 David Maus <dmaus@ictsoc.de> * org-feed.el (org-feed-unescape): New function. Unescape protected entities. (org-feed-parse-atom-entry): Use function for atom:content type text and html. 2010-07-19 David Maus <dmaus@ictsoc.de> * org-feed.el (org-feed-parse-rss-feed): Ignore case of rss element names. 2010-07-19 Bernt Hansen <bernt@norang.ca> * org.el (org-time-string-to-absolute): Ignore cyclic repeater when displaying items on todays agenda date. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-agenda.el (org-agenda-get-progress): Avoid reusing previous value of EXTRA. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-publish.el (org-publish-initialize-cache): Make timestamp directory, the entire path to it. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-exp.el (org-export-handle-comments): Make sure to check for protection in the comment line, and not in the line after it. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-html.el (org-export-html-preprocess): Call org-format-latex, possibly with a protect-only argument. * org.el (org-format-latex): New argument PROTECT-ONLY. 2010-07-19 Eric Schulte <schulte.eric@gmail.com> * org-exp.el (org-export-handle-table-metalines): this function removes table specific meta-lines, now that we aren't wiping everything that looks remotely like a comment at the end of the export process we have to be sure to catch all of the specific lines in org-exp.el 2010-07-19 Nicolas Goaziou <n.goaziou@gmail.com> * org-exp.el: (org-export-select-backend-specific-text) Properly get rid of #+Backend and #+ATTR_Backend specifics to backends not matching the one we're exporting to. 2010-07-19 Eric Schulte <schulte.eric@gmail.com> * Makefile (lisp/org-install.el): replacing babel files in construction of org-install.el 2010-07-19 Eric Schulte <schulte.eric@gmail.com> * org-table.el (orgtbl-to-generic): added the :remove-newlines option which will strip newline characters from the text of table cells and replace then with "\n" 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-confirm-shell-link-function): (org-confirm-elisp-link-function): Limit the values that can be set by file variables. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-compute-latex-and-specials-regexp): Deal with string elements by discarding them. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-iswitchb): Make sure to use at least iswitchb. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-capture.el (org-capture-position-for-last-stored): org-capture-bookmark-last-stored-position): New functions. (org-capture-place-table-line): Better error catching. (org-capture-place-item): (org-capture-place-entry): (org-capture-place-plain-text): Call `org-capture-position-for-last-stored'. (org-capture-finalize): Just call `org-capture-bookmark-last-stored-position'. 2010-07-19 Eric Schulte <schulte.eric@gmail.com> * org-exp.el (org-export-mark-blockquote-verse-center): fixed small bug, now grabbing match data before overwritten by looking-at this fixes a problem with remainders of #+end_quote lines appearing in exported output 2010-07-19 David Maus <dmaus@ictsoc.de> * org.el (org-link-frame-setup): Add customization option for Wanderlust. 2010-07-19 Eric Schulte <schulte.eric@gmail.com> * org-latex.el (org-export-latex-fixed-width): now checking org-example rather than org-protected on verbatim export, because by default all ": " prefixed lines are marked protected 2010-07-19 Eric Schulte <schulte.eric@gmail.com> * org-latex.el (org-export-latex-fixed-width): check for protection before wrapping ": " lines as verbatim 2010-07-19 Eric Schulte <schulte.eric@gmail.com> * org-exp.el (org-export-handle-comments): check for protection before removing comments 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-entities.el (org-entities): Restructure the list. (org-entities-help): Turn the help output into a buffer in Org-mode, so that it becomes easier to find a symbol in the structure. (org-entities-create-table): Deal with new structure. 2010-07-19 David Maus <dmaus@ictsoc.de> * org-agenda.el (org-write-agenda): Use backquotes to expand `flet' at compile time. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-entry-properties): Make sure that standard property names are used even if the user has customized time keywords. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-macs.el (org-not-nil): Return the value if not interpreted as nil. * org.el (org-entry-get): (org-entry-get-with-inheritance): Interpret the value "nil" as nil for properties. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-switch-to-buffer-other-window): Return the buffer. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-macs.el (org-not-nil): New function. * org.el (org-block-todo-from-children-or-siblings-or-parent): Use `org-not-nil' to interpret a property value of nil. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-truely-invisible-p): New function. (org-beginning-of-line): Use `org-truely-invisible-p'. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-agenda.el (org-agenda-get-timestamps): No errors while getting TODO state. (org-agenda-highlight-todo): No error when no keyword has been matched. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-timestamp-change): New optional argument UPDOWN. Use this to identify calls from org-timestamp-up/down, so that we can skip by rounding minutes in this case. (org-timestamp-up): (org-timestamp-down): (org-timestamp-up-day): (org-timestamp-down-day): Call org-timestamp-change with the updown argument. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-agenda.el (org-agenda-action): Make `c' key call org-capture. * org-capture.el: New file. * org-compat.el (org-get-x-clipboard): Function moved here from remember.el. * org-mks.el: New file * org.el (org-set-regexps-and-options): Allow statistic cookies as part of complex headlines. (org-find-olp): New argument THIS-BUFFER. When set, assume that the OLP does not contain a file name. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-mode): Set `comment-start' instead of changing the syntax of the `#' character. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-exp.el (org-export-format-source-code-or-example): Mark examples by a property. o * org-html.el (org-export-html-close-lists-maybe): Check if raw HTML stuff was actually made from an example 2010-07-19 Eric Schulte <schulte.eric@gmail.com> * Makefile (LISPF): let's not compile files that won't often be used. 2010-07-19 Bastien Guerry <bzg@altern.org> * org-latex.el: items are no longer skipped when their first line ends on a protected element. * org-list.el: protected environments looking like lists are not exported anymore. 2010-07-19 Eric Schulte <schulte.eric@gmail.com> * org-exp-blocks.el (org-export-blocks-preprocess): cleanup trailing newline after block 2010-07-19 Bastien Guerry <bzg@altern.org> * org-exp.el: comment regexp now matches documentation. No more protection check when deleting comments before export. 2010-07-19 Bastien Guerry <bzg@altern.org> * org-exp.el (org-export-preprocess-string): now using `org-export-handle-include-files-recurse' to resolve included files 2010-07-19 Bastien Guerry <bzg@altern.org> * org-agenda.el (org-agenda-get-deadlines): (org-agenda-get-scheduled): * org.el (org-time-string-to-seconds): For deadline and scheduled agenda display ignore the cyclic repeater when calculating how many days late the task is. If you have a weekly task and miss the date the agenda view will show more than a week late now instead of resetting on the cyclic repeating date. This makes it much more obvious when you missed a repeating task after the repeater. 2010-07-19 Bastien Guerry <bzg@altern.org> * org-exp.el (org-export-mark-blockquote-verse-center): Consider environments that end at eob. 2010-07-19 Mikael Fornius <mfo@abc.se> * org.el (org-raise-scripts): Do not fontify sub/superscripts of text with face `org-special-keyword'. Makes property keys as :LAST_REPEAT: display correctly. 2010-07-19 Mikael Fornius <mfo@abc.se> * org.el (org-at-property-p): Use save-match-data macro instead of let. 2010-07-19 Mikael Fornius <mfo@abc.se> * org.el (test): Removed unused test function. 2010-07-19 Eric Schulte <schulte.eric@gmail.com> * org-exp-blocks.el (org-export-blocks-preprocess): fixed typo 2010-07-19 Eric Schulte <schulte.eric@gmail.com> * org-exp-blocks.el (org-export-blocks-postblock-hook): adding documentation to and turning into a defcustom 2010-07-19 Eric Schulte <schulte.eric@gmail.com> * org-exp.el (org-get-file-contents): by un-setting prefix1 to "" instead of to nil we avoid errors when :prefix1 is defined, but prefix is not. 2010-07-19 Nicolas Goaziou <n.goaziou@gmail.com> * org-latex.el (org-export-latex-preprocess): Environments coming from latex backend specific instructions (#+LaTeX) are already protected and won't be treated as normal environments. 2010-07-19 Bastien Guerry <bzg@altern.org> * org-timer.el (org-timer-set-timer): Fix typo in the docstring. 2010-07-19 Bastien Guerry <bzg@altern.org> * org-timer.el (org-timer-set-timer): Use a prefix argument. See the docstring of the function. 2010-07-19 Bastien Guerry <bzg@altern.org> * org-timer.el (org-timer-set-timer): Fix bug about cancelling timers. 2010-07-19 David Maus <dmaus@ictsoc.de> * org-w3m.el (org-w3m-copy-for-org-mode) (org-w3m-get-next-link-start, org-w3m-get-prev-link-start): Get text property directly, not using macro `w3m-anchor'. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-emph-re): Document the match groups. 2010-07-19 Bernt Hansen <bernt@norang.ca> * org-clock.el (org-clock-in): Set `org-clock-clocking-in' to t before calling `org-clock-out', so that that function can know its call context. 2010-07-19 Bastien Guerry <bzg@altern.org> * org-timer.el (org-timer-default-timer): New variable. (org-timer-set-timer): Use the new variable. Also offer the possibility to replace the current timer by a new one. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-kill-note-or-show-branches): Hide subtree before exposing the headings. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-add-planning-info): Remove the empty line also if there is no whitespace at all in there. * org-table.el (org-table-align): Fix alignment of strings with invisible characters. 2010-07-19 David Maus <dmaus@ictsoc.de> * org.el (org-refile-cache-get): Return empty list of targets when cache was cleared. (org-clone-subtree-with-time-shift): Maybe create ID property in cloned subtrees. (org-clone-delete-id): New customization variable. (org-clone-subtree-with-time-shift): Use customization variable `org-clone-delete-id'. (org-clone-subtree-with-time-shift): Remove empty property drawer in cloned subtrees. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-refile-use-cache): New option. (org-refile-cache, org-refile-markers): New variable. (org-refile-marker, org-refile-cache-clear) (org-refile-cache-check-set, org-refile-cache-put) (org-refile-cache-get): New function. (org-get-refile-targets): Use the refile cache. * org-clock.el (org-clock-sum): Don't include running clock if the time block is wrong. 2010-07-19 John Wiegley <jwiegley@gmail.com> * org-clock.el (org-clock-clock-in, org-clock-in): Added parameter `start-time'. (org-clock-resolve-clock): Added parameter `clock-out-time'. If set, and resolve-to is a past time, then the clock out event occurs at `clock-out-time' rather than at `resolve-to'. In this case, `resolve-to' becomes the clock in time. (org-clock-jump-to-current-clock): Created new global command to reveal the current clock. (org-clock-resolve): Added new commands g/G and j/J, and a help window describing all commands and their meaning. (org-clock-resolve-expert): New customization variable. (org-find-open-clocks): Fixed a bug that caused discovered clocks not to match up with the currently active clock. (org-resolve-clocks): Changed the argument `also-non-dangling-p' to `only-dangling-p', since due to a bug this was the default behavior all along. 2010-07-19 David Maus <dmaus@ictsoc.de> * org-id.el (org-id-uuid): New function. Return string with random (version 4) UUID. (org-id-method): Make 'uuid the new default value. (org-id-new): Use `org-id-uuid' if call to uuidgen program does not return a UUID. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-latex.el (org-export-latex-format-image): Add support for multicolumn figures in LaTeX. 2010-07-19 David Maus <dmaus@ictsoc.de> * org.el (org-clone-subtree-with-time-shift): Remove ID property of original subtree in cloned subtrees. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-exp.el (org-export-format-source-code-or-example): XEmacs compatibility. * org-latex.el (org-export-latex-tables): Accept comma in align string. * org-docbook.el (org-export-docbook-xslt-stylesheet): New option. (org-export-docbook-xslt-proc-command): Fix docstring. (org-export-docbook-xsl-fo-proc-command): Fix docstring. (org-export-as-docbook-pdf): Improve formatting of the xslt command. * org-exp.el (org-infile-export-plist): Check for XSLT setting. * org.el (org-file-contents): Improve error message. (org-set-regexps-and-options): Remove spaces at both ends. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-docbook.el (org-export-as-docbook-pdf): Improve formatting of the xslt command. 2010-07-19 Sebastian Rose <sebastian_rose@gmx.de> * org-publish.el (org-publish-cache): Use one big hashmap for each project defined in `org-publish-project-alist'. (initialize-files-alist): Function removed. (org-publish-validate-link): Function removed. (org-publish-get-base-files): Add variable `sitemap-requested' to avoid sorting where possible. (org-publish-get-files): Function removed. (org-publish-get-project-from-filename): Make independent of file list. (org-publish-file): New argument NO-CACHE. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-beginning-of-defun, org-end-of-defun): New functions. (org-mode): Install the `org-beginning-of-defun' and `org-end-of-defun' functions. (org-pretty-entities): New option. (org-toggle-pretty-entities): New command. (org-fontify-entities): New function. (org-startup-options): New keywords for pretty entities. (org-set-font-lock-defaults): Call the pretty entities function. * org-latex.el (org-export-latex-keywords-maybe): Protect the TODO markup. 2010-07-19 Mikael Fornius <mfo@abc.se> * org-habit.el (org-habit-build-graph): Help-echo date when mouse is over stars. 2010-07-19 Jan Böker <jan.boecker@jboecker.de> * org.el (org-file-apps): Improve docstring to reflect grouping matches 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-set-startup-visibility): Fix empty line display. * org-latex.el (org-export-latex-links): Use the formatting function of the link type, if it is available. * org-table.el (org-table-get-remote-range): Return to original buffer when retrieving remote reference. * org.el (org-display-inline-images): Do the entire buffer, not just the narrowed region. Clear the cache. (org-display-inline-images): Match mode file paths. 2010-07-19 David Maus <dmaus@ictsoc.de> * org-wl.el (org-wl-store-link-folder): Don't throw error when called on WL folder group. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-replace-escapes): Make sure the cdr is not nil. (org-read-date): Make `M-v' and `C-v' scroll the popup calendar. (org-mode): Revert comment syntax changes. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-sparse-tree): Make `C-c / t' search for all TODO keywords, and `C-c / T' for a specific one. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-mode): Fix comment syntax settings. * org-src.el (org-edit-src-allow-write-back-p): Define variable. * org.el (org-inline-image-overlays): New variable. (org-toggle-inline-images, org-display-inline-images) (org-remove-inline-images): New commands. (org-mode-map): Define a key for `org-toggle-inline-images'. 2010-07-19 David Maus <dmaus@ictsoc.de> * org-wl.el (org-wl-message-field): New function. Return content of header field in message entity. (org-wl-store-link): Call `org-wl-store-link-folder' or `org-wl-store-link-message' depending on major-mode. (org-wl-store-link-folder): New function. Store link to Wanderlust folder. (org-wl-store-link-message): New function. Store link to Wanderlust message. (org-wl-store-link-message): Store link to message while visiting message. (org-wl-open): Don't try to jump to message when opening a folder link. 2010-07-19 David Maus <dmaus@ictsoc.de> * org.el (org-replace-escapes): Avoid infinite loop when replace string contains escape sequence it replaces. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-crypt.el (org-crypt-key-for-heading): Use symmetric encryption when now key is set. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-table.el (org-table-recalculate-buffer-tables) (org-table-iterate-buffer-tables): New commands. * org.el (org-check-for-hidden): When there is a region, skip the check. 2010-07-19 Dan Davison <davison@stats.ox.ac.uk> * org-src.el (org-edit-src-code): allow-write-back-p had erroneously been omitted from let binding 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-agenda.el (org-sorting-choice): New sorting type alpha. (org-cmp-alpha): New defsubst. (org-em): New defsubst. (org-entries-lessp): Only compute needed comparisons. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-html.el (org-format-org-table-html): Test all columns for number content. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-latex.el (org-export-latex-treat-sub-super-char): Make sure parenthesis matching is consistent. * org-table.el (org-table-colgroup-line-p) (org-table-cookie-line-p): New functions. * org-exp.el (org-table-clean-before-export): Better tests for colgroup and cookie lines. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-agenda.el (org-agenda-goto): Push a mark before changing the position. * org-footnote.el (org-footnote): New group. (org-footnote-section) (org-footnote-tag-for-non-org-mode-files): Fix typos. * org-list.el (org-end-of-item-text-before-children): Also do the right thing at the end of a file. * org.el (org-set-packages-alist, org-get-packages-alist): New function. (org-export-latex-default-packages-alist) (org-export-latex-packages-alist): Add extra flag to each package, indicating if it should be used for snippets. (org-create-formula-image): Add the snippet argument. (org-splice-latex-header): New argument SNIPPET-P, pass it through to `org-latex-packages-to-string'. (org-latex-packages-to-string): New argument SNIPPET-P. * org-latex.el (org-export-latex-make-header): Add the snippet argument. * org-docbook.el (org-export-as-docbook): Implement ordered lists starting at some offset. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-link-types, org-open-at-point): Add doi links. * org-ascii.el (org-export-ascii-preprocess): Remove list startcounter cookies. * org-list.el (org-renumber-ordered-list): Respect counter start values. * org-latex.el (org-export-latex-lists): Accept ordered list item offset cookie. * org-html.el (org-export-as-html): Accept ordered list item offset cookie. * org-indent.el (org-indent-mode): Turn off `indent-tabs-mode' which messes up alignment of tags. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-clock.el (org-clock-cancel, org-clock-out): Make sure the modeline display is removed. * org-exp.el (org-export-format-drawer-function): Fix docstring. * org-agenda.el (org-agenda-refile): New optional argument NO-UPDATE. (org-agenda-refile): Call `org-agenda-redo' unless NO-UPDATE is set. (org-agenda-bulk-action): Call the refile command with updates suppressed - but arrange for `org-agenda-redo' to be called at the end. * org.el (org-mode): Make table mapping quiet. (org-table-map-tables): New optional argument QUIETLY. * org-ascii.el (org-export-ascii-preprocess): Make table mapping quiet. * org-html.el (org-export-as-html, org-html-level-start): Change XHTML IDs to not use dots. * org-exp.el (org-export-define-heading-targets): Change XHTML IDs to not use dots. * org-docbook.el (org-export-docbook-level-start): Change XHTML IDs to not use dots. * org-latex.el (org-export-as-latex): Make sure that the result buffer is in latex-mode. * org.el (org-shiftup-final-hook, org-shiftdown-final-hook) (org-shiftleft-final-hook, org-shiftright-final-hook): New hooks. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-table.el (org-table-justify-field-maybe): Make sure that inserting a value does not turn a line into a hline. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-clock.el (org-clock-sum): New argument HEADLINE-FILTER. (org-clock-sum): Add property to selected headlines. (org-dblock-write:clocktable): Make tags matcher. * org.el (org-set-autofill-regexps): XEmacs compatibility. * org-latex.el (org-export-latex-set-initial-vars): Allow "-" in latex class definitions * org.el (org-shiftup-hook, org-shiftdown-hook) (org-shiftleft-hook, org-shiftright-hook): New hooks. * org-entities.el (org-entities): Use \land and \lor for logical operators. * org.el (org-shiftmetaleft, org-shiftmetaright): Call the subtree indentation commands. (org-hidden-tree-error): New defsubst. (org-metaleft, org-metaright): Check for hidden stuff and throw an error. (org-check-for-hidden): New function. * org-list.el (org-item-re): New function. (org-at-item-p): Use `org-item-re'. (org-end-of-item-text-before-children): New function. (org-outdent-item, org-indent-item): Arrange for leaving the subtree alone. (org-outdent-item-tree, org-indent-item-tree): New argument NO-SUBTREE. (org-indent-item-tree): Use `org-end-of-item-text-before-children' to find the end for processing while ignoring the subtree. * org-publish.el (org-publish-sitemap-sort-alphabetically) (org-publish-sitemap-sort-folders) (org-publish-sitemap-sort-ignore-case): New options. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-publish.el (org-publish-compare-directory-files): Fix sorting. * org-compat.el (org-get-x-clipboard-compat): Use (featurep 'xemacs). * org-publish.el (org-publish-project-alist): Update docstring. (org-publish-file-title-cache): New variable. (org-publish-initialize-files-alist): Initialize `org-publish-initialize-files-alist' to nil. (org-publish-sort-directory-files): New function. (org-publish-projects): Access the new properties. (org-publish-find-title): Use the file title cache. (org-publish-find-title): Build the file title cache. (org-publish-get-base-files-1): Sort files. (org-publish-aux-preprocess): Do not throw an error when before the first headline. Allow an empty target, meaning to link just to the file. (org-publish-index-generate-theindex.inc): Check if there is actually a target and only then add it to the link. (org-publish-projects): Fix a remaining issue with the last commit * org-html.el (org-export-as-html): Treat verse as open/close paragraph. (org-export-html-close-lists-maybe): Allow to splice raw HTML into and out of lists. 2010-07-19 Dan Davison <davison@stats.ox.ac.uk> * org-src.el (org-edit-src-code): Allow the org-src edit buffer to be used in a read-only mode. (org-edit-src-code): Different message in read-only mode 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-src.el (org-edit-src-find-region-and-lang): Test for table.el as late as possible. * org-colview-xemacs.el: Make sure this file is never loaded into Emacs. Remove all tests for XEmacs. * org-colview.el: Make sure this file is never loaded into XEmacs. * org-agenda.el (org-highlight, org-unhighlight): Use direct overlay calls. * org.el (org-key): Apply the translations defined in `org-xemacs-key-equivalents'. * org-mouse.el (org-mode-hook): Use `org-defkey'. * org-compat.el (org-xemacs-key-equivalents): New constant. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-inlinetask.el (org-inlinetask-defaut-state): New option. (org-inlinetask-insert-task): Use `org-inlinetask-defaut-state'. Obey `org-odd-levels-only'. * org-compat.el (org-find-overlays): Use overlays-in/at. * org.el (org-remove-empty-overlays-at) (org-outline-overlay-data, org-hide-block-toggle) (org-format-latex, org-context): Use overlays-in/at. * org-src.el (org-edit-src-exit): Use overlays-in/at. * org-agenda.el (org-agenda-mark-clocking-task) (org-agenda-fontify-priorities, org-agenda-dim-blocked-tasks) (org-agenda-entry-text-hide) (org-agenda-fix-tags-filter-overlays-at) (org-agenda-bulk-remove-overlays): Use overlays-in/at. * org-compat.el (org-overlays-at): Function removed. (org-overlays-in): Function removed. 2010-07-19 Bastien Guerry <bzg@altern.org> * org-clock.el (org-clock-set-current): Just return the headline itself, strip the TODO keyword, the priority cookie and the tags. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-compat.el (org-xemacs-without-invisibility): New macro. (org-xemacs-without-invisibility): New macro. (org-indent-to-column, org-indent-line-to, org-move-to-column): Redefine using the macro `org-xemacs-without-invisibility'. * org.el (org-mode, org-org-menu): Use `add-to-invisibility-spec'. * org-table.el (orgtbl-mode): Use `add-to-invisibility-spec'. * org-compat.el (org-make-overlay, org-delete-overlay) (org-overlay-start, org-overlay-end, org-overlay-put) (org-overlay-get, org-overlay-move, org-overlay-buffer): Functions removed. (org-add-to-invisibility-spec): Function removed. * org-html.el (org-export-as-html-and-open): Add argument to kill-buffer. * org-habit.el (require): `calendar' is now required already by org.el on top level. * org-clock.el (require): `calendar' is now required already by org.el on top level. * org-agenda.el (require, org-timeline, org-agenda-list) (org-todo-list, org-agenda-to-appt): `calendar' is now required already by org.el on top level. * org.el (org-export-latex-fix-inputenc): Declare function. * org-agenda.el (org-agenda-goto-calendar): Do not bind obsolete variables. * org.el (calendar): Require calendar now on top level in org.el and define aliases to new variables when needed. (org-read-date, org-goto-calendar): Do not bind obsolete variables. * org-clock.el (org-clock-out, org-clock-cancel): Get rid of compilation warning, add comment that this cannot be done with `with-current-buffer'. * org-wl.el (org-wl-open): Use `with-current-buffer'. * org.el (overlay, org-remove-empty-overlays-at) (org-outline-overlay-data, org-set-outline-overlay-data) (org-show-block-all, org-hide-block-toggle) (org-highlight-new-match, org-remove-occur-highlights) (org-tags-overlay, org-fast-tag-selection, org-date-ovl) (org-read-date, org-read-date-display, org-eval-in-calendar) (org-format-latex, org-context) (org-speedbar-restriction-lock-overlay) (org-speedbar-set-agenda-restriction): Use the normal overlay API. * org-table.el (org-table-add-rectangle-overlay) (org-table-remove-rectangle-highlight) (org-table-overlay-coordinates) (org-table-toggle-coordinate-overlays): Use the normal overlay API. * org-src.el (org-edit-src-code, org-edit-fixed-width-region) (org-edit-src-exit, org-src-mode-configure-edit-buffer): Use the normal overlay API. * org-colview.el (org-columns-new-overlay) (org-columns-display-here, org-columns-remove-overlays) (org-columns-edit-value, org-columns-next-allowed-value) (org-columns-update): Use the normal overlay API. * org-clock.el (org-clock-out, org-clock-cancel) (org-clock-put-overlay, org-clock-remove-overlays): Use the normal overlay API. * org-agenda.el (org-agenda-mark-filtered-text) (org-agenda-mark-clocking-task, org-agenda-fontify-priorities) (org-agenda-dim-blocked-tasks, org-agenda-entry-text-show-here) (org-agenda-entry-text-hide) (org-agenda-restriction-lock-overlay) (org-agenda-set-restriction-lock) (org-agenda-filter-by-tag-hide-line) (org-agenda-fix-tags-filter-overlays-at) (org-agenda-filter-by-tag-show-all, org-hl) (org-agenda-goto-calendar, org-agenda-bulk-mark) (org-agenda-bulk-remove-overlays): Use the normal overlay API. * org-freemind.el (org-freemind-from-org-mode-node) (org-freemind-from-org-mode, ) (org-freemind-from-org-sparse-tree, org-freemind-to-org-mode): Use interactive-p instead of called-interactively, because this is backward compatible with older Emacsen I still support.. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-exp.el (org-export-define-heading-targets): Fix bug in regexp finding ID and CUSTOM_ID properties. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-footnote.el (org-footnote-goto-previous-reference): Renamed from `org-footnote-goto-next-reference'. * org.el (org-auto-repeat-maybe): Only record LAST_REPEAT if org-log-repeat is non-nil, or if there is clocking data in the entry. * org-crypt.el (org-encrypt-entry): Improve mapping behavior. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-align-all-tags): New command. 2010-07-19 David Maus <dmaus@ictsoc.de> * org-wl.el (org-wl-link-remove-filter): New customizable variable. If non-nil, filter conditions are stripped when storing link to message in filter folder. (org-wl-shimbun-prefer-web-links): New customizable variable. If non-nil, links to shimbun messages are created as web links to message source. (org-wl-nntp-prefer-web-links): New customizable variable. If non-nil, links to nntp message are created as web links to gmane or googlegroups. (org-wl-namazu-default-index): New customizable variable. Directory of namazu search index that should be used as default when opening a link in a search folder. (org-wl-folder-types): New constant. Wanderlust folder type indicators. (org-wl-folder-type): New function. Return type of Wanderlust folder. (org-wl-store-link): Create web links for shimbun or nntp messages and strip filter conditions depending on customizable variables. (org-wl-open): Open namazu search folder for message when called with prefix. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-remove-if, org-remove-if-not): New functions. (org-open-file): Use internal remove-if functions. 2010-07-19 Jan Böcker <jan.boecker@jboecker.de> * org.el (org-file-apps-entry-match-against-dlink-p): new function. (org-file-apps-ex): remove variable. (org-open-file): Integrate org-file-apps-ex functionality back into org-file-apps, and decide whether to match a regexp against the link or the filename using org-file-apps-entry-uses-grouping-p. 2010-07-19 Jan Böcker <jan.boecker@jboecker.de> * org.el (org-file-apps-ex): new variable. (org-open-file): Before considering org-file-apps, first match the regexps from org-file-apps-ex against the whole link. See docstring of org-file-apps-ex. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-export-latex-default-packages-alist): Remove microtype package. (org-todo-repeat-to-state): New variable. (org-auto-repeat-maybe): Allow user-selected target states. (org-default-properties): Add the new property REPEAT_TO_STATE. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org-mobile.el (org-mobile-check-setup): Make sure that there is a binary to compute checksums. 2010-07-19 Carsten Dominik <carsten.dominik@gmail.com> * org.texi: Add macros to get plain quotes in PDF output. List additional contributors. (Capture): New section, replaces the section about remember. (Working With Source Code): New chapter, focused on documenting Org Babel. (Code evaluation security): New section. (MobileOrg): Document DropBox support. (TaskJuggler export): Document taskjuggler and Gantt chart support. (Special symbols): Show how to display UTF8 characters for entities. (Global TODO list): Clarify the use of the "M" key and the differences to the "m" key. (RSS Feeds): Mention Atom feeds as well. (Setting tags): Remove paragraph about `org-complete-tags-always-offer-all-agenda-tags'.
Diffstat (limited to 'lisp/org/org-html.el')
-rw-r--r--lisp/org/org-html.el434
1 files changed, 300 insertions, 134 deletions
diff --git a/lisp/org/org-html.el b/lisp/org/org-html.el
index f891e5a85a5..e20b92147fc 100644
--- a/lisp/org/org-html.el
+++ b/lisp/org/org-html.el
@@ -6,7 +6,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
-;; Version: 6.35i
+;; Version: 7.01
;;
;; This file is part of GNU Emacs.
;;
@@ -26,7 +26,10 @@
;;
;;; Commentary:
+;;; Code:
+
(require 'org-exp)
+
(eval-when-compile (require 'cl))
(declare-function org-id-find-id-file "org-id" (id))
@@ -57,7 +60,7 @@ by the footnotes themselves."
:type 'string)
(defcustom org-export-html-coding-system nil
- "Coding system for HTML export, defaults to buffer-file-coding-system."
+ "Coding system for HTML export, defaults to `buffer-file-coding-system'."
:group 'org-export-html
:type 'coding-system)
@@ -81,7 +84,7 @@ and corresponding declarations."
(string :tag "Declaration")))))
(defcustom org-export-html-style-include-scripts t
- "Non-nil means include the javascript snippets in exported HTML files.
+ "Non-nil means include the JavaScript snippets in exported HTML files.
The actual script is defined in `org-export-html-scripts' and should
not be modified."
:group 'org-export-html
@@ -110,7 +113,7 @@ not be modified."
}
/*]]>*///-->
</script>"
-"Basic javascript that is needed by HTML files produced by Org-mode.")
+"Basic JavaScript that is needed by HTML files produced by Org-mode.")
(defconst org-export-html-style-default
"<style type=\"text/css\">
@@ -207,20 +210,20 @@ settings with <style>...</style> tags."
(put 'org-export-html-style-extra 'safe-local-variable 'stringp)
(defcustom org-export-html-tag-class-prefix ""
- "Prefix to clas names for TODO keywords.
+ "Prefix to class names for TODO keywords.
Each tag gets a class given by the tag itself, with this prefix.
The default prefix is empty because it is nice to just use the keyword
as a class name. But if you get into conflicts with other, existing
-CSS classes, then this prefic can be very useful."
+CSS classes, then this prefix can be very useful."
:group 'org-export-html
:type 'string)
(defcustom org-export-html-todo-kwd-class-prefix ""
- "Prefix to clas names for TODO keywords.
+ "Prefix to class names for TODO keywords.
Each TODO keyword gets a class given by the keyword itself, with this prefix.
The default prefix is empty because it is nice to just use the keyword
as a class name. But if you get into conflicts with other, existing
-CSS classes, then this prefic can be very useful."
+CSS classes, then this prefix can be very useful."
:group 'org-export-html
:type 'string)
@@ -235,10 +238,11 @@ CSS classes, then this prefic can be very useful."
|
<a accesskey=\"H\" href=\"%s\"> HOME </a>
</div>"
- "Snippet used to insert the HOME and UP links. This is a format,
-the first %s will receive the UP link, the second the HOME link.
-If both `org-export-html-link-up' and `org-export-html-link-home' are
-empty, the entire snippet will be ignored."
+ "Snippet used to insert the HOME and UP links.
+This is a format string, the first %s will receive the UP link,
+the second the HOME link. If both `org-export-html-link-up' and
+`org-export-html-link-home' are empty, the entire snippet will be
+ignored."
:group 'org-export-html
:type 'string)
@@ -340,7 +344,7 @@ When nil, also column one will use data tags."
:type 'boolean)
(defcustom org-export-html-validation-link nil
- "Non-nil means add validationlink to postamble of HTML exported files."
+ "Non-nil means add validation link to postamble of HTML exported files."
:group 'org-export-html
:type '(choice
(const :tag "Nothing" nil)
@@ -349,9 +353,10 @@ When nil, also column one will use data tags."
(defcustom org-export-html-with-timestamp nil
- "If non-nil, write `org-export-html-html-helper-timestamp'
-into the exported HTML text. Otherwise, the buffer will just be saved
-to a file."
+ "If non-nil, write timestamp into the exported HTML text.
+If non-nil Write `org-export-html-html-helper-timestamp' into the
+exported HTML text. Otherwise, the buffer will just be saved to
+a file."
:group 'org-export-html
:type 'boolean)
@@ -405,10 +410,10 @@ with a link to this URL."
;;; Variables, constants, and parameter plists
(defvar org-export-html-preamble nil
- "Preamble, to be inserted just before <body>. Set by publishing functions.
+ "Preamble, to be inserted just after <body>. Set by publishing functions.
This may also be a function, building and inserting the preamble.")
(defvar org-export-html-postamble nil
- "Preamble, to be inserted just after </body>. Set by publishing functions.
+ "Preamble, to be inserted just before </body>. Set by publishing functions.
This may also be a function, building and inserting the postamble.")
(defvar org-export-html-auto-preamble t
"Should default preamble be inserted? Set by publishing functions.")
@@ -426,14 +431,15 @@ This may also be a function, building and inserting the postamble.")
;;; HTML export
(defun org-export-html-preprocess (parameters)
- ;; Convert LaTeX fragments to images
+ "Convert LaTeX fragments to images."
(when (and org-current-export-file
(plist-get parameters :LaTeX-fragments))
(org-format-latex
(concat "ltxpng/" (file-name-sans-extension
(file-name-nondirectory
org-current-export-file)))
- org-current-export-dir nil "Creating LaTeX image %s"))
+ org-current-export-dir nil "Creating LaTeX image %s"
+ nil nil (eq (plist-get parameters :LaTeX-fragments) 'verbatim)))
(goto-char (point-min))
(let (label l1)
(while (re-search-forward "\\\\ref{\\([^{}\n]+\\)}" nil t)
@@ -455,11 +461,12 @@ headlines. The default is 3. Lower levels will become bulleted lists."
(org-export-as-html arg 'hidden)
(org-open-file buffer-file-name)
(when org-export-kill-product-buffer-when-displayed
- (kill-buffer)))
+ (kill-buffer (current-buffer))))
;;;###autoload
(defun org-export-as-html-batch ()
- "Call `org-export-as-html', may be used in batch processing as
+ "Call the function `org-export-as-html'.
+This function can be used in batch processing as:
emacs --batch
--load=$HOME/lib/emacs/org.el
--eval \"(setq org-export-headline-levels 2)\"
@@ -533,6 +540,131 @@ in a window. A non-interactive call will only return the buffer."
(defvar html-table-tag nil) ; dynamically scoped into this.
(defvar org-par-open nil)
+
+;;; org-html-cvt-link-fn
+(defconst org-html-cvt-link-fn
+ nil
+ "Function to convert link URLs to exportable URLs.
+Takes two arguments, TYPE and PATH.
+Returns exportable url as (TYPE PATH), or nil to signal that it
+didn't handle this case.
+Intended to be locally bound around a call to `org-export-as-html'." )
+
+(defun org-html-cvt-org-as-html (opt-plist type path)
+ "Convert an org filename to an equivalent html filename.
+If TYPE is not file, just return `nil'.
+See variable `org-export-html-link-org-files-as-html'"
+
+ (save-match-data
+ (and
+ org-export-html-link-org-files-as-html
+ (string= type "file")
+ (string-match "\\.org$" path)
+ (progn
+ (list
+ "http"
+ (concat
+ (substring path 0 (match-beginning 0))
+ "."
+ (plist-get opt-plist :html-extension)))))))
+
+
+;;; org-html-should-inline-p
+(defun org-html-should-inline-p (filename descp)
+ "Return non-nil if link FILENAME should be inlined.
+The decision to inline the FILENAME link is based on the current
+settings. DESCP is the boolean of whether there was a link
+description. See variables `org-export-html-inline-images' and
+`org-export-html-inline-image-extensions'."
+ (declare (special
+ org-export-html-inline-images
+ org-export-html-inline-image-extensions))
+ (or
+ (eq t org-export-html-inline-images)
+ (and
+ org-export-html-inline-images
+ (not descp)))
+ (org-file-image-p
+ filename org-export-html-inline-image-extensions))
+
+;;; org-html-make-link
+(defun org-html-make-link (opt-plist type path fragment desc attr
+ may-inline-p)
+ "Make an HTML link.
+OPT-PLIST is an options list.
+TYPE is the device-type of the link (THIS://foo.html)
+PATH is the path of the link (http://THIS#locationx)
+FRAGMENT is the fragment part of the link, if any (foo.html#THIS)
+DESC is the link description, if any.
+ATTR is a string of other attributes of the a element.
+MAY-INLINE-P allows inlining it as an image."
+
+ (declare (special org-par-open))
+ (save-match-data
+ (let* ((filename path)
+ ;;First pass. Just sanity stuff.
+ (components-1
+ (cond
+ ((string= type "file")
+ (list
+ type
+ ;;Substitute just if original path was absolute.
+ ;;(Otherwise path must remain relative)
+ (if (file-name-absolute-p path)
+ (expand-file-name path)
+ path)))
+ ((string= type "")
+ (list nil path))
+ (t (list type path))))
+
+ ;;Second pass. Components converted so they can refer
+ ;;to a remote site.
+ (components-2
+ (or
+ (and org-html-cvt-link-fn
+ (apply org-html-cvt-link-fn
+ opt-plist components-1))
+ (apply #'org-html-cvt-org-as-html
+ opt-plist components-1)
+ components-1))
+ (type (first components-2))
+ (thefile (second components-2)))
+
+
+ ;;Third pass. Build final link except for leading type
+ ;;spec.
+ (cond
+ ((or
+ (not type)
+ (string= type "http")
+ (string= type "https"))
+ (if fragment
+ (setq thefile (concat thefile "#" fragment))))
+
+ (t))
+
+ ;;Final URL-build, for all types.
+ (setq thefile
+ (let
+ ((str (org-export-html-format-href thefile)))
+ (if (and type (not (string= "file" type))
+ (org-string-match-p "^//" str))
+ (concat type ":" str)
+ str)))
+
+ (if (and
+ may-inline-p
+ ;;Can't inline a URL with a fragment.
+ (not fragment))
+ (progn
+ (message "image %s %s" thefile org-par-open)
+ (org-export-html-format-image thefile org-par-open))
+ (concat
+ "<a href=\"" thefile "\"" attr ">"
+ (org-export-html-format-desc desc)
+ "</a>")))))
+
+;;; org-export-as-html
;;;###autoload
(defun org-export-as-html (arg &optional hidden ext-plist
to-buffer body-only pub-dir)
@@ -710,7 +842,7 @@ PUB-DIR is set, use this as the publishing directory."
table-buffer table-orig-buffer
ind item-type starter didclose
rpl path attr desc descp desc1 desc2 link
- snumber fnc item-tag
+ snumber fnc item-tag initial-number
footnotes footref-seen
id-file href
)
@@ -789,7 +921,7 @@ lang=\"%s\" xml:lang=\"%s\">
"")
(or charset "iso-8859-1"))
language language
- (org-html-expand title)
+ title
(or charset "iso-8859-1")
date author description keywords
style
@@ -871,7 +1003,9 @@ lang=\"%s\" xml:lang=\"%s\">
t t line)))
(while (string-match "&lt;\\(&lt;\\)+\\|&gt;\\(&gt;\\)+" txt)
(setq txt (replace-match "" t t txt)))
- (setq href (format "sec-%s" snumber))
+ (setq href
+ (replace-regexp-in-string
+ "\\." "_" (format "sec-%s" snumber)))
(setq href (or (cdr (assoc href org-export-preferred-target-alist)) href))
(push
(format
@@ -959,10 +1093,12 @@ lang=\"%s\" xml:lang=\"%s\">
(when (equal "ORG-VERSE-START" line)
(org-close-par-maybe)
(insert "\n<p class=\"verse\">\n")
+ (setq org-par-open t)
(setq inverse t)
(throw 'nextline nil))
(when (equal "ORG-VERSE-END" line)
(insert "</p>\n")
+ (setq org-par-open nil)
(org-open-par)
(setq inverse nil)
(throw 'nextline nil))
@@ -1042,70 +1178,79 @@ lang=\"%s\" xml:lang=\"%s\">
desc2 (if (match-end 2) (concat type ":" path) path)
descp (and desc1 (not (equal desc1 desc2)))
desc (or desc1 desc2))
- ;; Make an image out of the description if that is so wanted
+ ;; Make an image out of the description if that is so wanted
(when (and descp (org-file-image-p
- desc org-export-html-inline-image-extensions))
- (save-match-data
- (if (string-match "^file:" desc)
- (setq desc (substring desc (match-end 0)))))
- (setq desc (org-add-props
+ desc org-export-html-inline-image-extensions))
+ (save-match-data
+ (if (string-match "^file:" desc)
+ (setq desc (substring desc (match-end 0)))))
+ (setq desc (org-add-props
(concat "<img src=\"" desc "\"/>")
'(org-protected t))))
- ;; FIXME: do we need to unescape here somewhere?
(cond
((equal type "internal")
- (setq rpl
- (concat
- "<a href=\""
- (if (= (string-to-char path) ?#) "" "#")
- (org-solidify-link-text
- (save-match-data (org-link-unescape path)) nil)
- "\"" attr ">"
- (org-export-html-format-desc desc)
- "</a>")))
+ (let
+ ((frag-0
+ (if (= (string-to-char path) ?#)
+ (substring path 1)
+ path)))
+ (setq rpl
+ (org-html-make-link
+ opt-plist
+ ""
+ ""
+ (org-solidify-link-text
+ (save-match-data (org-link-unescape frag-0))
+ nil)
+ desc attr nil))))
((and (equal type "id")
(setq id-file (org-id-find-id-file path)))
;; This is an id: link to another file (if it was the same file,
;; it would have become an internal link...)
(save-match-data
(setq id-file (file-relative-name
- id-file (file-name-directory org-current-export-file)))
- (setq id-file (concat (file-name-sans-extension id-file)
- "." html-extension))
- (setq rpl (concat "<a href=\"" id-file "#"
- (if (org-uuidgen-p path) "ID-")
- path "\""
- attr ">"
- (org-export-html-format-desc desc)
- "</a>"))))
+ id-file
+ (file-name-directory org-current-export-file)))
+ (setq rpl
+ (org-html-make-link opt-plist
+ "file" id-file
+ (concat (if (org-uuidgen-p path) "ID-") path)
+ desc
+ attr
+ nil))))
((member type '("http" "https"))
- ;; standard URL, just check if we need to inline an image
- (if (and (or (eq t org-export-html-inline-images)
- (and org-export-html-inline-images (not descp)))
- (org-file-image-p
- path org-export-html-inline-image-extensions))
- (setq rpl (org-export-html-format-image
- (concat type ":" path) org-par-open))
- (setq link (concat type ":" path))
- (setq rpl (concat "<a href=\""
- (org-export-html-format-href link)
- "\"" attr ">"
- (org-export-html-format-desc desc)
- "</a>"))))
+ ;; standard URL, can inline as image
+ (setq rpl
+ (org-html-make-link opt-plist
+ type path nil
+ desc
+ attr
+ (org-html-should-inline-p path descp))))
((member type '("ftp" "mailto" "news"))
- ;; standard URL
- (setq link (concat type ":" path))
- (setq rpl (concat "<a href=\""
- (org-export-html-format-href link)
- "\"" attr ">"
- (org-export-html-format-desc desc)
- "</a>")))
+ ;; standard URL, can't inline as image
+ (setq rpl
+ (org-html-make-link opt-plist
+ type path nil
+ desc
+ attr
+ nil)))
((string= type "coderef")
- (setq rpl (format "<a href=\"#coderef-%s\" class=\"coderef\" onmouseover=\"CodeHighlightOn(this, 'coderef-%s');\" onmouseout=\"CodeHighlightOff(this, 'coderef-%s');\">%s</a>"
- path path path
- (format (org-export-get-coderef-format path (and descp desc))
- (cdr (assoc path org-export-code-refs))))))
+ (let*
+ ((coderef-str (format "coderef-%s" path))
+ (attr-1
+ (format "class=\"coderef\" onmouseover=\"CodeHighlightOn(this, '%s');\" onmouseout=\"CodeHighlightOff(this, '%s');\""
+ coderef-str coderef-str)))
+ (setq rpl
+ (org-html-make-link opt-plist
+ type "" coderef-str
+ (format
+ (org-export-get-coderef-format
+ path
+ (and descp desc))
+ (cdr (assoc path org-export-code-refs)))
+ attr-1
+ nil))))
((functionp (setq fnc (nth 2 (assoc type org-link-protocols))))
;; The link protocol has a function for format the link
@@ -1114,52 +1259,55 @@ lang=\"%s\" xml:lang=\"%s\">
(funcall fnc (org-link-unescape path) desc1 'html))))
((string= type "file")
- ;; FILE link
- (let* ((filename path)
- (abs-p (file-name-absolute-p filename))
- thefile file-is-image-p search)
+ ;; FILE link
(save-match-data
- (if (string-match "::\\(.*\\)" filename)
- (setq search (match-string 1 filename)
- filename (replace-match "" t nil filename)))
- (setq valid
- (if (functionp link-validate)
- (funcall link-validate filename current-dir)
- t))
- (setq file-is-image-p
- (org-file-image-p
- filename org-export-html-inline-image-extensions))
- (setq thefile (if abs-p (expand-file-name filename) filename))
- (when (and org-export-html-link-org-files-as-html
- (string-match "\\.org$" thefile))
- (setq thefile (concat (substring thefile 0
- (match-beginning 0))
- "." html-extension))
- (if (and search
- ;; make sure this is can be used as target search
- (not (string-match "^[0-9]*$" search))
- (not (string-match "^\\*" search))
- (not (string-match "^/.*/$" search)))
- (setq thefile
- (concat thefile
- (if (= (string-to-char search) ?#) "" "#")
- (org-solidify-link-text
- (org-link-unescape search)))))
- (when (string-match "^file:" desc)
- (setq desc (replace-match "" t t desc))
- (if (string-match "\\.org$" desc)
- (setq desc (replace-match "" t t desc))))))
- (setq rpl (if (and file-is-image-p
- (or (eq t org-export-html-inline-images)
- (and org-export-html-inline-images
- (not descp))))
- (progn
- (message "image %s %s" thefile org-par-open)
- (org-export-html-format-image thefile org-par-open))
- (concat "<a href=\"" thefile "\"" attr ">"
- (org-export-html-format-desc desc)
- "</a>")))
- (if (not valid) (setq rpl desc))))
+ (let*
+ ((components
+ (if
+ (string-match "::\\(.*\\)" path)
+ (list
+ (replace-match "" t nil path)
+ (match-string 1 path))
+ (list path nil)))
+
+ ;;The proper path, without a fragment
+ (path-1
+ (first components))
+
+ ;;The raw fragment
+ (fragment-0
+ (second components))
+
+ ;;Check the fragment. If it can't be used as
+ ;;target fragment we'll pass nil instead.
+ (fragment-1
+ (if
+ (and fragment-0
+ (not (string-match "^[0-9]*$" fragment-0))
+ (not (string-match "^\\*" fragment-0))
+ (not (string-match "^/.*/$" fragment-0)))
+ (org-solidify-link-text
+ (org-link-unescape fragment-0))
+ nil))
+ (desc-2
+ ;;Description minus "file:" and ".org"
+ (if (string-match "^file:" desc)
+ (let
+ ((desc-1 (replace-match "" t t desc)))
+ (if (string-match "\\.org$" desc-1)
+ (replace-match "" t t desc-1)
+ desc-1))
+ desc)))
+
+ (setq rpl
+ (if
+ (and
+ (functionp link-validate)
+ (not (funcall link-validate path-1 current-dir)))
+ desc
+ (org-html-make-link opt-plist
+ "file" path-1 fragment-1 desc-2 attr
+ (org-html-should-inline-p path-1 descp)))))))
(t
;; just publish the path, as default
@@ -1280,7 +1428,11 @@ lang=\"%s\" xml:lang=\"%s\">
starter (if (match-beginning 2)
(substring (match-string 2 line) 0 -1))
line (substring line (match-beginning 5))
+ initial-number nil
item-tag nil)
+ (if (string-match "\\`\\[@start:\\([0-9]+\\)\\][ \t]?" line)
+ (setq initial-number (match-string 1 line)
+ line (replace-match "" t t line)))
(if (and starter (string-match "\\(.*?\\) ::[ \t]*" line))
(setq item-type "d"
item-tag (match-string 1 line)
@@ -1305,11 +1457,15 @@ lang=\"%s\" xml:lang=\"%s\">
((and starter
(or (not in-local-list)
(> ind (car local-list-indent))))
+ ;; check for a specified start number
;; Start new (level of) list
(org-close-par-maybe)
(insert (cond
((equal item-type "u") "<ul>\n<li>\n")
- ((equal item-type "o") "<ol>\n<li>\n")
+ ((equal item-type "o")
+ (if initial-number
+ (format "<ol start=%s>\n<li>\n" initial-number)
+ "<ol>\n<li>\n"))
((equal item-type "d")
(format "<dl>\n<dt>%s</dt><dd>\n" item-tag))))
(push item-type local-list-type)
@@ -1621,7 +1777,7 @@ lang=\"%s\" xml:lang=\"%s\">
(lambda (x) (string-match "^[ \t]*|-" x))
(cdr lines)))))
- (nline 0) fnum i
+ (nline 0) fnum nfields i
tbopen line fields html gr colgropen rowstart rowend)
(setq caption (and caption (org-html-do-expand caption)))
(if splice (setq head nil))
@@ -1639,7 +1795,8 @@ lang=\"%s\" xml:lang=\"%s\">
(throw 'next-line t)))
;; Break the line into fields
(setq fields (org-split-string line "[ \t]*|[ \t]*"))
- (unless fnum (setq fnum (make-vector (length fields) 0)))
+ (unless fnum (setq fnum (make-vector (length fields) 0)
+ nfields (length fnum)))
(setq nline (1+ nline) i -1
rowstart (eval (car org-export-table-row-tags))
rowend (eval (cdr org-export-table-row-tags)))
@@ -1647,7 +1804,7 @@ lang=\"%s\" xml:lang=\"%s\">
(mapconcat
(lambda (x)
(setq i (1+ i))
- (if (and (< i nline)
+ (if (and (< i nfields) ; make sure no rogue line causes an error here
(string-match org-table-number-regexp x))
(incf (aref fnum i)))
(cond
@@ -1867,7 +2024,7 @@ that uses these same face definitions."
(goto-char (point-min)))
(defun org-html-protect (s)
- ;; convert & to &amp;, < to &lt; and > to &gt;
+ "convert & to &amp;, < to &lt; and > to &gt;"
(let ((start 0))
(while (string-match "&" s start)
(setq s (replace-match "&amp;" t t s)
@@ -1882,7 +2039,7 @@ that uses these same face definitions."
s)
(defun org-html-expand (string)
- "Prepare STRING for HTML export. Applies all active conversions.
+ "Prepare STRING for HTML export. Apply all active conversions.
If there are links in the string, don't modify these."
(let* ((re (concat org-bracket-link-regexp "\\|"
(org-re "[ \t]+\\(:[[:alnum:]_@:]+:\\)[ \t]*$")))
@@ -1996,10 +2153,18 @@ If there are links in the string, don't modify these."
(defvar local-list-indent)
(defvar local-list-type)
(defun org-export-html-close-lists-maybe (line)
- (let ((ind (or (get-text-property 0 'original-indentation line)))
-; (and (string-match "\\S-" line)
-; (org-get-indentation line))))
- didclose)
+ "Close local lists based on the original indentation of the line."
+ (let* ((rawhtml (and in-local-list
+ (get-text-property 0 'org-protected line)
+ (not (get-text-property 0 'org-example line))))
+ ;; rawhtml means: This was between #+begin_html..#+end_html
+ ;; originally, thus it excludes stuff that was a source code example
+ ;; Actually, this code seems wrong, I don't know why it works, but
+ ;; it seems to work.... So keep it like this for now.
+ (ind (if rawhtml
+ (org-get-indentation line)
+ (get-text-property 0 'original-indentation line)))
+ didclose)
(when ind
(while (and in-local-list
(<= ind (car local-list-indent)))
@@ -2023,7 +2188,7 @@ When TITLE is nil, just close all open levels."
(cdr (assoc target org-export-preferred-target-alist))))
(remove (or preferred target))
(l org-level-max)
- snumber href suffix)
+ snumber snu href suffix)
(setq extra-targets (remove remove extra-targets))
(setq extra-targets
(mapconcat (lambda (x)
@@ -2072,7 +2237,8 @@ When TITLE is nil, just close all open levels."
extra-targets title "<br/>\n")
(insert "<ul>\n<li>" title "<br/>\n"))))
(aset org-levels-open (1- level) t)
- (setq snumber (org-section-number level))
+ (setq snumber (org-section-number level)
+ snu (replace-regexp-in-string "\\." "_" snumber))
(setq level (+ level org-export-html-toplevel-hlevel -1))
(if (and org-export-with-section-numbers (not body-only))
(setq title (concat
@@ -2080,9 +2246,9 @@ When TITLE is nil, just close all open levels."
level snumber)
" " title)))
(unless (= head-count 1) (insert "\n</div>\n"))
- (setq href (cdr (assoc (concat "sec-" snumber) org-export-preferred-target-alist)))
- (setq suffix (or href snumber))
- (setq href (or href (concat "sec-" snumber)))
+ (setq href (cdr (assoc (concat "sec-" snu) org-export-preferred-target-alist)))
+ (setq suffix (or href snu))
+ (setq href (or href (concat "sec-" snu)))
(insert (format "\n<div id=\"outline-container-%s\" class=\"outline-%d%s\">\n<h%d id=\"%s\">%s%s</h%d>\n<div class=\"outline-text-%d\" id=\"text-%s\">\n"
suffix level (if extra-class (concat " " extra-class) "")
level href