Age | Commit message (Collapse) | Author | Files | Lines |
|
Previously, we would only 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.
This still leaves another problem: what to do if there are multiple
anchor spans in a header. That will be addressed in a future commit.
|
|
Translate NARROW NO-BREAK SPACE into LaTeX' `\,`.
|
|
Closes #3089.
|
|
Pandoc and Org-mode use different 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.
|
|
Org-mode treats links as 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.
|
|
An Org-mode figure should be surrounded by blank lines. The figure
would be recognized regardless, but images in the following line would
unintentionally be treated as figures as well.
|
|
Org-mode only treats an image as a figure if it is directly preceded by
a caption.
|
|
Use "custom-style" instead of "docx-style." This allows it to be used in
other formats like ODT in the future.
|
|
|
|
|
|
This enables dynamic styling on spans. It uses the same prefix as we
used on divs ("docx-style" for the moment). It does not yet inject the
style into styles.xml.
|
|
This injects new dynamic paragraph properties to be into the style
file. Nothing occurs if the prop already exists in the style file.
|
|
We're going to want `getMap` in the Docx Writer.
|
|
We want to be able to inject these into our styles.xml.
|
|
Divs with a "docx-style" key in the attributes will apply the
corresponding key to the contained blocks.
|
|
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.
|