Age | Commit message (Collapse) | Author | Files | Lines |
|
Errors can be thrown purely with `throwError`. At the moment there are
only three kinds of errors:
1. PandocFileReadError FilePath (for problems reading a file from the
filesystem)
2. PandocShouldNeverHappenError String (for stuff that should never
happen but we need to pattern-match anyway)
3. PandocSomeError String (a grab bag of everything else)
Of course, we need to subdivide the third item in this list.
|
|
Since PandocMonad is an instance of MonadError, this will allow us, in a
future commit, to change all invocations of `error` to `throwError`,
which will be preferable for the pure versions. At the moment, we're
disabling the lua custom writers (this is temporary).
This requires changing the type of the Writer in Text.Pandoc. Right now,
we run `runIOorExplode` in pandoc.hs, to make the conversion easier. We
can switch it to the safer `runIO` in the future.
Note that this required a change to Text.Pandoc.PDF as well. Since
running an external program is necessarily IO, we can be clearer about
using PandocIO.
|
|
Update all writers to take into account page breaks.
A straightforwad, far from complete, implementation of page
breaks in selected writers.
Readers will have to follow in the future as well.
|
|
Closes #3298.
|
|
Previously pandoc would sometimes wrap lines too early
due to this bug.
Closes #3277.
|
|
Previously setting writerStandalone = True did nothing unless
a template was provided in writerTemplate. Now a fragment
will be generated if writerTemplate is Nothing; otherwise,
the specified template will be used and standalone output
generated. [API change]
|
|
This also fixes excessive CPU and memory usage for tables
when --columns is set in such a way that cells must be very
tiny.
Now cells are guaranteed to be big enough so that single
words don't need to line break, even if this pushes the
line length above the column width.
Closes #1911.
|
|
...when `bracketed_spans` enabled.
Closes #3229.
|
|
|
|
|
|
Previously a tight bullet sublist got rendered with
a blank line after, while a tight ordered sublist did
not. Now we don't get the blank line in either case.
Closes #3232.
|
|
Previously two backslashes were inserted, which gave a
literal backslash.
Closes #3225.
|
|
We do basically the same thing every time we insert notes, so let's cut
down on code duplication.
|
|
The following markup features are used to output the lines of the `LineBlock`
element:
- AsciiDoc: a `[verse]` block,
- ConTeXt: text surrounded by `\startlines` and `\endlines`,
- HTML: `div` with an per-element style setting to interpret the content as
pre-wrapped,
- Markdown: line blocks if the `line_blocks` extension is enabled, a simple
paragraph with hard linebreaks otherwise,
- Org: VERSE block,
- RST: a line block, and
- all other formats: a paragraph, containing hard linebreaks between lines.
Custom lua writers should be updated to use the `LineBlock` element.
|
|
This allows footnotes and refs to be placed at the end of blocks and
sections. Note that we only place them at the end of blocks that are at
the top level and before headers that are the top level. We add an
environment variable to keep track of this. Because we clear the
footnotes and refs when we use them, we also add a state variable to
keep track of the starting number.
Finally, note that we still add any remaining footnotes at the end. This
takes care of the final section, if we are placing at the end of a
section, and will always come after a final block as well.
|
|
This will make it easier to keep track of what level of block we are at.
|
|
Previously we'd emit raw HTML tables even if the `raw_html`
extension was disabled.
Now we just emit `[TABLE]` if no table formats are enabled
and raw HTML is not enabled.
We also check for the `raw_html` extension before emiting
a raw HTML block.
Closes #3154.
|
|
Closes #1177. This is a convenient option for people using
websites whose Markdown flavors don't provide for math.
|
|
Markdown line breaks involve a newline, and simple and pipe
tables can't contain one.
Closes #2993.
|
|
Markdown writer: Use hyphens for yaml metadata block bottom line
|
|
This avoids performance problems in documents with many identically
named headers.
Closes #2671.
|
|
|
|
Closes #2615.
|
|
Added threefold wrapping option.
* Command line option: deprecated `--no-wrap`, added
`--wrap=[auto|none|preserve]`
* Added WrapOption, exported from Text.Pandoc.Options
* Changed type of writerWrapText in WriterOptions from
Bool to WrapOption.
* Modified Text.Pandoc.Shared functions for SoftBreak.
* Supported SoftBreak in writers.
* Updated tests.
* Updated README.
Closes #1701.
|
|
the `link_attributes` extension is unset and `raw_html` is set.
Closes #2554.
|
|
This contains a JSON version of all the metadata, in the
format selected for the writer.
So, for example, to get just the YAML metadata, you can
run pandoc with the following custom template:
$meta-json$
Closes #2019. The intent is to make it easier for static
site generators and other tools to get at the metadata.
|
|
* Old `link_attributes` -> `mmd_link_attributes`
* Recently added `common_link_attributes` -> `link_attributes`
Note: this change could break some existing workflows.
|
|
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.
|
|
This reverts commit c423dbb5a34c2d1195020e0f0ca3aae883d0749b.
|
|
This is needed for ghci to work with pandoc, given that we
now use a custom prelude.
Closes #2503.
|
|
|
|
Closes #829.
|
|
|
|
(mb21)
|
|
|
|
Simplified code by using plainExtensions from Options.
Closes #2237.
|
|
|
|
`<` should not be escaped as `\<`, for compatibility with
original Markdown. We now escape `<` and `>` with entities.
Also, we now backslash-escape square brackets.
Closes #2086.
|
|
|
|
Support shortcut reference links in markdown 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.
|
|
|
|
|
|
Closes #1946.
|
|
https://ghc.haskell.org/trac/ghc/wiki/Migration/7.10#GHCsaysNoinstanceforFoldable...arisingfromtheuseof...
|
|
`tex_math_dollars`, `superscript`, and `subscript` extensions,
respectively.
Closes #1127.
|
|
|
|
pandoc -t markdown-raw_html should not emit any raw HTML, even
span and div tags that go with pandoc Span and Div elements.
Cleaned up a bit of the logic with extensions and plain.
|
|
|