* lisp/ox-html.el (org-html--wrap-latex-environment): New function.
(org-html--math-environment-p): New function.
(org-html-latex-environment): Use `org-html--wrap-latex-environment' to
wrap equation in HTML container (non-MathJax modes). Make latex
environment unnumbered when compiling equations to images. Insert latex
label in environment in MathJax mode.
(org-html-link): Calculate equation number limiting counter to equation
environments. Use eqref for link when using MathJax
(org-html--make-unlabelled-latex-environment): New function.
* lisp/ox-publish.el (org-publish-file-relative-name): New function.
* lisp/ox-html.el (org-html-link): Use new function.
* testing/lisp/test-ox-publish.el (test-org-publish/file-relative-name):
New test.
* lisp/ox-html.el (org-html-src-block): Unless klipse is used, export
source code blocks as content of `pre' elements, and not as content of
`code' children of `pre' elements. Restores the previous way of
exporting source code blocks, and fixes the display of language
indicators while hovering over the blocks in the exported HTML file,
when klipse is not used.
(org-html-keep-old-src): Remove it. Not needed because it is now the
default, unless klipse is used.
* lisp/ox-org.el (org-org-publish-to-org):
* lisp/ox-html.el (org-html-htmlize-generate-css):
(org-html-fontify-code):
* lisp/org-agenda.el (org-agenda-write): Throw an error
requesting the user to install htmlize.el.
* doc/org.texi (Exporting agenda views, Literal examples):
Don’t assume htmlize.el is available.
You need to install it from https://github.com/hniksic/emacs-htmlize
See https://github.com/hniksic/emacs-htmlize/issues/7 for this issue.
* lisp/ox-html.el (org-html--build-meta-info): Use an invisible
character "‎" (left-to-right mark) in the HTML title tags
instead of removing the title altogether (invalid HTML) or setting
the content of title tag to nothing (invalid HTML).
Discussion:
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-08/msg00021.html>
* doc/org.texi : Change reference to "cdn.mathjax.org" to "cdnjs.com",
removing comment about no longer relevant terms of service.
* lisp/ox-html.el (org-html-mathjax-options) : Change link to
appropriate cdnjs.com link to load MathJax.
Updating MathJax CDN links to reflect cdnjs.com as cdn.mathjax.org
will be disconitnued as of 30 April 2017.
TINYCHANGE
* lisp/ox-html.el (html, org-html-template)
(org-html-src-block): Allow to display source code block using
the klipse javascript plugin.
Thanks to Nicolas Goaziou for reviewing the patch.
* lisp/ox-html.el (org-html-verse-block): Add missing line break at
the end of each line in verse environments.
Reported-by: Skip Collins <skip.collins@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/112537>
* lisp/ox-html.el (org-html-inline-src-block): Do not call
`org-html-format-code', which is meant to be used for source blocks
only.
Reported-by: Clément Pit--Claudel <clement.pit@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/108890>
* lisp/ox-html.el (org-html-paragraph): Move space after the figure
number within the "figure-number" class so it can be hidden if needed.
Small refactoring.
* lisp/ox-html.el (org-html-src-block): Number source block if it has
a caption. Numbering is done among source blocks with a caption,
only.
Suggested-by: Clément Pit--Claudel <clement.pit@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/108808>
* lisp/ox-html.el (org-html--svg-image): Set CSS class of embedded SVG
images to be org-svg if no other class is set in attributes.
org-html-style-default: Provide default properties for new CSS class.
* doc/org.texi (CSS support): Documentation of default CSS class
org-svg for SVG images embedded into exported HTML.
* lisp/org-compat.el (org-link-escape-browser): Make function an alias
for `url-encode-url'.
* lisp/org.el (org-link-escape-chars-browser): Remove variable.
(org-link-escape-browser): Remove function.
(org-open-at-point):
* lisp/ox-html.el (org-html-link): Use `url-encode-url'.
* testing/lisp/test-org.el(test-org/org-link-escape-chars-browser):
Remove test.
* lisp/org-element.el (org-element-example-block-parser): Use cons cell
for :number-lines specifying offset in addition to type (new/continue).
('continue . offset) for :number-lines will add this offset count to
the last line number. ('new . offset) for :number-lines will reset the
line number counting starting at offset
(org-element-src-block-parser): same for SRC block as EXAMPLE block
* lisp/ox-html.el (org-html-format-code):
* lisp/ox-latex.el (org-latex-src-block):
* lisp/ox-odt.el (org-odt-format-code):
* lisp/ox.el (org-export-resolve-coderef):
(org-export-get-loc):
(org-export-format-code-default):
* contrib/lisp/ox-groff.el (org-groff-src-block): Use new cons cell
for :number-lines.
* testing/lisp/test-ox.el (ert-deftest test-org-export/get-loc): Tests for
changes
(test-org-gen-loc-list): Helper function for `test-org-export/get-loc'.
* ox-html.el (org-html--build-pre/postamble): Find the spec based on the
language case-insensitively.
Note that the default org-html-preamble-format and
org-export-default-language are incompatible.
* ox-html.el (org-html-with-latex): Add dvisvgm support.
(org-html-with-latex): Add dvisvgm support.
(org-html-format-latex): "ltxpng" -> "ltximg".
(org-html-latex-environment): Add dvisvgm support.
(org-html-latex-fragment): Add dvisvgm support.
* org.el (org-preview-latex-default-process): New variable.
(org-latex-create-formula-image-program): Rename it to `org-preview-latex-default-process'.
(org-latex-preview-ltximg-directory): Rename it to `org-preview-latex-image-directory'.
(org-preview-latex-image-directory): New variable.
(org--format-latex-make-overlay): Add optional image-type, which used to deal with svg.
(org-toggle-latex-fragment): "org-ltxpng" -> "org-ltximg".
(org-format-latex): Add dvisvgm support.
(org-create-formula-image): Big refactor, merge dvipng and imagemagick
backend's feature. Add dvisvgm feature.
(org-preview-latex-process-alist): Add new variable, which used to set
latex preview processes.
(org-create-formula-image-with-dvipng):
(org-create-formula-image-with-imagemagick): Useless, removed.
* org.texi (@LaTeX{} fragments):
(Previewing @LaTeX{} fragments):
(Math formatting in HTML export):
(Working with @LaTeX{} math snippets): Add dvisvgm information.
* lisp/ox-html.el (org-html-style-default): Add languages.
The standard CSS for HTML export only supported a couple of
programming languages to have a language name "hover" on src
blocks. This patch adds all languages supported per Org
manual, those from org.el's org-babel-load-languages-alist,
additional language identifiers in ob-*.el and languages
which have a) an emacs mode and b) are supported by the LaTeX
listings package. Additional a language "conf" is supported
for generic configuraiton files; an emacs mode exists for
this, but for LaTeX listings a language " " has to be faked.
As this patch is for HTML, this is no impediment.
Thanks for reporting the missing support to Tianxian XIONG.
* lisp/ox-html.el (org-html--todo): Don't show nil in format string for
TODO class
Use empty string if :html-todo-kwd-class-prefix is not present.
TINYCHANGE
* lisp/ox-html.el (org-html-table-row-open-tag):
(org-html-table-row-close-tag): New variables.
(org-html-table-row-tags): Remove variable.
(org-html-table-row): Use new variables.
* lisp/org-compat.el (org-font-lock-ensure): Add new alias that accepts
the same number of arguments as font-lock-ensure does. Use an org-
prefix.
* lisp/org-clock.el (org-clock-get-clocktable):
* lisp/org.el (org-fontify-like-in-org-mode):
* lisp/ox-html.el (org-html-fontify-code):
* lisp/ox-odt.el (org-odt-do-format-code):
* lisp/ox-org.el (org-org-publish-to-org): Use org-font-lock-ensure.
See Emacs's bug#22399.
* lisp/org-element.el (org-element-export-block-parser):
(org-element--current-element): Use new syntax for export blocks.
(org-element-block-name-alist): Remove.
* lisp/ox.el (org-export-register-backend):
(org-export-define-derived-backend): Remove :export-block keyword from
back-end's definition.
(org-export-expand-include-keyword): Use new syntax for include
keywords.
* lisp/ox-ascii.el (ascii):
* lisp/ox-beamer.el (beamer):
* lisp/ox-html.el (html):
* lisp/ox-latex.el (latex):
(org-latex-prefer-user-labels):
* lisp/ox-man.el (man):
* lisp/ox-md.el (md):
* lisp/ox-odt.el (odt):
* lisp/ox-texinfo.el (texinfo): Propagate changes to "ox.el".
* lisp/ob-core.el (org-babel-insert-result):
* lisp/ob-haskell.el (org-babel-haskell-export-to-lhs): Use new syntax.
* lisp/org.el (org-structure-template-alist): Use new syntax.
(org-protecting-blocks): Add "export" to protected blocks. Remove
back-ends blocks, which are now special blocks.
(org-fontify-meta-lines-and-blocks-1): Fontify correctly new blocks.
* lisp/org-footnote.el (org-footnote-forbidden-blocks):
* lisp/org-list.el (org-list-forbidden-blocks): Add "export" to
forbidden blocks. Remove back-ends blocks, which are now special
blocks.
* contrib/lisp/ox-extra.el: Update comments.
* testing/lisp/test-org-element.el (test-org-element/export-block-parser):
(test-org-element/export-block-interpreter):
* testing/lisp/test-ob.el (test-ob/org-babel-remove-result--results-html):
(test-ob/org-babel-remove-result--results-latex):
* testing/lisp/test-ox.el (test-org-export/expand-include): Update tests.
Export blocks are explicitly marked as such at the syntax level to
disambiguate their parsing from special blocks. The new syntax is
#+BEGIN_EXPORT backend
...
#+END_EXPORT
instead of
#+BEGIN_backend
...
#+END_backend
As a consequence, =INCLUDE= keywords syntax is modified, e.g.,
#+INCLUDE: "file.org" HTML
becomes
#+INCLUDE: "file.org" export html
* lisp/ox-html.el (org-html-template): Add lang attribute to exported
html tag. Some features of the CSS Text Module (Level 3) require this
attribute to be present (for example, so that the browser knows how to
hyphenate the text). For more info, please take a look here:
https://drafts.csswg.org/css-text-3/#languages
TINYCHANGE
* lisp/ox-html.el: Remove superfluous whitespace from meta tags, put
there by `org-html--buld-meta-info' and `org-html--build-head'.
`org-html-close-tag' already inserts a space, so it is not necessary
to add another. Previously these affected tags would look like
<meta name="generator" content="Org-mode" />.
TINYCHANGE
Protect apostrophes not covered by the last backport. Convert
expressions like '(...) to \\='(...) and symbols written as 'name to
`name'. (In addition to ensuring the correct display, the latter also
improves consistency with many Org docstrings.)
If these aren't protected, Emacs 25 may display them as curved quotes in
the help buffer, depending on the value of text-quoting-style.
These changes are the combination of the commits below (in order
applied). Unlike other backports, these are applied in one commit
because they are closely related and because some of the later commits
reverse changes in earlier commits. Changes to message and help quote
display for Emacs 25 seem to be here to stay. The quote protections are
required to ensure grave accents and apostrophes are displayed as
intended in Emacs 25, and they should not affect earlier versions.
Quoting fixes in lisp/org
6cd2629bd1b3ce77d29ac28e29237c94a4197116
Paul Eggert
Mon Aug 31 00:29:40 2015 -0700
More-conservative ‘format’ quote restyling
fbb5531fa11d13854b274d28ccd329c9b6652cfc
Paul Eggert
Sun Aug 23 22:39:06 2015 -0700
Prefer directed to neutral quotes
875a5d0ead827d3da32ecbd30e739a29f07bbc87
Paul Eggert
Mon Aug 24 23:57:25 2015 -0700
Escape ` and ' in doc
19532d147b431a4fe34f088d6de07891c48e2c5c
Paul Eggert
Tue Sep 1 18:23:21 2015 -0700
Fix some more docstring etc. quoting problems
26bd978d87dfbf9baa115cd961a67d42b416c4bf
Paul Eggert
Thu Sep 3 15:32:54 2015 -0700
Go back to grave quoting in source-code docstrings etc.
6afef3f6ca2f3009c722b84e249903b7f807b044
Paul Eggert
Mon Sep 7 16:09:27 2015 -0700
* lisp/ox-html.el (org-html-link): Escape ampersands and other special
characters in anchor once and only once.
Reported-by: "Greedwolf DSS" <passchaos@163.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/100797>
* lisp/ox-html.el (org-html--html5-fancy-p): Renamed from
`org-html-html5-fancy-p'. Add docstring.
(org-html--wrap-image):
(org-html-template):
(org-html-toc):
(org-html-special-block): Apply renaming.
As an internal function, it should follow the convention of double
hyphens in its name.
* lisp/ox-html.el (org-html-html5-fancy-p): New function to check
that we are exporting to HTML5 and that the user has requested
fancy elements.
(org-html--wrap-image, org-html-template, org-html-toc)
(org-html-special-block): Use the new function.
* ox-html.el (org-html-fontify-code): Use local value of
org-html-htmlize-output-type parent and org-html-htmlize-font-prefix
parent.
Reported-by: Eric S Fraga <e.fraga@ucl.ac.uk>
<http://permalink.gmane.org/gmane.emacs.orgmode/99450>
* lisp/org-compat.el (org-number-sequence):
* lisp/org.el (org-remove-highlights-with-change)
(org-structure-template-alist):
* lisp/ox-html.el (org-html-link-org-files-as-html):
Fix minor quoting problems in doc strings, e.g., missing quote,
``x'' where `x' was meant, etc.
Fix minor quoting problems in doc strings
9d35bb8d6518bb913ab08bace2af08963c003177
Paul Eggert
Tue May 19 15:01:16 2015 -0700
* lisp/org-compat.el (org-font-lock-ensure): Remove in favor of
font-lock-ensure alias from dcbaebc.
Instead of org-font-lock-ensure alias introduced in dcbaebc ("Backport
commit 6711a21 from Emacs master branch", 2014-05-28), use
font-lock-ensure alias added in e6883dd ("org-compat: Provide
compatibility definition for font-lock-ensure", 2014-06-01).
* lisp/org-compat.el (org-font-lock-ensure): New function.
* lisp/ox-odt.el (org-odt-do-format-code):
* lisp/ox-html.el (org-html-fontify-code):
* lisp/org.el (org-fontify-like-in-org-mode):
* lisp/org-src.el (org-src-font-lock-fontify-block):
* lisp/org-clock.el (org-clock-get-clocktable): Use it.
* lisp/ox-org.el (org-org-publish-to-org):
Use it. Avoid using find-file from Elisp.
6711a21f1125c0047c56eb266eb374c1ec90a967
Stefan Monnier
Wed May 28 23:45:29 2014 -0400
* doc/org.texi (Dynamic blocks):
* lisp/org-archive.el (org-archive-subtree)
(org-archive-to-archive-sibling):
* lisp/org-clock.el (org-resolve-clocks, org-clock-get-sum-start)
(org-clock-special-range):
* lisp/org-timer.el (org-timer-seconds):
* lisp/org.el (org-read-date-analyze, org-get-cursor-date):
* lisp/ox-html.el (org-html-format-spec):
* lisp/ox-icalendar.el (org-icalendar--vtodo):
Omit unnecessary call to current-time.
* lisp/org.el (org-get-cursor-date):
Don't call current-time twice to get the current time stamp,
as this can lead to inconsistent results.
* lisp/org-compat.el (org-float-time):
Simplify to an alias because time-to-seconds now behaves like float-time
with respect to nil arg.
* lisp/org-clock.el (org-clock-get-table-data): Omit unnecessary, lossy
conversion from floating point to Emacs time and back.
(org-resolve-clocks): Prefer two-argument floor.
Simplify use of current-time and friends.
123ddec7f807f4bd7400bbbe08219afb02269c00
Paul Eggert
Tue Oct 28 18:42:51 2014 -0700
* ox-html.el (org-html-footnote-section): Wrap footnote definitions
content in a div rather than a p. p is a bad element to use for a
wrapper as it can neither contain other p elements nor tables.
(org-html-style-default): Change .footpara to inline display style.
Reported-by: OSiUX <xuiso@osiux.com.ar>
<http://permalink.gmane.org/gmane.emacs.orgmode/98984>
* lisp/ox-html.el (org-html-headline): Prefer raw CUSTOM_ID over
internal reference.
This is required for custom CSS and to link generated page from
outside Org. However, the user is responsible for not using forbidden
characters in its value.
* lisp/ox-publish.el (org-publish-collect-numbering):
(org-publish-resolve-external-fuzzy-link): Remove functions.
(org-publish--collect-references, org-publish-resolve-external-link):
New functions.
(org-publish-org-to): Use new functions.
* lisp/ox-html.el (org-html-link): Reflect changes above.
This patch extends `org-publish-resolve-external-fuzzy-link', now
known as `org-publish-resolve-external-link' to custom-id links and
dedicated targets.
* ox-html.el (org-html--build-meta-info): Insert viewport.
(org-html-viewport): New custom variable.
* ORG-NEWS: Mention viewport.
* org.texi: Mention org-html-viewport.
Viewport makes org-generated html work well with small screens.
* ox.el: Remove #+KEYWORD: and #+DESCRIPTION:.
* ox-deck.el, ox-rss.el, ox-html, ox-latex, ox-odt, ox-org: Add
#+KEYWORD and #+DESCRIPTION.
* org.texi (Export settings): Explicit state which backends
support #+DESCRIPTION and #+KEYWORDS.
* ox.el (org-export-with-title): New variable.
* ox (org-export-options-alist),
ox-ascii.el (org-ascii-template--document-title),
ox-beamer.el (org-beamer-template), ox-html.el (org-html-template),
ox-latex.el (org-latex-template), ox-man.el (org-man-template),
ox-odt.el (org-odt-template), ox-org.el (org-org-template),
ox-publish.el (org-publish-project-alist),
ox-texinfo.el (org-texinfo-template),
ox-groff.el (org-groff--mt-head): Use new variable.
* ox-koma-letter.el (org-koma-letter-use-title): Mark obsolete.
* test-ox.el (test-org-export/parse-option-keyword): Add :with-title.
* ORG-NEWS, org.texi: Mention org-export-with-title.
This is useful in e.g. ox-html where title can be set via
`org-html-preamble-template' or when using the {{{title}}}-macro.
* list/ox-html.el (org-html--priority): New function.
(org-html-format-headline-default-function): Call `org-html--priority'.
(org-html-style-default): Add `.priority'.
HTML export previously did not support exporting of priority simply by setting
`org-export-with-priority' to `t'.
TINYCHANGE
* lisp/ox-html.el (org-html-style-default): `.done' gets `font-family:
monospace;'
Other items on the headline that aren't the text itself are monospaced,
including non-DONE todo's.
TINYCHANGE
* lisp/org.el (org-translate-time): Remove function.
(org-timestamp-translate): Rewrite function so it doesn't use the one
above.
* lisp/ox-ascii.el (org-ascii-clock, org-ascii-planning):
* lisp/ox-html.el (org-html-clock, org-html-planning, org-html-timestamp):
* lisp/ox-latex.el (org-latex-clock, org-latex-planning):
* lisp/ox-texinfo.el (org-texinfo-clock, org-texinfo-planning): Use
`org-timestamp-translate' instead of `org-translate-time'.
* etc/ORG-NEWS: Document function removal.
Reported-by: Ian Barton <lists@wilkesley.net>
<http://permalink.gmane.org/gmane.emacs.orgmode/93127>
* lisp/ox-html.el (org-html-headline): Make sure even listified
headlines have proper anchors so internal links can refer to them.
Small refactoring.
Thanks to Bruce Gilstrap for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/90835
* contrib/lisp/ox-groff.el (org-groff-link):
* lisp/ox-beamer.el (org-beamer-link):
* lisp/ox-html.el (org-html-link):
* lisp/ox-latex.el (org-latex-link):
* lisp/ox-odt.el (org-odt-link): When radio link has no valid
target (e.g., this is a subtree export and the radio target is not
in the exported subtree), simply return contents.
Thanks to Daniel Clement for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/90218
* lisp/ox-html.el (org-html-paragraph): Do not wrap first paragraph in
an item within <p> tags in the most simple cases.
Thanks to Daniel Clemente for suggesting it.
http://permalink.gmane.org/gmane.emacs.orgmode/89413
* lisp/ox-html.el: Remove options.
* lisp/ox-icalendar.el: Remove options.
* lisp/ox-latex.el (org-latex-guess-inputenc, org-latex-compile,
org-latex--collect-warnings): Use full variable name instead of an
option.
* lisp/ox-man.el: Remove options.
* lisp/ox-odt.el: Remove options.
* lisp/ox-texinfo.el: Remove options.
* doc/org.texi (Publishing options): Update documentation accordingly.
These variables are meant to be used outside (or on the fringe) of the
export process, where information channel is not available.
remove
* lisp/ox-html.el (org-html-paragraph): Extend the special case of
inhibiting <p> wrappers to only perform such inhibition when *every*
element of the list is a single paragraph long. Otherwise unsightly
spacing results.
* org.el: Send a warning when org-loaddefs.el could not be
found in the directory where this org.el file is loaded from.
* ox-org.el (org-org-publish-to-org):
* ox-odt.el (org-odt-do-format-code):
* ox-html.el (org-html-fontify-code):
* org.el (org-fontify-like-in-org-mode):
* org-src.el (org-src-font-lock-fontify-block):
* org-clock.el (org-clock-get-clocktable): Use
`font-lock-ensure' instead of `font-lock-fontify-buffer'.
* org.el (org-outline-level, org-copy-subtree)
(org-sort-entries, orgstruct-setup, org-show-context)
(org-create-formula-image-with-dvipng)
(org-create-formula-image-with-imagemagick)
(org-goto-sibling, org-goto-first-child, org-show-entry): Use
`ignore-errors' instead of (condition-case nil ... (error nil)).
People trying to load org.el when org-loaddefs.el is not available
has been a major cause of trouble when installing Org. The warning
tells them what they need to do.
* lisp/ox-ascii.el:
* lisp/ox-beamer.el:
* lisp/ox-html.el:
* lisp/ox-latex.el:
* lisp/ox-man.el:
* lisp/ox-md.el:
* lisp/ox-odt.el:
* lisp/ox-org.el:
* lisp/ox-texinfo.el: All defcustoms are defined as options in the
back-end.
* lisp/ox-icalendar.el (icalendar): Ditto. Also rename :with-vtodo
property to :icalendar-include-todo.
* doc/org.texi (Publishing options): Update back-end specific
properties. Remove @vindex entries so as not to clobber variables
index.
This change allows to change default value for any defcustom on the
fly when publishing. It also normalizes how to choose and name what
variables to define as back-end options.
* lisp/ox-html.el (org-html-standalone-image-p): Ensure paragraph
contains at least a link before return a non-nil value. Clarify
docstring.
Thanks to Fabrice Popineau for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/86314
* ox-html.el (org-html-infojs-install-script): Don't install
infojs scripts when #+INFOJS_OPT: is empty.
Thanks to Diez B. Roggisch for reporting this.