aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Writers/Markdown.hs
AgeCommit message (Collapse)AuthorFilesLines
2016-11-19Fix for calculation of column widths for aligned multiline tablesBjörn Peemöller1-8/+20
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.
2016-11-18Markdown writer: Use bracketed form for native spans...John MacFarlane1-4/+11
...when `bracketed_spans` enabled. Closes #3229.
2016-11-15Adjust widths in Markdown grid tables so that they match on round-trip.John MacFarlane1-1/+1
2016-11-15Allow alignments to be specified in Markdown grid tables.John MacFarlane1-9/+29
2016-11-15Markdown writer: fixed inconsistent spacing issue.John MacFarlane1-12/+20
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.
2016-11-12Markdown writer: Fix escaping of spaces in super/subscript.John MacFarlane1-37/+39
Previously two backslashes were inserted, which gave a literal backslash. Closes #3225.
2016-10-13Markdown writer: Abstract out note/ref function.Jesse Rosenthal1-28/+22
We do basically the same thing every time we insert notes, so let's cut down on code duplication.
2016-10-13Add support for the LineBlock element to writersAlbert Krewinkel1-1/+7
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.
2016-10-11Markdown writer: Allow footnotes/refs at the end of blocks, sectionsJesse Rosenthal1-21/+64
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.
2016-10-11Add ReaderT monad for environment variables.Jesse Rosenthal1-64/+78
This will make it easier to keep track of what level of block we are at.
2016-10-10More checks for Ext_raw_html when rendering HTML in Markdown.John MacFarlane1-5/+9
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.
2016-06-24Make --webtex work with the Markdown writer.John MacFarlane1-12/+17
Closes #1177. This is a convenient option for people using websites whose Markdown flavors don't provide for math.
2016-06-23Markdown writer: use raw HTML for simple, pipe tables with linebreaks.John MacFarlane1-1/+5
Markdown line breaks involve a newline, and simple and pipe tables can't contain one. Closes #2993.
2016-02-20Merge pull request #2668 from monofon/fix/yaml-metadata-block-bottom-lineJohn MacFarlane1-1/+1
Markdown writer: Use hyphens for yaml metadata block bottom line
2016-01-22Changed type of Shared.uniqueIdent argument from [String] to Set String.John MacFarlane1-3/+4
This avoids performance problems in documents with many identically named headers. Closes #2671.
2016-01-21Markdown writer: Use hyphens for yaml metadata block bottom lineHenrik Tramberend1-1/+1
2016-01-05RST, Markdown writers: Fixed rendering of grid tables with blank rows.John MacFarlane1-1/+1
Closes #2615.
2015-12-11Implemented SoftBreak and new `--wrap` option.John MacFarlane1-13/+31
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.
2015-11-24Markdown writer: use raw HTML for link/image attributes whenJohn MacFarlane1-2/+12
the `link_attributes` extension is unset and `raw_html` is set. Closes #2554.
2015-11-23Define a `meta-json` variable for all writers.John MacFarlane1-1/+2
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.
2015-11-19Renamed link attribute extensions.John MacFarlane1-1/+1
* Old `link_attributes` -> `mmd_link_attributes` * Recently added `common_link_attributes` -> `link_attributes` Note: this change could break some existing workflows.
2015-11-19Merge branch 'new-image-attributes' of https://github.com/mb21/pandoc into ↵John MacFarlane1-21/+30
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.
2015-11-09Revert "Use -XNoImplicitPrelude and 'import Prelude' explicitly."John MacFarlane1-1/+0
This reverts commit c423dbb5a34c2d1195020e0f0ca3aae883d0749b.
2015-11-08Use -XNoImplicitPrelude and 'import Prelude' explicitly.John MacFarlane1-0/+1
This is needed for ghci to work with pandoc, given that we now use a custom prelude. Closes #2503.
2015-10-15Use unicode super/subscripts for digits in plain output.John MacFarlane1-3/+14
2015-09-17Markdown writer: in TOC, add links to headers.John MacFarlane1-2/+5
Closes #829.
2015-08-07Updated readers, writers and README for link attributemb211-22/+27
2015-08-07Updated readers and writers for new image attribute parameter.John MacFarlane1-4/+8
(mb21)
2015-06-27Removed unused import.John MacFarlane1-1/+0
2015-06-27Plain writer: don't use symbols for super/subscript.John MacFarlane1-14/+10
Simplified code by using plainExtensions from Options. Closes #2237.
2015-04-26Updated copyright notices to -2015. Closes #2111.John MacFarlane1-2/+2
2015-04-18Markdown writer: improved escaping.John MacFarlane1-2/+3
`<` 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.
2015-03-19Markdown writer: fixes for GHC 7.10.John MacFarlane1-3/+3
2015-03-15Merge pull request #1989 from zudov/shortcut_ref_link_prJohn MacFarlane1-29/+55
Support shortcut reference links in markdown writer
2015-03-10Support shortcut reference links in markdown writerKonstantin Zudov1-29/+55
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`).
2015-03-07Fixed pipe tables -- headerless tables are not allowed.John MacFarlane1-1/+6
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.
2015-02-25Markdown writer: don't emit span tags if plain or raw HTML disabled.John MacFarlane1-5/+8
2015-02-25Define isRight since it's only in recent versions of Data.Either.John MacFarlane1-1/+4
2015-02-25Markdown writer: Avoid introducing spurious list items through wrapping.John MacFarlane1-12/+41
Closes #1946.
2015-01-05ghc 7.10.1 RC1 requires specifying the type of String literals ↵Mark Wright1-6/+6
https://ghc.haskell.org/trac/ghc/wiki/Migration/7.10#GHCsaysNoinstanceforFoldable...arisingfromtheuseof...
2014-08-16Markdown writer: don't escape $, ^, ~ when extensions are deactivated.John MacFarlane1-5/+16
`tex_math_dollars`, `superscript`, and `subscript` extensions, respectively. Closes #1127.
2014-08-08Plain writer: Use ALL CAPS for level 1 headers.John MacFarlane1-1/+4
2014-08-08Markdown writer: Respect -raw_html.John MacFarlane1-12/+14
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.
2014-08-04Use `stripPrefix` where appropriate.Artyom Kazak1-2/+3
2014-08-03Correctly implement capitalisation.Artyom Kazak1-7/+3
Using `map toUpper` to capitalise text is wrong, as e.g. “Straße” should be converted to “STRASSE”, which is 1 character longer. This commit adds a `capitalize` function and replaces 2 identical implementations in different modules (`toCaps` and `capitalize`) with it.
2014-07-27Markdown writer: Separate adjacent lists of the same kind with comment.John MacFarlane1-3/+9
Closes #1458.
2014-07-27Markdown writer: More improvements to 'plain' output, updated tests.John MacFarlane1-21/+26
Math now appears in unicode if possible, without the distracting italics around identifiers. Blank lines around headers are more consistent. Footnotes appear in regular [n] style.
2014-07-27Markdown writer: Better 'plain' output.John MacFarlane1-83/+101
We now largely follow the style of Project Gutenberg. Emphasis is rendered with `_underscores_`, strong with ALL CAPS. The appearance of horizontal rules has changed (even in regular markdown) to a line across the whole page. Headings are rendered differently, using space to set them off.
2014-07-27Markdown writer: Update definition lists.John MacFarlane1-2/+13
They now behave like the new reader does. The old behavior can be activated with the `compact_definition_lists` extension.
2014-07-21Markdown writer: Avoid wrapping that might start a list.John MacFarlane1-1/+5
Or a blockquote or header. Closes #1013.