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.
This reverts commit 1c2951dfd9.
See #2040.
The semantics was too squishy. `--css` takes a URL, but
for EPUB we need files that we can read. I prefer keeping
the old system for now, with `--epub-stylesheet`.
* Allow `--css` to be used to specify stylesheets.
* Deprecated `--epub-stylesheet` and made it a synoynym of
`--css`.
* If a code block with class "css" is given as contents of the
`stylesheet` metadata field, use its literal code as contents of
the epub stylesheet. Otherwise, treat it as a filename and
read the file.
* Note: `--css` and `stylesheet` in metadata are not compatible.
`stylesheet` takes precedence.
- Added commonmark as an input format.
- Added `Text.Pandoc.Readers.CommonMark.readCommonMark`.
- For now, we use the markdown writer to generate benchmark
text for the CommonMark reader. We can change this when we
get a writer.
Issue #1977
Most markdown processors support the [shortcut format] for reference links.
Pandoc's markdown reader parsed this shortcuts unoptionally.
Pandoc's markdown writer (with --reference-links option) never shortcutted links.
This commit adds an extension `shortcut_reference_links`. The extension is
enabled by default for those markdown flavors that support reading shortcut
reference links, namely:
- pandoc
- strict pandoc
- github flavoured
- PHPmarkdown
If extension is enabled, reader parses the shortcuts in the same way as
it preveously did. Otherwise it would parse them as normal text.
If extension is enabled, writer outputs shortcut reference links unless
doing so would cause problems (see test cases in `tests/Tests/Writers/Markdown.hs`).
GFM and PHP Markdown Extra pipe tables require headers.
Previously pandoc allowed pipe tables not to include headers,
and produced headerless pipe tables in Markdown output, but this
was based on a misconception about pipe table syntax. This
commit fixes this.
Note: If you have been using headerless pipe tables, this may
cause existing tables to break.
Closes#1996.