aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2017-05-14Org reader: add basic file inclusion mechanismAlbert Krewinkel3-5/+43
Support for the `#+INCLUDE:` file inclusion mechanism was added. Recognized include types are *example*, *export*, *src*, and normal org file inclusion. Advanced features like line numbers and level selection are not implemented yet. Closes: #3510
2017-05-14Parsing: add `insertIncludedFilesF` which returns F blocksAlbert Krewinkel1-7/+24
The `insertIncludeFiles` function was generalized and renamed to `insertIncludedFiles'`; the specialized versions are based on that.
2017-05-14Parsing: introduce `HasIncludeFiles` type classAlbert Krewinkel1-9/+22
The `insertIncludeFile` function is generalized to work with all parser states which are instances of that class.
2017-05-14Parsing: replace partial with total functionAlbert Krewinkel1-1/+1
Calling `tail` on an empty list raises an exception, while calling the otherwise equivalent `drop 1` will return the empty list again.
2017-05-13Update dates in copyright noticesAlbert Krewinkel71-138/+144
This follows the suggestions given by the FSF for GPL licensed software. <https://www.gnu.org/prep/maintain/html_node/Copyright-Notices.html>
2017-05-13Add haddock module description to FB2 writerAlbert Krewinkel1-1/+11
Copyright, maintainer etc. were missing in haddock docs for this module.
2017-05-13Change maintainer line in Org writer moduleAlbert Krewinkel1-1/+1
2017-05-12Replace `repeat' and `take' with `replicate' once moreAlexander Krotov1-1/+1
2017-05-11Combine grid table parsersAlbert Krewinkel2-101/+52
The grid table parsers for markdown and rst was combined into one single parser, slightly changing parsing behavior of both parsers: - The markdown parser now compactifies block content cell-wise: pure text blocks in cells are now treated as paragraphs only if the cell contains multiple paragraphs, and as plain blocks otherwise. Before, this was true only for single-column tables. - The rst parser now accepts newlines and multiple blocks in header cells. Closes: #3638
2017-05-07Markdown writer: missing \n (#3647)David A Roberts1-1/+1
2017-05-07Muse writer: Indent tables with one space (#3649)Alexander Krotov1-2/+2
It is required to trigger Muse table rendering.
2017-05-07Rename fillMedia -> fillMediaBag.John MacFarlane3-7/+8
2017-05-07PDF: use fillMedia and extractMedia to extract media to tmp dir.John MacFarlane1-39/+11
This reduces code duplication. We should be able to do something similar in ODT, Docx, EPUB writers.
2017-05-07Moved fillMedia, extractMedia from App to Class.John MacFarlane2-52/+56
Also generalized type of fillMedia to any instance of PandocMonad.
2017-05-07Added PandocHttpException, trap exceptions in fetching from URLs.John MacFarlane4-9/+26
Closes #3646.
2017-05-07Remove https flag.John MacFarlane1-21/+0
Supporting two completely different libraries for fetching from URLs makes it difficult to trap errors, because of different error types expected from the libraries. There's no clear reason not to build with these https-capable libraires.
2017-05-07fillMediaBag: don't cause fatal error if resource not found.John MacFarlane1-10/+19
Report warning instead and change image to its alt text.
2017-05-07Allow `--extract-media` to work with non-binary input formats.John MacFarlane1-4/+26
If `--extract-media` is supplied with a non-binary input format, pandoc will attempt to extract the contents of all linked images, whether in local files, data: uris, or external uris. They will be named based on the sha1 hash of the contents. Closes #1583, #2289. Notes: - One thing that is slightly subideal with this commit is that identical resources will be downloaded multiple times. To improve this we could have mediabag store an original filename/url + a new name. - We might think about reusing some of this code, since more or less the same thing is done in the Docx, EPUB, PDF writers (with slight variations).
2017-05-07Simplify plumbing for document transformation.John MacFarlane1-25/+21
2017-05-06Markdown reader: improved parsing of indented raw HTML blocks.John MacFarlane1-1/+7
Previously we inadvertently interpreted indented HTML as code blocks. This was a regression. We now seek to determine the indentation level of the contents of an HTML block, and (optionally) skip that much indentation. As a side effect, indentation may be stripped off of raw HTML blocks, if `markdown_in_html_blocks` is used. This is better than having things interpreted as indented code blocks. Closes #1841.
2017-05-06LaTeX reader: Better handling of comments inside math environments.John MacFarlane1-30/+43
This solves a problem with commented out `\end{eqnarray}` inside an eqnarray (among other things). Closes #3113.
2017-05-06Fix keyval funtion: pandoc did not parse options in braces correctly.… (#3642)schrieveslaach1-1/+1
* Fix keyval funtion: pandoc did not parse options in braces correctly. Additionally, dot, dash, and colon were no valid characters * Add | as possible option value * Improved code
2017-05-06Drop redundant import of sortAlbert Krewinkel1-1/+1
This was left in accidentally.
2017-05-06Org reader: support macrosAlbert Krewinkel3-1/+65
Closes: #3401
2017-05-05Revert "SelfContained: special handling for css @import."John MacFarlane1-36/+5
This reverts commit 89b3fcc8e050def3779fed716d70bfd4e7120a6b.
2017-05-05SelfContained: special handling for css @import.John MacFarlane1-5/+36
We now avoid creating a data URI for the url under an @import.
2017-05-05SelfContained: Handle url() inside material retrieved from url().John MacFarlane1-3/+12
This can happen e.g. with an @import of a google web font. (What is imported is some CSS which contains an url reference to the font itself.) Also, allow unescaped pipe (|) in URL. This is intended to help with #3629, but it doesn't seem to work.
2017-05-04Include `backtick_code_blocks` extension in `mardkown_mmd`.John MacFarlane1-0/+1
Closes #3637.
2017-05-04Muse writer: omit automatic header identifiers (#3633)Alexander Krotov1-1/+10
2017-05-03Org reader: support table.el tablesAlbert Krewinkel3-8/+18
Closes #3314
2017-05-02Generalize tableWith, gridTableWithAlbert Krewinkel2-26/+35
The parsing functions `tableWith` and `gridTableWith` are generalized to work with more parsers. The parser state only has to be an instance of the `HasOptions` class instead of requiring a concrete type. Block parsers are required to return blocks wrapped into a monad, as this makes it possible to use parsers returning results wrapped in `Future`s.
2017-05-03Markdown writer: better escaping for links (#3628)David A Roberts1-1/+10
Previously the Markdown writer would sometimes create links where there were none in the source. This is now avoided by selectively escaping bracket characters when they occur in a place where a link might be created. Closes #3619.
2017-05-03LaTeX reader: Add support for tabularx environment (#3632)schrieveslaach1-1/+6
2017-05-03Markdown Writer: put space before reference link definitionsMauro Bieg1-1/+1
Fixes #3630 (#3631). Previously the attributes in link reference definitions did not have a space preceding.
2017-05-02Added PandocResourceNotFound error.John MacFarlane6-29/+14
Use this instead of PandocIOError when a resource is not found in path. This improves the error message in this case, see #3629.
2017-05-02Markdown writer: Case-insensitive reference links. (#3616)David A Roberts1-14/+16
Ensure that we do not generate reference links whose labels differ only by case. Also allow implicit reference links when the link text and label are identical up to case. Closes #3615.
2017-05-02FB2 writer: Add support for "lang" metadata (#3625)Alexander Krotov1-2/+7
2017-04-30Lua filter: fall-back to global filters when none is returnedAlbert Krewinkel1-1/+12
The implicitly defined global filter (i.e. all element filtering functions defined in the global lua environment) is used if no filter is returned from a lua script. This allows to just write top-level functions in order to define a lua filter. E.g function Emph(elem) return pandoc.Strong(elem.content) end
2017-04-30Lua module: simplify Attributes, rename to AttrAlbert Krewinkel1-1/+1
Attributes was written to behave much like a normal table, in order to simplify working with it. However, all Attr containing elements were changed to provide panflute-like accessors to Attr components, rendering the previous approach unnecessary.
2017-04-30Lua module: make Header argument order consistentAlbert Krewinkel1-1/+1
Attributes are always passed as the last element, making it possible to omit this argument. Argument order for `Header` was wrong and is fixed.
2017-04-30Provide shared F monad functions for Markdown and Org readersAlbert Krewinkel4-52/+36
The `F` monads used for delayed evaluation of certain values in the Markdown and Org readers are based on a shared data type capturing the common pattern of both `F` types.
2017-04-30Add returnF to Text.Pandoc.ParsingAlexander Krotov2-3/+3
2017-04-30Org reader: Avoid creating nullMeta by applying setMeta directlyAlexander Krotov1-4/+1
2017-04-29LaTeX writer: Fix problem with escaping in lstinline.John MacFarlane1-1/+6
Previously the LaTeX writer created invalid LaTeX when `--listings` was specified and a code span occured inside emphasis or another construction. This is because the characters `%{}\` must be escaped in lstinline when the listinline occurs in another command, otherwise they must not be escaped. To deal with this, adoping Michael Kofler's suggestion, we always wrap lstinline in a dummy command `\passthrough`, now defined in the default template if `--listings` is specified. This way we can consistently escape the special characters. Closes #1629.
2017-04-28LaTeX writer: don't use lstinline it \item[..].John MacFarlane1-1/+7
If you do, the contents of item disappear or are misplaced. Use `\texttt` instead. Closes #645.
2017-04-28Ms writer: make use of already defined render' (#3613)Alexander Krotov1-2/+2
2017-04-28Muse writer: Do not reflow directives (#3614)Alexander Krotov1-2/+2
Directives at the beginning of documents cannot span multiple lines so they must not be reflown.
2017-04-26Lua module: provide simple `read` format parserAlbert Krewinkel2-67/+28
A single `read` function parsing pandoc-supported formats is added to the module. This is simpler and more convenient than the previous method of exposing all reader functions individually.
2017-04-26API change: move writer functions to Text.Pandoc.WritersAlbert Krewinkel2-154/+195
Writer helper functions were defined in the top-level Text.Pandoc module. These functions are moved to the Writer submodule as to enable reuse in other submodules.
2017-04-26API change: move reader functions to Text.Pandoc.ReadersAlbert Krewinkel2-92/+150
Reader helper functions were defined in the top-level Text.Pandoc module. These functions are moved to the Readers submodule as to enable reuse in other submodules.