Age | Commit message (Collapse) | Author | Files | Lines |
|
- Text.Pandoc.XML.fromEntities: handle entities without a
semicolon. Always lookup character references with the
trailing ';', even if it wasn't present. And never add
it when looking up numerical entities. (This is what
tagsoup seems to require.)
- Text.Pandoc.Parsing.characterReference: Always lookup
character references with the trailing ';', and leave off
the ';' when looking up numerical entities.
This fixes a regression for e.g. `⟨`.
|
|
We were capturing final colons as in [@foo: bar];
the citation id was being parsed as "@foo:".
Closes jgm/pandoc-citeproc#201.
|
|
mb21-new-image-attributes
* Bumped version to 1.16.
* Added Attr field to Link and Image.
* Added `common_link_attributes` extension.
* Updated readers for link attributes.
* Updated writers for link attributes.
* Updated tests
* Updated stack.yaml to build against unreleased versions of
pandoc-types and texmath.
* Fixed various compiler warnings.
Closes #261.
TODO:
* Relative (percentage) image widths in docx writer.
* ODT/OpenDocument writer (untested, same issue about percentage widths).
* Update pandoc-citeproc.
|
|
Closes jgm/pandoc-citeproc#166.
|
|
Don't use custom prelude for latest ghc.
This is a better approach to making 'stack ghci' and 'cabal repl'
work. Instead of using NoImplicitPrelude, we only use the custom
prelude for older ghc versions. The custom prelude presents a
uniform API that matches the current base version's prelude.
So, when developing (presumably with latest ghc), we don't
use a custom prelude at all and hence have no trouble with ghci.
The custom prelude no longer exports (<>): we now want to
match the base 4.8 prelude behavior.
|
|
This reverts commit c423dbb5a34c2d1195020e0f0ca3aae883d0749b.
|
|
This is needed for ghci to work with pandoc, given that we
now use a custom prelude.
Closes #2503.
|
|
- The (non-exported) prelude is in prelude/Prelude.hs.
- It exports Monoid and Applicative, like base 4.8 prelude,
but works with older base versions.
- It exports (<>) for mappend.
- It hides 'catch' on older base versions.
This allows us to remove many imports of Data.Monoid
and Control.Applicative, and remove Text.Pandoc.Compat.Monoid.
It should allow us to use -Wall again for ghc 7.10.
|
|
(mb21)
|
|
This makes keys with extra space at the beginning and end
work: e.g.
[foo]: bar
[ foo ]
will now be a link to bar (it wasn't before).
|
|
Previously we disallowed `-` at the end of an autolink,
and disallowed the combination `=-`.
This commit liberalizes the rules for allowing punctuation in
a bare URI.
Added test cases.
One potential drawback is that you can no longer put a bare
URI in em dashes like this
this uri---http://example.com---is an example.
But in this respect we now match github's treatment of bare URIs.
Closes #2299.
|
|
Added `stateHeaderKeys` to `ParserState`; this is a `KeyTable`
like `stateKeys`, but it only gets consulted if we don't find
a match in `stateKeys`, and if `Ext_implicit_header_references`
is enabled.
Closes #1606.
|
|
Earlier versions had a bug and would wrongly think
opening tags containing attributes with slashes in them
were self-closing.
Closes #2146.
|
|
|
|
Closes #2062.
This reverts commit c302bdcdbe97b38721015fe82403b2a8f488a702, reversing
changes made to b983adf0d0cbc98d2da1e2751f46ae1f93352be6.
Conflicts:
src/Text/Pandoc/Parsing.hs
src/Text/Pandoc/Readers/Markdown.hs
src/Text/Pandoc/Readers/Org.hs
src/Text/Pandoc/Readers/RST.hs
|
|
Allow digit as first character of a citation key.
|
|
Closes #1909.
Adds new parser combinator to Parsing.hs
`a <+?> b`
: if a succeeds, applies b and mappends
output (if any) to result of a. If b fails,
it's just a, if a fails, whole expression fails.
|
|
|
|
* Update parser to recognize citation keys starting with a digit.
* Update documentation accordingly.
* Test case added.
See https://github.com/jgm/pandoc-citeproc/issues/97
|
|
|
|
|
|
footnotes)
|
|
|
|
|
|
Monad m => Parsec s st a -> Parsec T s st m a
|
|
consumed.
|
|
RST Reader - Improved Role Support
|
|
Closes #1811.
The price of this is that autolinked bare URIs can no longer
contain `>` characters, but this is not a big issue.
|
|
Move recursive role lookup from renderRole to addNewRole. The Attr value
will be the same for every occurance of this role, so there's no reason
to compute it every time. This allows simplifying the
stateRstCustomRoles map considerably.
We could go even further, and remove the fmt and attr arguments to
renderRole, which are null except for custom roles.
|
|
This commit moves some code which was only used for the Markdown Reader
into a generic form which can be used for any Reader. Otherwise, it
takes naming and interface cues from the preexisting Markdown code.
|
|
move `addWarning` to Parsing.hs, so it can be used by Markdown & RST readers.
|
|
For example: `$x = \text{the $n$th root of $y$}`. Closes #1677.
|
|
|
|
|
|
|
|
|
|
|
|
It now works as in PHP markdown extra. Setting `markdown="1"` on
an outer tag affects all contained tags until it is reversed with
`markdown="0"`. Closes #1378.
Added `stateMarkdownAttribute` to `ParserState`.
|
|
We need input to be a string so we can print the offending line
on an error.
|
|
This originated with @dubiousjim's observation in #1419
that there was a typo in the definition of enDash.
It returned an em dash character instead of an en dash.
I thought about why this had not been noticed before, and
realized that en dashes were just being parsed as regular
symbols.
That made me realize that, now that we no longer have
dedicate EnDash, EmDash, and Ellipses inline elements, as
we used to in pandoc, we no longer need to parse the
unicode characters specially. This allowed a considerable
simplification of the code.
Partially resolves #1419.
|
|
|
|
Replaced all inline occurences of fmap with the more idiomatic (<$>).
|
|
This function is equivalent to the more general (<*) which is defined in
Control.Applicative. This change makes pandoc code easier to understand for
those not familar with the codebase.
|
|
Before it wasn't possible to use these general combinators with the ParsecT
transformer but with the more general types this is now possible.
|
|
This is used to keep track of the ending tag we're waiting
for when we're parsing inside HTML block tags.
|
|
Closes #1313.
|
|
The function can be used by other readers, so it is made accessible for
all parsers.
|
|
Both `ParserState` and `OrgParserState` keep track of the parser position at
which the last string ended. This patch introduces a new class
`HasLastStrPosition` and makes the above types instances of that class. This
enables the generalization of functions updating the state or checking if one
is right after a string.
|
|
|
|
Closes #1274.
Rewrote handleIncludes.
We now report the actual source file and position where the error
occurs, even if it is included. We do this by inserting special
commands, `\PandocStartInclude` and `\PandocEndInclude`, that encode
this information in the preprocessing phase.
Also generalized the types of a couple functions from
`Text.Pandoc.Parsing`.
|