update: add pandoc
version v1.19.2.1
#2234
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.17.0.2
->1.19.2.1
Release Notes
jgm/pandoc (pandoc)
v1.19.2.1
Compare Source
v1.19.2
Compare Source
This is needed for dependency version numbers to be available,
with Cabal > 2.
v1.19.1
Compare Source
Set
PANDOC_VERSION
environment variable for filters (#2640).This allows filters to check the pandoc version that produced
the JSON they are receiving.
Docx reader: Ensure one-row tables don't have header (#3285,
Jesse Rosenthal). Tables in MS Word are set by default to have
special first-row formatting, which pandoc uses to determine whether
or not they have a header. This means that one-row tables will, by
default, have only a header -- which we imagine is not what people
want. This change ensures that a one-row table is not understood to
be a header only. Note that this means that it is impossible to
produce a header-only table from docx, even though it is legal
pandoc. But we believe that in nearly all cases, it will be an
accidental (and unwelcome) result
HTML reader:
This regression leads to the introduction of empty rows
in some circumstances.
style=width:
as well aswidth
incol
(#3286).RST reader:
Print warnings when keys, substitition, notes not found.
Previously the parsers failed and we got raw text. Now we get a
link with an empty URL, or empty inlines in the case of a note or
substitution.
Fix hyperlink aliases (#3283).
Man writer: Ensure that periods are escaped at beginning of line
(#3270).
LaTeX writer: Fix unnumbered headers when used with
--top-level
(#3272, Albert Krewinkel). Fix interaction of top-level
divisions
part
orchapter
with unnumbered headers whenemitting LaTeX. Headers are ensured to be written using
stared commands (like
\subsection*{}
).LaTeX template: use comma not semicolon to separate keywords for
pdfkeywords
. Thanks to Wandmalfarbe.Markdown writer: Fixed incorrect word wrapping (#3277).
Previously pandoc would sometimes wrap lines too early due to
this bug.
Text.Pandoc.Pretty: Added
afterBreak
[API change]. This makes itpossible to insert escape codes for content that needs escaping at the
beginning of a line.
Removed old MathMLInHTML.js from 2004, which should no longer
be needed for MathML with modern browsers.
Fixed tests with dynamic linking (#2709).
Makefile: Use stack instead of cabal for targets. This is just
a convenience for developers.
Fixed bash completion of filenames with space (#2749).
MANUAL: improved documentation on how to create a custom
reference.docx
.Fix minor spelling typos in the manual (#3273, Anthony Geoghegan)
v1.19
Compare Source
This is needed for dependency version numbers to be available,
with Cabal > 2.
v1.18
Compare Source
Added
--list-input-formats
,--list-output-formats
,--list-extensions
,--list-highlight-languages
, and--list-highlight-styles
(#3173). Removed list of highlightinglanguages from
--version
output. Removed list of input and outputformats from default
--help
output.Added
--reference-location=block|section|document
option(Jesse Rosenthal). This determines whether Markdown link references
and footnotes are placed at the end of the document, the end of the
section, or the end of the top-level block.
Added
--top-level-division=section|chapter|part
(Albert Krewinkel).This determines what a level-1 header corresponds to in LaTeX,
ConTeXt, DocBook, and TEI output. The default is
section
.The
--chapters
option has been deprecated in favor of--top-level-division=chapter
.Added
LineBlock
constructor forBlock
(Albert Krewinkel). Thisis now used in parsing RST and Markdown line blocks, DocBook
linegroup
/line
combinations, and Org-modeVERSE
blocks.Previously
Para
blocks with hard linebreaks were used.LineBlock
sare handled specially in the following output formats: AsciiDoc
(as
[verse]
blocks), ConTeXt (\startlines
/\endlines
),HTML (
div
with a style), Markdown (line blocks ifline_blocks
is enabled), Org-mode (
VERSE
blocks), RST (line blocks). Inother output formats, a paragraph with hard linebreaks is emitted.
Allow binary formats to be written to stdout (but not to tty) (#2677).
Only works on posix, since we use the unix library to check whether
output is to tty. On Windows, pandoc works as before and always requires
an output file parameter for binary formats.
Changed JSON output format (Jesse Rosenthal). Previously we used
generically generated JSON, but this was subject to change depending
on the version of aeson pandoc was compiled with. To ensure stability,
we switched to using manually written ToJSON and FromJSON
instances, and encoding the API version. Note: pandoc filter
libraries will need to be revised to handle the format change.
Here is a summary of the essential changes:
{"pandoc-api-version" : [MAJ, MIN, REV], "meta" : META, "blocks": BLOCKS}
instead of
[{"unMeta": META}, [BLOCKS]]
.Decoding fails if the major and minor version numbers don't
match.
Thus, for example, a
Space
is encoded as{"t":"Space"}
rather than
{"t":"Space","c":[]}
as before.Removed
tests/Tests/Arbitrary.hs
and added aText.Pandoc.Arbitrary
module to pandoc-types (Jesse Rosenthal). This makes it easier
to use QuickCheck with pandoc types outside of pandoc itself.
Add
bracketed_spans
Markdown extension, enabled by defaultin pandoc
markdown
. This allows you to create a native spanusing this syntax:
[Here is my span]{#id .class key="val"}
.Added
angle_brackets_escapable
Markdown extension (#2846).This is needed because github flavored Markdown has a slightly
different set of escapable symbols than original Markdown;
it includes angle brackets.
Export
Text.Pandoc.Error
inText.Pandoc
[API change].Print highlighting-kate version in
--version
.Text.Pandoc.Options
:Extension
has new constructorsExt_brackted_spans
andExt_angle_brackets_escapable
[API change].ReferenceLocation
type [API change] (Jesse Rosenthal).writerReferenceLocation
field toWriterOptions
(JesseRosenthal).
--filter
: we now check$DATADIR/filters
for filters beforelooking in the path (#3127, Jesse Rosenthal, thanks to Jakob
Voß for the idea). Filters placed in this directory need not
be executable; if the extension is
.hs
,.php
,.pl
,.js
,or
.rb
, pandoc will run the right interpreter.For
--webtex
, replace deprecated Google Chart API by CodeCogs asdefault (Kolen Cheung).
Removed
raw_tex
extension frommarkdown_mmd
defaults (Kolen Cheung).Execute .js filters with node (Jakob Voß).
Textile reader:
bc..
extended code blocks (#3037). Also, remove trailingnewline in code blocks (consistently with Markdown reader).
by skipping them. However, alignments are now handled properly.
Since in pandoc alignment is per-column, not per-cell, we
try to devine column alignments from cell alignments.
Table captions are also now parsed, and textile indicators
for thead and tfoot no longer cause parse failure. (However,
a row designated as tfoot will just be a regular row in pandoc.)
(which we concatenate with linebreaks). An exponential parsing
bug (#3020) is also fixed.
RST reader:
The Div has class
admonition
and (if relevant) one of thefollowing:
attention
,caution
,danger
,error
,hint
,important
,note
,tip
,warning
. Note: This will changethe rendering of some RST documents! The word ("Warning", "Attention",
etc.) is no longer added; that must be done with CSS or a filter.
sidebar
as well.space before a footnote marker. We discard those spaces so that footnotes
will be adjacent to the text that comes before it. This is in line with
what rst2latex does.
Markdown reader:
LaTeX reader:
We no longer fail on things like
^
inside options for tikz.^
outside of math.Some custom environments give these a meaning, so we should try not to
fall over when we encounter them.
*
in bibtexKeyChars (Albert Krewinkel)MediaWiki reader:
Previously an unquoted attribute value in a table row
could cause parsing problems.
Previously these yielded strings of alternating Code and Space
elements; we now incorporate the spaces into the Code. Emphasis
etc. is still possible inside these.
to be interpreted as literal text.
EPUB reader: don't add root path to data: URIs (#3150).
Thanks to @lep for the bug report and patch.
Org reader (Albert Krewinkel):
lines are converted to non-breaking spaces, so indentation is preserved.
images, image links, or figures, must be proper URIs or relative file
paths to be recognized as images. This restriction is now enforced
for all image sources. This also fixes the reader's usage of uncleaned
image sources, leading to
file:
prefixes not being deleted fromfigure images. Thanks to @bsag for noticing this bug.
separable from other block parsing tasks. Moving into new module to
get small files and clearly arranged code.
as normal string values, only a few are interpreted as marked-up text.
specified in the
#+AUTHOR
meta line if they are given as acomma-separated list.
type is the significant line. Previously the value of the first line
was kept, even if more lines of the same type were encountered.
can be defined in
#+LaTeX_header
lines. They are parsed asformat-specific inlines to ensure that they will only show up in LaTeX
output.
defined in
#+HTML_head
lines. They are parsed as format-specificinlines to ensure that they will only show up in HTML output.
author
export option. Theauthor
option controls whetherthe author should be included in the final markup. Setting
#+OPTIONS: author:nil
will drop the author from the final meta-dataoutput.
email
export option. Theemail
option controls whether theemail meta-field should be included in the final markup. Setting
#+OPTIONS: email:nil
will drop the email field from the finalmeta-data output.
creator
export option. Thecreator
option controls whetherthe creator meta-field should be included in the final markup. Setting
#+OPTIONS: creator:nil
will drop the creator field from the finalmeta-data output. Org-mode recognizes the special value
comment
forthis field, causing the creator to be included in a comment. This is
difficult to translate to Pandoc internals and is hence interpreted the
same as other truish values (i.e. the meta field is kept if it's
present).
unnumbered
property should, as the name implies, be excluded from the automatic
numbering of section provided by some output formats. The Pandoc
convention for this is to add an "unnumbered" class to the header. The
reader treats properties as key-value pairs per default, so a special
case is added to translate the above property to a class instead.
A
#+CAPTION
attribute before an image is enough to turn an image intoa figure. This wasn't the case because the
parseFromString
function,which processes the caption value, would fail on empty values. Adding
a newline character to the caption value fixes this.
Docx reader:
The functions
isElem
andelemName
(defined in Docx/Util.hs) makethe code a lot cleaner than the original XML.Light functions, but they
had been used inconsistently. This puts them in wherever applicable.
be able to figure out internal links to a header in a docx if the
anchor span was empty. We change that to read the inlines out of the
first anchor span in a header.
headers (since they wouldn't bring one from Docx). Now we let it use an
existing one if possible. This should allow us to recurs through anchor
spans.
anchor span to affect header ids. This allows us to use all the anchor
spans in a header, whether they're nested or not (#3088).
in header with content (or with other anchor spans inside) will resolve
to links to a header id properly.
ODT reader (Hubert Plociniczak)
the lists' items has been hardcoded to 1. In reality ODT's list
style definition can provide a new starting value in one of its
attributes.
Frame can contain other frames with the text boxes.
fig:
to title for Image with a caption (as expectedby pandoc's writers).
element we were adding its representation as well as the original
content, leading to text duplication.
DocBook writer:
Note that DocBook does not have a class attribute, but at least this
provides an anchor for internal links.
LaTeX writer:
variants don't exist. This helps with part of #3058...it gets rid of
the spurious
*
s. But we still have numbers on the 4th and 5th levelheaders.
Otherwise they can cause unintended ligatures like
?`
.\,
.[htbp]
placement for figures (#3103, Václav Haisman).This allows figure placement defaults to be changed by the user
in the template.
TEI writer: remove heuristic to detect book template (Albert Krewinkel).
TEI doesn't have
<book>
elements but only generic<divN>
divisionelements. Checking the template for a trailing
</book>
is nonsensical.MediaWiki writer: transform filename with underscores in images (#3052).
foo bar.jpg
becomesfoo_bar.jpg
. This was already donefor internal links, but it also needs to happen for images.
ICML writer: replace partial function (!!) in table handling (#3175,
Mauro Bieg).
Man writer: allow section numbers that are not a single digit (#3089).
AsciiDoc writer: avoid unnecessary use of "unconstrained" emphasis
(#3068). In AsciiDoc, you must use a special form of emphasis
(double
__
) for intraword emphasis. Pandoc was previously usingthis more than necessary.
EPUB writer: use stringify instead of plain writer for metadata
(#3066). This means that underscores won't be used for emphasis,
or CAPS for bold. The metadata fields will just have unadorned
text.
Docx Writer:
with a
custom-style
key in the attributes will apply the correspondingkey to the contained blocks or inlines.
You can set
dir: rtl
in YAML metadata, or use-M dir=rtl
on the command line. For finer-grained control, you can set
the
dir
attribute in Div or Span elements.Org writer (Albert Krewinkel):
as a figure if it is directly preceded by a caption.
by blank lines. The figure would be recognized regardless, but images
in the following line would unintentionally be treated as figures as
well.
document internal searches unless the link target looks like a URL or
file path, either relative or absolute. This change ensures that this
is always the case.
programming language identifiers. An additional translation between
those identifiers is added to avoid unexpected behavior. This fixes a
problem where language specific source code would sometimes be output
as example code.
The writer no longer adds an extra space before footnote markers.
Markdown writer:
raw_html
extension is set (#3154).Emit
[TABLE]
if no suitable table formats are enabled and raw HTMLis disabled.
raw_html
extension before emitting a raw HTML block.HTML, EPUB, slidy, revealjs templates: Use
<p>
instead of<h1>
forsubtitle, author, date (#3119). Note that, as a result of this change,
authors may need to update CSS.
revealjs template: Added
notes-server
option(jgm/pandoc-templates#212, Yoan Blanc).
Beamer template:
a regression in the last release (jgm/pandoc-templates#207).
themeoptions
variable (Carsten Gips).beamerarticle
variable. This causes thebeamerarticle
package to be loaded in beamer, to produce an article from beamer
slides. (Carsten Gips)
fontfamilies
structured variable(Artem Klevtsov).
LaTeX template:
\institute
.This isn't a standard command, and we want to avoid a crash when
institute
is used with the default template.no longer includes
[htbp]
for figures. Users with custom templateswill want to add this. See #3103.
Václav Haisman).
Moved template compiling/rendering code to a separate library.
doctemplates
. This allows the pandoc templating system to beused independently.
Text.Pandoc.Error: Fix out of index error in
handleError
(Matthew Pickering). The fix is to not try to show the exact line when
it would cause an out-of-bounds error as a result of included files.
Text.Pandoc.Shared: Add
linesToBlock
function (Albert Krewinkel).Text.Pandoc.Parsing.emailAddress: tighten up parsing of email
addresses. Technically
**@​user
is a valid email address, but if weallow things like this, we get bad results in markdown flavors
that autolink raw email addresses (see #2940). So we exclude a few
valid email addresses in order to avoid these more common bad cases.
Text.Pandoc.PDF: Don't crash with nonexistent image (#3100). Instead,
emit the alt text, emphasized. This accords with what the ODT writer
currently does. The user will still get a warning about a nonexistent
image.
Fix example in API documentation (#3176, Thomas Weißschuh).
Tell where to get tarball in INSTALL (#3062).
Rename README to MANUAL.txt and add GitHub-friendly README.md
(Albert Krewinkel, Kolen Cheung).
Replace COPYING with Markdown version COPYING.md from GNU (Kolen Cheung).
MANUAL.txt:
Krewinkel). Make it clearer that structured author variables require a
custom template
--katex
works best withhtml5
(#3077).biblio-title
variable.Improve spacing of footnotes in
--help
output (Waldir Pimenta).Update KaTeX to v0.6.0 (Kolen Cheung).
Allow latest dependencies.
Use texmath 0.8.6.6 (#3040).
Allow http-client 0.4.30, which is the version in stackage lts.
Previously we required 0.5.
Remove CPP conditionals for earlier versions.
Remove support for GHC < 7.8 (Jesse Rosenthal).
for GHC 7.8, we will support the compatibility module as long as we
support 7.8. But we should be clear about when we will no longer need
it.
v1.17.2
Compare Source
Added Zim Wiki writer, template and tests.
zimwiki
is nowa valid output format. (Alex Ivkin)
Changed email-obfuscation default to no obfuscation (#2988).
writerEmailObfuscation
indefaultWriterOptions
is nowNoObfuscation
.--email-obfuscation
option isnow
none
.Docbook writer: Declare xlink namespace in Docbook5 output (Ivo Clarysse).
Org writer:
Org mode allows arbitrary raw inlines ("export snippets" in Emacs
parlance) to be included as
@@​format:raw foreign format text@@​
.changed to make the output look more like idiomatic org mode:
null attribute.
are unwrapped and the id is added as an anchor.
wrapped in a
#+BEGIN
...#+END
block.HTML writer: Better support for raw LaTeX environments (#2758).
Previously we just passed all raw TeX through when MathJax
was used for HTML math. This passed through too much.
With this patch, only raw LaTeX environments that MathJax
can handle get passed through.
This patch also causes raw LaTeX environments to be treated
as math, when possible, with MathML and WebTeX output.
Markdown writer: use raw HTML for simple, pipe tables with linebreaks
(#2993). Markdown line breaks involve a newline, and simple and pipe
tables can't contain one.
Make --webtex work with the Markdown writer (#1177).
This is a convenient option for people using
websites whose Markdown flavors don't provide for math.
Docx writer:
We treat display math like block quotes, and apply FirstParagraph style
to paragraphs that follow them. These can be styled as the user
wishes. (But, when the user is using indentation, this allows for
paragraphs to continue after display math without indentation.)
Previously, we had used the user-supplied date, if available, for Word's
document creation metadata. This could lead to weird results, as in
cases where the user post-dates a document (so the modification might be
prior to the creation). Here we use the actual computer time to set the
document creation.
LaTeX writer:
and replacing spaces with
%20
ruins things.## Slide title {.standout}
.RST reader: Fixed links with no explicit link text. The link
`<foo>`_
should havefoo
as both its link text and its URL.See RST spec at http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#embedded-uris-and-aliases
Closes Debian #828167 -- reported by Christian Heller.
Textile reader:
a space. So,
_(class)emph_
but_(noclass) emph_
.Spaces are not allowed in the image URL in textile.
LaTeX reader:
\cite
so it is a NormalCitation not AuthorInText.Avoids interpreting these as part of the literal filename.
Org reader:
Semicolons are used as special characters in citations syntax. This
ensures the correct parsing of Pandoc-style citations:
[prefix; @​key; suffix]
. Previously, parsing would have failed unless there was a spaceor other special character as the last character.
A specification for an official Org-mode citation syntax was drafted by
Richard Lawrence and enhanced with the help of others on the orgmode
mailing list. Basic support for this citation style is added to the
reader.
Org mode allows arbitrary raw inlines ("export snippets" in Emacs
parlance) to be included as
@@​format:raw foreign format text@@​
.Partial functions like
head
lead to avoidable errors and should beavoided. They are replaced with total functions.
Figure labels given as
#+LABEL: thelabel
are used as the ID of therespective image. This allows e.g. the LaTeX to add proper
\label
markup.
Specific newtype definitions are used to replace stringly typing of tags
and properties. Type safety is increased while readability is improved.
Emacs org-mode is based on outline-mode, which treats documents as trees
with headlines are nodes. The reader is refactored to parse into a
similar tree structure. This simplifies transformations acting on
document (sub-)trees.
Comment trees were handled after parsing, as pattern matching on lists
is easier than matching on sequences. The new method of reading
documents as trees allows for more elegant subtree removal.
Handling of archived trees can be modified using the
arch
option.Archived trees are either dropped, exported completely, or collapsed to
include just the header when the
arch
option is nil, non-nil, orheadline
, respectively.Export option parsing is distinct enough from general block parsing to
justify putting it into a separate module.
The depths of headlines can be modified using the
H
option. Deeperheadlines will be converted to lists.
Some less-than-smart code required a pragma switching of overlapping
pattern warnings in order to compile seamlessly. Using view patterns
makes the code easier to read and also doesn't require overlapping
pattern checks to be disabled.
Org rules for allowed characters before or after markup chars were not
checked for verbatim text. This resultet in wrong parsing outcomes of
if the verbatim text contained e.g. space enclosed markup characters as
part of the text (
=is_substr = True=
). Forcing the parser to updatethe positions of allowed/forbidden markup border characters fixes this.
LaTeX template: fix for obscure hyperref/xelatex issue.
Here's a minimal case:
Without this change, this fails on the second invocation of xelatex.
This affects inputs this like
# %á
with pdf output via xelatex.trypandoc: call results 'html' instead of 'result'.
This is for better compatibility with babelmark2.
Document MultiMarkdown as input/output format (Albert Krewinkel, #2973).
MultiMarkdown was only mentioned as a supported Markdown dialect but not
as a possible input or output format. A brief mention is added
everywhere the other supported markdown dialects are mentioned.
Document Org mode as a format containing raw HTML (Albert Krewinkel)
Raw HTML is kept when the output format is Emacs Org mode.
Implement
RawInline
andRawBlock
in sample lua custom writer (#2985).Text.Pandoc.Shared:
This is a lossy function for converting
[Block] -> [Inline]
. Its mainuse, at the moment, is for docx comments, which can contain arbitrary
blocks (except for footnotes), but which will be converted to spans.
This is, at the moment, pretty useless for everything but the basic
Para
andPlain
comments. It can be improved, but the docx readershould probably emit a warning if the comment contains more than this.
normalizeDate
(Jesse Rosenthal).We want to avoid illegal dates -- in particular years with greater than
four digits. We attempt to parse series of digits first as
%Y%m%d
, then%Y%m
, and finally%Y
.normalizeDate
should reject illegal years (Jesse Rosenthal).We only allow years between 1601 and 9999, inclusive. The ISO 8601
actually says that years are supposed to start with 1583, but MS Word
only allows 1601-9999. This should stop corrupted word files if the date
is out of that range, or is parsed incorrectly.
Previously we parsed a list of dates, took the first one, and then
tested its year range. That meant that if the first one failed, we
returned nothing, regardless of what the others did. Now we test for
sanity before running
msum
over the list of Maybe values. Anythingfailing the test will be Nothing, so will not be a candidate.
Docx reader:
This adds simple track-changes comment parsing to the docx reader. It is
turned on with
--track-changes=all
. All comments are converted toinlines, which can list some information. In the future a warning will be
added for comments with formatting that seems like it will be excessively
denatured. Note that comments can extend across blocks. For that reason
there are two spans:
comment-start
andcomment-end
.comment-start
will contain the comment.
comment-end
will always be empty. The twowill be associated by a numeric id.
Previously we had only allowed for warnings in the parser. Now we allow
for them in the
Docx.hs
as well. The warnings are simply concatenated.We can't guarantee we'll convert every comment correctly, though we'll
do the best we can. This warns if the comment includes something other
than Para or Plain.
We test for comments, using all track-changes options. Note that we
should only output comments if
--track-changes=all
. We also test foremitting warnings if there is complicated formatting.
README: update to include track-changes comments. (Jesse Rosenthal)
Improved Windows installer - don't ignore properties set on command-line.
See #2708. Needs testing to see if this resolves the issue.
Thanks to @nkalvi.
Process markdown extensions on command line in L->R order (#2995).
Previously they were processed, very unintuitively, in R->L
order, so that
markdown-tex_math_dollars+tex_math_dollars
had
tex_math_dollars
disabled.Added
secnumdepth
variable to LaTeX template (#2920).Include table of contents in README.html in Windows package.
Writers: treat SoftBreak as space for stripping (Jesse Rosenthal)
In Writers.Shared, we strip leading and trailing spaces for display
math. Since SoftBreak's are treated as spaces, we should strip those
too.
beamer, latex templates: pass biblatexoptions directly in package load.
This allows runtime optinos to be used. Fixes jgm/pandoc-citeproc#201
CPP workaround for deprecation of
parseUrl
in http-client.Removed some redundant class constraints.
make_oxs_package.sh - use OSX env variable.
Added
winpkg
target to Makefile. This downloads the windows packagefrom appveyor and signs it using the key.
Document Org mode as a format containing raw TeX (Albert Krewinkel).
Raw TeX is kept verbatim when the output format is Emacs Org mode.
Support math with haddock-library >= 1.4.
Removed
-rtsopts
from library stanza. It has no effect, and Hackagewouldn't accept the package.
Update library dependency versions.
v1.17.1
Compare Source
New output format:
docbook5
(Ivo Clarysse).Text.Pandoc.Options
: AddwriterDocBook5
toWriterOptions
(API change).
Org writer:
This allows header attributes to be added to org documents in the form
of
:PROPERTIES:
drawers. All available attributes are stored askey/value pairs. This reflects the way the org reader handles
:PROPERTIES:
blocks.Drawer element in the Org Writer, we make use of a generic Block
container with attributes. The presence of a
drawer
class definesthat the
Div
constructor is a drawer. The first class defines thedrawer name to use. The key-value list in the attributes defines
the keys to add inside the Drawer. Lastly, the list of Block elements
contains miscellaneous blocks elements to add inside of the Drawer.
CUSTOM_ID
in properties (Albert Krewinkel). TheID
property isreserved for internal use by Org-mode and should not be used.
The
CUSTOM_ID
property is to be used instead, it is converted to theID
property for certain export format.LaTeX writer:
--incremental
unless output format is beamer (#2843).Allow for optional argument in square brackets.
la-x-classic
as Classical Latin (Andrew Dunning).This allows one to access the hyphenation patterns in CTAN's
hyph-utf8.
\strut
with\minipage
inside tables(Jose Luis Duran). This improves spacing in multiline
tables.
{}
around options containing special chars (#2892).foldl
.escaped as
ux5f
.HTML writer: Ensure mathjax link is added when math appears in footnote
(#2881). Previously if a document only had math in a footnote, the
MathJax link would not be added.
EPUB writer: set
navpage
variable on nav page.This allows templates to treat it differently.
DocBook writer:
writerDocbook5
is set (Ivo Clarysse).ulink
/link
(Ivo Clarysse).EPUB reader:
Docx Reader:
moveTo
andmoveFrom
(Jesse Rosenthal).moveTo
andmoveFrom
are track-changes tags that are used when ablock of text is moved in the document. We now recognize these tags and
treat them the same as
insert
anddelete
, respectively. So,--track-changes=accept
will show the moved version, while--track-changes=reject
will show the original version.ODT, EPUB, Docx readers: throw
PandocError
on unzip failure(Jesse Rosenthal) Previously,
readDocx
,readEPUB
, andreadOdt
would error out if zip-archive failed. We change the archive extraction
step from
toArchive
totoArchiveOrFail
, which returns an Either value.Markdown, HTML readers: be more forgiving about unescaped
&
inHTML (#2410). We are now more forgiving about parsing invalid HTML with
unescaped
&
as raw HTML. (Previously any unescaped&
would cause pandoc not to recognize the string as raw HTML.)
Markdown reader:
-s
to markdown-reader-more test.HTML reader: fixed bug in
pClose
. This caused exponential parsingbehavior in documnets with unclosed tags in
dl
,dd
,dt
.MediaWiki reader: Allow spaces before
!
in MediaWiki table header(roblabla).
RST reader: Support
:class:
option for code block in RST reader(Sidharth Kapur).
Org reader (all Albert Krewinkel, except where noted otherwise):
Emacs Org-mode doesn't add any padding to table rows. The first
row (header or first body row) is used to determine the column count,
no other magic is performed.
the codes conversing a list table lines to an org table ADT.
The old code was simplified and is now slightly less ugly.
This fixes Org mode parsing of some corner cases regarding empty cells
and rows. Empty cells weren't parsed correctly, e.g.
|||
should betwo empty cells, but would be parsed as a single cell containing a pipe
character. Empty rows where parsed as alignment rows and dropped from
the output.
The org-reader was dropping space after unescaped LaTeX-style symbol
commands:
\ForAll \Auml
resulted in∀Ä
but should give∀ Ä
instead. This seems to be because the LaTeX-reader treats the
command-terminating space as part of the command. Dropping the trailing
space from the symbol-command fixes this issue.
be dropped from the output, so row-height is always set to be at least 1.
The org reader code has become large and confusing. Extracting smaller
parts into submodules should help to clean things up.
Org-mode allows to specify export settings via
#+OPTIONS
lines.Disabling simple sub- and superscripts is one of these export options,
this options is now supported.
(like
...
as ellipsis or--
as en dash) can be toggled using the-
option.
be toggled using the
*
option. This influences parsing of text markedas emphasized, strong, strikeout, and underline. Parsing of inline math,
code, and verbatim text is not affected by this option.
toggled using the
'
option.but ignored.
to keep track of block attributes defined in meta-lines. Global state
is undesirable, so block attributes are no longer saved as part of the
parser state. Old functions and the respective part of the parser state
are removed.
anyLine
. Additional state changes need to be made aftera newline is parsed, otherwise markup may not be recognized correctly.
This fixes a bug where markup after certain block-types would not be
recognized.
ATTR_HTML
attributes (#1906).Arbitrary key-value pairs can be added to some block types using a
#+ATTR_HTML
line before the block. Emacs Org-mode only includes thesewhen exporting to HTML, but since we cannot make this distinction here,
the attributes are always added. The functionality is now supported
for figures.
:PROPERTIES:
drawer support (#1877).Headers can have optional
:PROPERTIES:
drawers associated with them.These drawers contain key/value pairs like the header's
id
. Thereader adds all listed pairs to the header's attributes;
id
andclass
attributes are handled specially to match the wayAttr
aredefined. This also changes behavior of how drawers of unknown type
are handled. Instead of including all unknown drawers, those are not
read/exported, thereby matching current Emacs behavior.
CUSTOM_ID
in properties. See above on Org writer changes.d
export option can be usedto control which drawers are exported and which are discarded.
Basic support for this option is added here.
Also fix up tab handling for leading whitespace in code blocks.
uses a new syntax for export blocks. Instead of
#+BEGIN_<FORMAT>
,where
<FORMAT>
is the format of the block's content, the newformat uses
#+BEGIN_export <FORMAT>
instead. Both types aresupported.
BEGIN...END
block parsing.less then the block header.
org-mode extension commonly used to manage citations in org
documents. Basic support for the
cite:citeKey
and[[cite:citeKey][prefix text::suffix text]]
syntax is added.better decoupling.
Added
docbook5
template.--mathjax
improvements:#2858).
TeX-AMS_CHTML
configuration.This is designed for cases where the input is always TeX and maximal
conformity with TeX is desired. It seems to be smaller and load faster
than what we used before. See #2858.
Bumped upper version bounds to allow use of latest packages
and compilation with ghc 8.
Require texmath 0.8.6.2. Closes several texmath-related bugs (#2775,
#2310, #2310, #2824). This fixes behavior of roots, e.g.
\sqrt[3]{x}
, and issues with sub/superscript positioningand matrix column alignment in docx.
README:
implicit_header_references
([#2904](https://redirect.github.com/jgm/pandoc/issueConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.