Age | Commit message (Collapse) | Author | Files | Lines |
|
Org reader: Require whitespace around def list markers
|
|
Definition list markers (i.e. double colons `::`) must be surrounded by
whitespace to start a definition item. This rule was not checked
before, resulting in bugs with footnotes and some link types.
Thanks to @conklech for noticing and reporting this issue.
This fixes #2518.
|
|
Org reader: Fix emphasis rules for smart parsing
|
|
This is enabled by default in `markdown_github`.
Added `Ext_emoji` to `Extension` in `Text.Pandoc.Options` (API change).
Closes #2523.
|
|
Smart quotes, ellipses, and dashes should behave like normal quotes,
single dashes, and dots with respect to text markup parsing. The parser
state was not updated properly in all cases, which has been fixed.
Thanks to @conklech for reporting this issue.
This fixes #2513.
|
|
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.
|
|
LaTeX reader: Handle `comment` environment.
|
|
Org reader: fix markup parsing in headers
|
|
This is needed for ghci to work with pandoc, given that we
now use a custom prelude.
Closes #2503.
|
|
Markup as the very first item in a header wasn't recognized. This was
caused by an incorrect parser state: positions at which inline markup
can start need to be marked explicitly by changing the parser state.
This wasn't done for headers. The proper function to update the state
is now called at the beginning of the header parser, fixing this issue.
This fixes #2504.
|
|
The `comment` environment is handled in a similar way to the `verbatim` environment, except that its content is discarded.
|
|
If a pipe table contains a line longer than the column
width (as set by `--columns` or 80 by default), relative
widths are computed based on the widths of the separator lines
relative to the column width.
This should solve persistent problems with long pipe tables in
LaTeX/PDF output, and give more flexibility for determining
relative column widths in other formats, too.
For narrower pipe tables, column widths of 0 are used,
telling pandoc not to specify widths explicitly in output
formats that permit this.
Closes #2471.
|
|
Closes #2480.
Note that although smart punctuation is part of the textile
spec, it's not always wanted when converting from textile
to, say, Markdown. So it seems better to make this an option.
|
|
We now allow blank metadata fields. These were explicitly
disallowed before.
For background see #2026. The issue in #2026 has since
been fixed in another way, so there is no need to forbid
blank metadata fields.
|
|
Org reader: allow toggling header args
|
|
Org-mode allows to skip the argument of a code block header argument if
it's toggling a value. Argument-less headers are now recognized,
avoiding weird parsing errors.
The fixes are not exactly pretty, but neither is the code that was
fixed. So I guess it's about par for the course. However, a rewrite of
the header parsing code wouldn't hurt in the long run.
Thanks to @jo-tham for filing the bug report.
This fixes #2269.
|
|
Paragraphs can be followed by lists, even if there is no blank line
between the two blocks. However, this should only be true if the
paragraph is not within a list, were the preceding block should be
parsed as a plain instead of paragraph (to allow for compact lists).
Thanks to @rgaiacs for bringing this up.
This fixes #2464.
|
|
Tightened up the inline HTML parser so it disallows
TagWarnings.
This only affects the markdown reader when the `markdown_in_html_blocks`
option is disabled.
Closes #2469.
|
|
This prevents problems building haddocks with "C" locale.
Closes #2457.
|
|
|
|
* CPP around deprecated `parseTime`.
* Text.Pandoc.Compat.Locale -> Text.Pandoc.Compat.Time,
now exports Data.Time.
|
|
- 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.
|
|
Previously `<section>` tags were just parsed as raw HTML
blocks. With this change, section elements are parsed as
Div elements with the class "section". The HTML writer will
use `<section>` tags to render these Divs in HTML5; otherwise
they will be rendered as `<div class="section">`.
Closes #2438.
|
|
Added support for <xref> tag in DocBook reader
|
|
Really close #2446.
|
|
Closes #2446.
|
|
|
|
# Header {id="myid" class="foo bar"}
is now equivalent to
# Header {#myid .foo .bar}
Closes #2396.
|
|
docbook-xsl, a set of XSLT scripts to generate HMTL out of DocBook,
tries harder to generate a nice xref text. Depending on the element
being linked to, it looks at the title or other descriptive child
elements. Let's do that, too.
|
|
'xref' is used to create cross references to other parts of the
document. It is an empty element - the cross reference text depends on
various attributes. Quoting 'DocBook: The Definitive Guide':
1. If the endterm attribute is specified on xref, the content of the
element pointed to by endterm will be used as the text of the
cross-reference.
2. Otherwise, if the object pointed to has a specified XRefLabel, the
content of that attribute will be used as the cross-reference text.
|
|
Having access to the entire document will be needed when handling
elements which refer to other elements. This is needed for e.g. <xref>
or <link>, both of which reference other elements (by the 'id'
attribute) for the label text.
I suppose that in practice, the [Content] returned by parseXML always
only contains one 'Elem' value -- the document element. However, I'm not
totally sure about it, so let's just pass all the Content along.
|
|
I plan to use the parsed and normalized XML tree read in readDocBook in
other places - prepare that commit by factoring this code out into a
separate, shared, definition.
|
|
Closes #2411.
|
|
The previous verse parsing code made the faulty assumption that empty
strings are valid (and empty) inlines. This isn't the case, so lines
are changed to contain at least a newline.
It would generally be nicer and faster to keep the newlines while
splitting the string. However, this would require more code, which
seems unjustified for a simple (and fairly rare) block as *verse*.
This fixes #2402.
|
|
[BUG] Haddock : * and ^ to be escaped in docs
|
|
|
|
Previously the parser failed on this kind of case
.. role:: indirect(code)
.. role:: py(indirect)
:language: python
:py:`hi`
Now it currectly recognizes `:py:` as a code role.
The previous test for this didn't work, because the
name of the indirect role was the same as the language
defined its parent, os it didn't really test for this
behavior. Updated test.
|
|
Org reader: add auto identifiers if not present on headers
|
|
Refs #2354
This should also fix the table of contents (--toc) when generating a html file
from org input
|
|
Closes #2284.
Note the changes to the test suite. In each case, a mangled
external link has been fixed, so these are all positive.
|
|
Closes #2355.
|
|
This makes TOC linking work properly.
The same thing needs to be done to the org reader to fix #2354;
in addition, `Ext_auto_identifiers` should be added to the list
of default extensions for org in Text.Pandoc.
|
|
It is parsed into a Div with class `informalexample`.
Closes #2319.
|
|
See #2335.
|
|
HTML Reader: Correctly parse inline list-style(-type) for <ol>
|
|
|
|
(mb21)
|
|
|
|
Previously the left-hand column could not start with 4 or
more spaces indent. This was inconvenient for right-aligned
left columns.
Note that the first (header column) must still have 3 or fewer
spaces indentation, or the table will be treated as an indented
code block.
|