aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc
AgeCommit message (Collapse)AuthorFilesLines
2017-07-21LaTeX reader: improved heuristic for raw block/inline.John MacFarlane1-2/+18
An unknown command at the beginning of the line that could be either block or inline is treated as block if we have a sequence of block commands followed by a newline or a `\startXXX` command (which might start a raw ConTeXt environment).
2017-07-21Added TikiWiki reader (#3800)rlpowell2-0/+661
Added TikiWiki reader, including tests and documentation. It's probably not *complete*, but it works pretty well, handles all the basics (and some not-so-basics).
2017-07-21Muse reader: fix reading of lists inside tags (#3802)Alexander Krotov1-3/+2
2017-07-21LaTeX reader: handle optional args in raw `\titleformat`.John MacFarlane1-8/+15
Closes #3804.
2017-07-19Templates: change signature of getDefaultTemplate.John MacFarlane2-13/+14
Now it runs in any instance of PandocMonad, and returns a String rather than an Either value.
2017-07-19Class: started adding haddocks.John MacFarlane1-10/+39
2017-07-19LaTeX reader: fixed regression with starred environment names.John MacFarlane1-14/+3
Closes #3803.
2017-07-15Don't rely on listDirectory, which is only in newer versions...John MacFarlane1-2/+5
of directory.
2017-07-14Class: make addToFileTree handle directories recursively.John MacFarlane1-6/+15
2017-07-14Class: remove stFontFiles in PureState, 'glob' searches stFiles.John MacFarlane1-4/+2
2017-07-14Class: added addToFileTreeJohn MacFarlane1-0/+8
2017-07-14Fix ghc 8.2.1 compiler warnings.John MacFarlane1-23/+26
2017-07-14Revert "Fixed some ghc 8.2 compiler warnings."John MacFarlane1-14/+14
This reverts commit e22dc98a70d030cc6b4056d14ddd6462c7790f97.
2017-07-14Fixed some ghc 8.2 compiler warnings.John MacFarlane1-14/+14
(Unnecessary type constraints.)
2017-07-13Use foldrWithKey instead of deprecated foldWithKey.John MacFarlane2-2/+2
2017-07-13Add LaTeX xspace support (#3797)schrieveslaach1-0/+12
2017-07-13Merge branch 'master' of https://github.com/jgm/pandoc into textcolor-supportMarc Schreiber69-1801/+4164
2017-07-12Fixed #3760. (#3784)Yuchen Pei1-6/+26
Using the same solution as in the LaTeX reader: equation -> displaymath align -> displaymath \begin{aligned} ... \end{aligned} etc..
2017-07-12Muse writer: indent lists inside <quote> with at least one space (#3795)Alexander Krotov1-4/+11
2017-07-12Remove redundant imports (#3796)Alexander Krotov1-1/+1
2017-07-12Print informative message when failing with use of `--normalize`.John MacFarlane1-0/+2
We may want to think of some kind of graceful fallback, but the present behavior has the advantage of forcing people to update scripts when updating to pandoc 2.0. See #3786.
2017-07-12Make sure \write18 is parsed as raw LaTeX.John MacFarlane1-7/+9
The change is in the LaTeX reader's treatment of raw commands, but it also affects the Markdown reader.
2017-07-11HTML reader: Ensure that paragraphs are closed properly...John MacFarlane1-0/+2
when the parent block element closes, even without `</p>`. Closes #3794.
2017-07-07Use takeP in LaTeX reader.John MacFarlane1-4/+4
2017-07-07Parsing: added takeP, takeWhileP for efficient parsing of [Char].John MacFarlane1-2/+33
2017-07-07Rewrote LaTeX reader with proper tokenization.John MacFarlane14-1143/+1746
This rewrite is primarily motivated by the need to get macros working properly. A side benefit is that the reader is significantly faster (27s -> 19s in one benchmark, and there is a lot of room for further optimization). We now tokenize the input text, then parse the token stream. Macros modify the token stream, so they should now be effective in any context, including math. Thus, we no longer need the clunky macro processing capacities of texmath. A custom state LaTeXState is used instead of ParserState. This, plus the tokenization, will require some rewriting of the exported functions rawLaTeXInline, inlineCommand, rawLaTeXBlock. * Added Text.Pandoc.Readers.LaTeX.Types (new exported module). Exports Macro, Tok, TokType, Line, Column. [API change] * Text.Pandoc.Parsing: adjusted type of `insertIncludedFile` so it can be used with token parser. * Removed old texmath macro stuff from Parsing. Use Macro from Text.Pandoc.Readers.LaTeX.Types instead. * Removed texmath macro material from Markdown reader. * Changed types for Text.Pandoc.Readers.LaTeX's rawLaTeXInline and rawLaTeXBlock. (Both now return a String, and they are polymorphic in state.) * Added orgMacros field to OrgState. [API change] * Removed readerApplyMacros from ReaderOptions. Now we just check the `latex_macros` reader extension. * Allow `\newcommand\foo{blah}` without braces. Fixes #1390. Fixes #2118. Fixes #3236. Fixes #3779. Fixes #934. Fixes #982.
2017-07-06Logging: added MacroAlreadyDefined.John MacFarlane1-0/+9
2017-06-30Allow ibooks-specific metadata in epubs. Closes #2693.John MacFarlane1-5/+20
You can now have the following fields in your YAML metadata, and it will be treated appropriately in the generated EPUB. ``` ibooks: version: 1.3.4 specified-fonts: false ipad-orientation-lock: portrait-only iphone-orientation-lock: landscape-only binding: true scroll-axis: vertical ``` This commit also fixes a regression in stylesheet paths.
2017-06-30Removed `hard_line_breaks` extension from `markdown_github`.John MacFarlane1-1/+0
GitHub has two Markdown modes, one for long-form documents like READMEs and one for short things like issue coments. In issue comments, a line break is treated as a hard line break. In README, wikis, etc., it is treated as a space as in regular Markdown. Since pandoc is more likely to be used to convert long-form documents from GitHub Markdown, `-hard_line_breaks` is a better default. Closes #3594.
2017-06-30Make `east_asian_line_breaks` affect all readers/writers.John MacFarlane2-6/+14
Closes #3703.
2017-06-30Markdown writer: Ensure that `+` and `-` are escaped properly...John MacFarlane1-0/+3
so they don't cause spurious lists. Previously they were only if succeeded by a space, not if they were at end of line. Closes #3773.
2017-06-29Added parameter for user data directory to runLuaFilter.John MacFarlane3-9/+9
in Text.Pandoc.Lua. Also to pushPandocModule. This change allows users to override pandoc.lua with a file in their local data directory, adding custom functions, etc. @tarleb, if you think this is a bad idea, you can revert this. But in general our data files are all overridable.
2017-06-29Text.Pandoc.Lua: more code simplification.John MacFarlane1-30/+26
Also, now we check before running walkM that the function table actually does contain something relevant. E.g. if your filter just defines Str, there's no need to run walkM for blocks, meta, or the whole document. This should help performance a bit (and it does, in my tests).
2017-06-29Lua filters: Remove special treatment of Quoted, Math.John MacFarlane1-24/+8
No more SingleQuoted, DoubleQuoted, InlineMath, DisplayMath. This makes everything uniform and predictable, though it does open up a difference btw lua filters and custom writers.
2017-06-29Text.Pandoc.Lua: refactored to remove duplicated code.John MacFarlane1-34/+25
2017-06-29Text.Pandoc.Lua: use generics to reduce boilerplate.John MacFarlane1-32/+3
I tested this with the str.lua filter on MANUAL.txt, and I could see no significant performance degradation. Doing things this way will ease maintenance, as we won't have to manually modify this module when types change. @tarleb, do we really need special cases for things like DoubleQuoted and InlineMath?
2017-06-28Make `papersize: a4` work regardless of the case of `a4`.John MacFarlane2-0/+9
It is converted to `a4` in LaTeX and `A4` in ConTeXt.
2017-06-28Muse reader: parse indented blockquotes (#3769)Alexander Krotov1-1/+22
2017-06-28LaTeX writer: fixed detection of otherlangs.John MacFarlane1-3/+3
We weren't recursing into inline contexts. Closes #3770.
2017-06-27Text.Pandoc.Lua: catch lua errors in filter functionsAlbert Krewinkel1-11/+20
Replace lua errors with `LuaException`s.
2017-06-27Text.Pandoc.Lua: keep element unchanged if filter returns nilAlbert Krewinkel1-8/+13
This was suggested by jgm and is consistent with the behavior of other filtering libraries.
2017-06-27Text.Pandoc.Lua: simplify filter function runnerAlbert Krewinkel1-25/+11
The code still allowed to pass an arbitrary number of arguments to the filter function, as element properties were passed as function arguments at some point. Now we only pass the element as the single arg, so the code to handle multiple arguments is no longer necessary.
2017-06-27Require nonempty alt text for `implicit_figures`.John MacFarlane1-1/+2
A figure with an empty caption doesn't make sense. Closes #2844.
2017-06-27RST reader: support anchors.John MacFarlane1-1/+23
E.g. `hello` .. _hello: paragraph This is supported by putting "paragraph" in a Div with id `hello`. Closes #262.
2017-06-27RST reader: Handle chained link definitions.John MacFarlane1-7/+20
For example, .. _hello: .. _goodbye: example.com Here both `hello` and `goodbye` should link to `example.com`. Fixes the first part of #262.
2017-06-27Docx writer: Allow 9 list levels.John MacFarlane1-3/+9
Closes #3519.
2017-06-27HTML reader: Use the lang value of <html> to set the lang meta value. (#3765)bucklereed1-0/+9
* HTML reader: Use the lang value of <html> to set the lang meta value. * Fix for pre-AMP environments.
2017-06-26OpenDocument/ODT writer: Added support for table of contents.John MacFarlane1-0/+1
Closes #2836. Thanks to @anayrat.
2017-06-26Use `table-of-contents` for contents of toc, make `toc` a boolean.John MacFarlane3-6/+18
Changed markdown, rtf, and HTML-based templates accordingly. This allows you to set `toc: true` in the metadata; this previously produced strange results in some output formats. Closes #2872. For backwards compatibility, `toc` is still set to the toc contents. But it is recommended that you update templates to use `table-of-contents` for the toc contents and `toc` for a boolean flag.
2017-06-26Muse writer: fix hlint errors (#3764)Alexander Krotov1-17/+13