aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Writers/Shared.hs
AgeCommit message (Collapse)AuthorFilesLines
2019-01-04T.P.Writers.Shared - add toTableOfContents (API change).John MacFarlane1-1/+23
This is refactored out from the Markdown writer. IT can be used in other writers to create a generic TOC.
2018-10-17Move common groff functions to Text.Pandoc.Writers.GroffJohn MacFarlane1-10/+1
(unexported module). These are used in both the man and ms writers. Moved groffEscape out of Text.Pandoc.Writers.Shared [cancels earlier API change from adding it, which was after last release]. This fixes strong/code combination on man (should be `\f[CB]` not `\f[BC]`), mentioned in #4973. Updated tests. Closes #4975.
2018-10-07Revert export of hasSimpleCells from T.P.Writers.Shared.John MacFarlane1-18/+0
This wasn't necessary.
2018-10-06RST writer: use simple tables when possible.John MacFarlane1-0/+18
Closes #4750. Text.Pandoc.Writers.Shared now exports hasSimpleCells [API change].
2018-10-05CommonMark writer: add plain text fallbacks. (#4531)quasicomputational1-1/+30
Previously, the writer would unconditionally emit HTMLish output for subscripts, superscripts, strikeouts (if the strikeout extension is disabled) and small caps, even with raw_html disabled. Now there are plain-text (and, where possible, fancy Unicode) fallbacks for all of these corresponding (mostly) to the Markdown fallbacks, and the HTMLish output is only used when raw_html is enabled. This commit adds exported functions `toSuperscript` and `toSubscript` to `Text.Pandoc.Writers.Shared`. [API change] Closes #4528.
2018-10-04Add lookupMeta* functions to Text.Pandoc.Writers.Shared (#4907)Mauro Bieg1-15/+47
Remove exported functions `metaValueToInlines`, `metaValueToString`. Add new exported functions `lookupMetaBool`, `lookupMetaBlocks`, `lookupMetaInlines`, `lookupMetaString`. Use these whenever possible for uniformity in writers. API change (major, because of removed function `metaValueToInlines`. `metaValueToString` wasn't in any released version.)
2018-10-03Text.Pandoc.Writers.Shared: added `metaValueToString`.John MacFarlane1-0/+9
[API change]
2018-10-02Removed Text.Pandoc.Groff.John MacFarlane1-0/+11
Moved groffEscape function to Text.Pandoc.Writers.Shared. [API change, since T.P.W.S is exported.]
2018-08-17Docx writer: properly handle display math in spans.John MacFarlane1-2/+4
Closes #4826. This isn't a complete solution, since other nestings of display math may still cause problems, but it should work for what is by far the most common case. Note that this also involves an API change: `isDisplayMath` is now exported from Text.Pandoc.Writers.Shared.
2018-03-18Use NoImplicitPrelude and explicitly import Prelude.John MacFarlane1-0/+2
This seems to be necessary if we are to use our custom Prelude with ghci. Closes #4464.
2018-03-17hlint fixes.John MacFarlane1-1/+1
2018-03-17Don't wrap lines in grid tables when `--wrap=none` (#4320)Francesco Occhipinti1-12/+30
* Annotate gridTable code with comments and abstract small functions * Don't wrap lines in tables when `--wrap=none`. Instead, expand cells, even if it results in cells that don't respect relative widths or surpass page column width. * This change affects RST, Markdown, and Haddock writers.
2018-03-17RST writer: strip whitespace within inlines, closes #4327 (#4329)Francesco Occhipinti1-0/+1
+ Whitespace is ignored at the beginning and end of emphasis, as per <http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#inline-markup>. + Export `stripLeadingTrailingSpace` from `Text.Pandoc.Writers.Shared`.
2018-01-12Move `metaValueToInlines` to T.P.W.SharedJesse Rosenthal1-0/+9
This will allow the Powerpoint writer to use it as well.
2018-01-05Update copyright notices to include 2018Albert Krewinkel1-2/+2
2017-12-02Docx writer: allow empty paragraphs.John MacFarlane1-2/+8
See #2252. This also changes fixDisplayMath from Text.Pandoc.Writers.Shared so that it no longer produces empty Para as an artifact. (That was the original reason the writer omitted them.)
2017-10-29hlint suggestions.John MacFarlane1-5/+5
2017-08-13Added some Functor constraints needed for ghc 7.8.John MacFarlane1-2/+2
2017-08-12Escape MetaString values (as added with --metadata flag).John MacFarlane1-6/+8
Previously they would be transmitted to the template without any escaping. Note that `--M title='*foo*'` yields a different result from --- title: *foo* --- In the latter case, we have emphasis; in the former case, just a string with literal asterisks (which will be escaped in formats, like Markdown, that require it). Closes #3792.
2017-08-08Writers.Shared.unsmartify: undo literal double curly quotes.John MacFarlane1-0/+3
Previously we left these.
2017-07-13Use foldrWithKey instead of deprecated foldWithKey.John MacFarlane1-1/+1
2017-06-25Moved BCP47 specific functions from Writers.Shared to new module.John MacFarlane1-84/+3
Text.Pandoc.BCP47 (unexported, internal module). `getLang`, `Lang(..)`, `parseBCP47`.
2017-06-25Writers.Shared: improve type of Lang and bcp47 parser.John MacFarlane1-29/+67
Use a real parsec parser for BCP47, include variants.
2017-06-25Writers.Shared: refactored getLang, splitLang...John MacFarlane1-11/+24
into `Lang(..)`, `getLang`, `parceBCP47`.
2017-06-25Text.Pandoc.Writers.Shared: export splitLang.John MacFarlane1-0/+19
2017-06-25Text.Pandoc.Writers.Shared: added getLang.John MacFarlane1-2/+13
2017-06-10Writers.Shared: metaToJSON, generalized type so it can take a Text.John MacFarlane1-9/+9
Previously a String was needed as argument; now any ToJSON instance will do. API change.
2017-05-13Update dates in copyright noticesAlbert Krewinkel1-2/+2
This follows the suggestions given by the FSF for GPL licensed software. <https://www.gnu.org/prep/maintain/html_node/Copyright-Notices.html>
2017-03-23Pipe tables: impose minimum cell size.John MacFarlane1-5/+7
This might help with #3526. At any rate, it fixes another bug (see test/command/3526.md).
2017-03-23Grid tables: remove unnecessary extra space in cells.John MacFarlane1-1/+1
2017-03-23Writers.Shared.gridTable: defensive coding around 'maximum'.John MacFarlane1-1/+2
2017-03-21RST writer: improve grid table output, fix bug with empty rows.John MacFarlane1-17/+29
Uses the new gridTable in Writers.Shared, which is here improved to better handle 0-width cells. Closes #3516.
2017-03-21Moved more gridTable calculations to Writers.Shared.John MacFarlane1-5/+30
2017-03-21Moved gridTable from Markdown writer to Writers.Shared.John MacFarlane1-1/+42
2017-03-04Stylish-haskell automatic formatting changes.John MacFarlane1-13/+14
2017-02-25Fixed type sig for older GHC versions.John MacFarlane1-1/+1
2017-02-25Fixed addVariablesToJSON.John MacFarlane1-2/+5
It was previously not allowing multiple values to become lists.
2017-02-25Writers.Shared: export metaToJSON', addVariablesToJSON.John MacFarlane1-10/+28
This allows us to add the variables AFTER using the metadata to generate a YAML header (in the Markdown writer). Addresses the problem shown by https://travis-ci.org/jgm/pandoc/jobs/205154181#L705 See #3439
2017-02-25Writers.Shared: Changed metaToJSON a bit.John MacFarlane1-4/+17
Now we handle metadata first, then variables. This way, meta-json variable will not contain representations of variables, only proper metadata.
2017-02-05Removed redundant import.John MacFarlane1-1/+0
2017-02-04Implemented +/-smart in rst writer.John MacFarlane1-0/+15
Moved unsmartify to Writers.Shared.
2016-11-30Options: Removed writerStandalone, made writerTemplate a Maybe.John MacFarlane1-1/+2
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]
2016-07-01Writers: treat SoftBreak as space for strippingJesse Rosenthal1-0/+1
In Writers.Shared, we strip leading and trailing spaces for display math. Since SoftBreak's are treated as spaces, we should strip those too.
2015-11-23Define a `meta-json` variable for all writers.John MacFarlane1-2/+4
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-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-04-26Updated copyright notices to -2015. Closes #2111.John MacFarlane1-2/+2
2014-05-09Update copyright notices for 2014, add missing noticesAlbert Krewinkel1-2/+2
2014-01-02Moved fixDisplayMath from Docx writer to Writer.Shared.John MacFarlane1-0/+27
2013-12-19HLint: Remove lambdas.Henry de Valence1-2/+1