Age | Commit message (Collapse) | Author | Files | Lines |
|
The functions `isElem` and `elemName` (defined in Docx/Util.hs) make the
code a lot cleaner than the original XML.Light functions, but they had
been used inconsistently. This puts them in wherever applicable.
|
|
LaTeX reader: drop duplicate `*` in bibtexKeyChars
|
|
Org reader: preserve indentation of verse lines
|
|
Image sources as those in plain 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 from figure
images (e.g. `[[file:image.jpg]]` leading to a broken image `<img
src="file:image.jpg"/>)
Thanks to @bsag for noticing this bug.
|
|
Leading spaces in verse lines are converted to non-breaking spaces, so
indentation is preserved.
This fixes #3064.
|
|
They are meant to be interpreted as literal text in textile.
Closes #3042.
|
|
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.
Closes #3055.
|
|
Previously an unquoted attribute value in a table row
could cause parsing problems.
Fixes #3053 (well, proper rowspans and colspans aren't
created, but that's a bigger limitation with the current
Pandoc document model for tables).
|
|
In the latex parser when includes are processed, the text of the
included file is directly included into the parse stream. This caused
problems when there was an error in the included file (and the included
file was longer than the original file) as the error would be reported
at this position.
The error handling tries to display the line and position where the
error occured. It works by including a copy of the input and finding the
place in the input when given the position of the error. In the
previously described scenario, the input file would be the original
source file but the error position would be the position of the error in
the included file.
The fix is to not try to show the exact line when it would cause an
out-of-bounds error.
|
|
The starred 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 level headers.
|
|
|
|
PoC: GitHub-optimized README
|
|
Closes #3036.
|
|
Also, remove trailing newline in code blocks (consistently
with Markdown reader).
|
|
|
|
E.g. `^` outside of math. Some custom environments give
these a meaning, so we should try not to fall over when we
encounter them.
|
|
We no longer fail on things like `^` inside options for tikz.
Closes #3026.
|
|
Previously blockquotes were used. Now a Div is used
with class `admonition` and (if relevant) one of the
following: `attention`, `caution`, `danger`, `error`,
`hint`, `important`, `note`, `tip`, `warning`.
`sidebar` is also put into a Div.
Note: This will change rendering of RST documents!
It should provide much more flexibility.
Closes #3031.
|
|
- Allow multiple terms (which we concatenate with linebreaks).
- Fix exponential parsing bug (closes #3020 for real this time).
|
|
We now handle cell and row attributes, mostly 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.)
|
|
Instead use CPP to work around version differences.
|
|
|
|
|
|
The Haddock document model added elements for math
in 1.4.
|
|
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.
|
|
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. Anything
failing the test will be Nothing, so will not be a candidate.
|
|
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.
|
|
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`.
|
|
|
|
Org reader: fix parsing of verbatim inlines
|
|
Closes #3020.
|
|
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 update
the positions of allowed/forbidden markup border characters fixes this.
This fixes #3016.
|
|
Org writer: improve Div handling
|
|
Div blocks handling is changed to make the output look more like
idiomatic org mode:
- Div-wrapped content is output as-is if the div's attribute is the
null attribute.
- Div containers with an id but neither classes nor key-value pairs
are unwrapped and the id is added as an anchor.
- Divs with classes associated with greater block elements are
wrapped in a `#+BEGIN`...`#+END` block.
- The old behavior for Divs with more complex attributes is kept.
|
|
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 reader: support archived trees, headline levels export setting
|
|
|
|
|
|
|
|
The depths of headlines can be modified using the `H` option. Deeper
headlines will be converted to lists.
|
|
## Slide title {.standout}
Closes #3007.
|
|
Export option parsing is distinct enough from general block parsing to
justify putting it into a separate module.
|
|
Avoids interpreting these as part of the literal filename.
See #2825.
|
|
Usually this is a local file, and replacing spaces with `%20`
ruins things. Closes #2825.
|
|
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, or
`headline`, respectively.
|
|
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.
|
|
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.
|
|
Specific newtype definitions are used to replace stringly typing of tags
and properties. Type safety is increased while readability is improved.
|
|
See https://travis-ci.org/jgm/pandoc/jobs/141542247
|
|
|