aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2020-02-01Fix bug in Text.Pandoc.CSV.John MacFarlane1-4/+4
Previously an extra blank record would sometimes be inserted at the end.
2020-01-31Support 'bibliography' and 'csl' fields in defaults file.John MacFarlane2-24/+42
Move addMeta from T.P.App.CommandLineOptions to T.P.App.Opt. (not an api change because modules not exported)
2020-01-31csv reader: allow empty cells.John MacFarlane1-7/+5
2020-01-31Add Text.Pandoc.Readers.CSV (readCSV).John MacFarlane3-0/+112
This adds csv as an input format. The CSV table is converted into a pandoc simple table. Closes #6100.
2020-01-28Added a try that was needed for the commit fc78be1.John MacFarlane1-1/+1
The intent of that commit was to parse unknown LaTeX enivronments as verbatim if they can't be parsed normally, avoiding crashes on environments that allow unescaped underscores and the like. But the fix didn't completely work: it worked for raw TeX in markdown but not when reading LaTeX. This change fixes that. See #6034. Closes #6093.
2020-01-19Docx writer: fix regression with Compact style on tight lists. (#6073)John MacFarlane1-1/+9
Starting in 2.8, the docx writer no longer distinguishes between tight and loose lists, since the Compact style is omitted. This is a side-effect of the fix to #5670, as explained in the changelog: + Preserve built-in styles in DOCX with custom style (Ben Steinberg, #5670). This change prevents custom styles on divs and spans from overriding styles on certain elements inside them, like headings, blockquotes, and links. On those elements, the "native" style is required for the element to display correctly. This change also allows nesting of custom styles; in order to do so, it removes the default "Compact" style applied to Plain blocks, except when inside a table. This patch fixes the problem by extending the exception currently offered to Plain blocks inside tables to Plain blocks inside list items. Closes #6072.
2020-01-15Lua filters: allow filtering of element lists (#6040)Albert Krewinkel3-29/+114
Lists of Inline and Block elements can now be filtered via `Inlines` and `Blocks` functions, respectively. This is helpful if a filter conversion depends on the order of elements rather than a single element. For example, the following filter can be used to remove all spaces before a citation: function isSpaceBeforeCite (spc, cite) return spc and spc.t == 'Space' and cite and cite.t == 'Cite' end function Inlines (inlines) for i = #inlines-1,1,-1 do if isSpaceBeforeCite(inlines[i], inlines[i+1]) then inlines:remove(i) end end return inlines end Closes: #6038
2020-01-12HTML writer: fix duplicate attributes on headings.John MacFarlane1-9/+10
Another regression from 2.7.x. Closes #6062.
2020-01-10LaTeX reader: allow beamer overlays for all commands in all raw tex.John MacFarlane1-10/+10
This affecs parsing of raw tex in LaTeX and in Markdown and other formats. Closes #6043.
2020-01-08Change setVariable to use Text instead of String.John MacFarlane2-21/+20
This avoids some unnecessary unpacking. (This is only an internal module so it's not an API change.)
2020-01-08LaTeX reader: improve parsing of raw environments.John MacFarlane1-1/+1
If parsing fails in a raw environment (e.g. due to special characters like unescaped `_`), try again as a verbatim environment, which is less sensitive to special characters. This allows us to capture special environments that change catcodes as raw tex when `-f latex+raw_tex` is used. Closes #6034.
2020-01-07Jira writer: fix output of table headersAlbert Krewinkel1-4/+4
Headers were missing from tables. Fixes: #6035
2020-01-07Fix regression in handling of columns in beamer slides.John MacFarlane1-5/+6
Columns in title slides were causing problems with slide division. Closes #6033.
2020-01-07Reveal.js writer: restore old behavior for 2D nesting.John MacFarlane1-11/+17
The fix to #6030 actually changed behavior, so that the 2D nesting occurred at slide level N-1 and N, instead of at the top-level section. This commit restores the 2.7.3 behavior. If there are more than 2 levels, the top level is horizontal and the rest are collapsed to vertical. Closes #6032.
2020-01-05Fix regression in beamer slide structure with certain slide levels.John MacFarlane1-8/+17
Closes #6030.
2020-01-05Fix revealjs slide structure regression with certain slide levels.John MacFarlane1-6/+8
Partially addresses #6030.
2020-01-04Added a needed pragma.John MacFarlane1-0/+1
2020-01-04Add type annotations to assist ghci.John MacFarlane4-7/+13
2020-01-04Remove unneeded import.John MacFarlane1-1/+1
2020-01-04HTML writer: Add newlines to make slide show output more readable.John MacFarlane1-6/+8
2020-01-03PDF: fix runTeXProgram so that the input source is always overwritten.John MacFarlane1-22/+23
Previously it wasn't overridden if the file already existed, which led to bad results on subsequent runs when `pdf-engine-opt=-output-directory=` was used to specify an explicit temp dir. Closes #6027.
2020-01-03Org writer: remove extra spaces from table cellsAlbert Krewinkel1-1/+1
Closes: #6024
2020-01-01LaTeX writer: properly handle unnumbered headings level 4+.John MacFarlane1-1/+1
Closes #6018. Previously the `\paragraph` command was used instead of `\paragraph*` for unnumbered level 4 headings.
2019-12-30BCP47: change getLang so it can handle block-level contents.John MacFarlane1-3/+5
Some readers (e.g. RST) will populate the `lang` metadata field with block-level content. `getLang` has been modified to handle this. Previously in these cases the LaTeX writer would not properly set the "main language" of the document. Closes #6008.
2019-12-27Fix parsing bug affected indented code after raw HTML.John MacFarlane1-8/+10
Closes #6009, #5360.
2019-12-27Add a needed try.John MacFarlane1-2/+3
2019-12-26Use HTTPS in copyright message (#6010)Felix Yan1-1/+1
Since the website now redirect to https automatically, it would be nice to just use https in the help text.
2019-12-22Ensure that later default file values for `variable` replace earlier ones.John MacFarlane1-1/+3
The semigroup instance for doctemplates Context does a left-biased union on the underlying Map. That means that if you union `{a: 1}` and `{a: 2}`, you get `{a: 1}`. This commit causes pandoc to do the operation in the opposite order, so that later default files take precedence in the values they assign to keys. See #5988.
2019-12-21HTML writer: more tweaks to avoid round-trip failures...John MacFarlane1-2/+5
having to do with makeSections.
2019-12-21Fix regression with --number-sections.John MacFarlane1-2/+1
Starting with 2.8, `--number-sections` also had the effect of `--section-divs`, even if `--section-divs` was not specified.
2019-12-20Added glsl mime type for WebGL maps (#6000)Jared Lander1-0/+1
Added glsl mime type for WebGL maps
2019-12-20Jira writer: use jira-wiki-markup rendererAlbert Krewinkel1-266/+222
Pandoc's AST is translated into the Jira AST, which is then rendered by the dedicated Jira printer. The following improvements are included in this change: - non-jira raw blocks are fully discarded instead of showing as blank lines; - table cells can contain multiple blocks; - unnecessary blank lines are removed from the output; - markup chars within words are properly surrounded by braces; - preserving soft linebreaks via `--wrap=preserve` is supported. Note that backslashes are rendered as HTML entities, as there appears no alternative to produce a plain backslash if it is followed by markup. This may cause problems when used with confluence, where rendering seems to fail in this case. Closes: #5926
2019-12-19Org reader: report errors properlyAlbert Krewinkel1-2/+1
Errors during parsing are now returned in full and no longer replaced by a custom message.
2019-12-19Org reader: fix parsing problem for colons in headlineAlbert Krewinkel2-11/+27
Fixed a problem where words surrounded by colons could causing parse failures in some cases when they occurred in headers. Fixes: #5993
2019-12-18Org reader: wrap named table in div, using name as idAlbert Krewinkel1-12/+10
Closes: #5984
2019-12-17Add jira reader (#5913)Albert Krewinkel2-0/+176
Closes #5556
2019-12-17Improved --toc generation.John MacFarlane3-9/+5
2019-12-17PDF: Ensure UTF8 when printing source in --verbose mode.John MacFarlane1-1/+1
This may fix #5997.
2019-12-17Templates: strip directory before trying to find partial in data files.John MacFarlane1-3/+4
Closes #5987.
2019-12-17Improved makeSections so we don't get doubled attributes.John MacFarlane2-14/+19
Closes #5986.
2019-12-17HTML reader: Add "nav" to list of block-level tags.John MacFarlane1-1/+2
2019-12-13Org reader: add table labels to caption if both are presentAlbert Krewinkel1-3/+11
The table `#+NAME:` or `#+LABEL:` is added to the table's caption in the form of an empty span with the label set as the span's ID. Closes: #5984
2019-12-12Change misleading module comment.John MacFarlane1-1/+1
2019-12-11Improved template API and fixed a bug. Closes #5979.John MacFarlane3-43/+65
* Text.Pandoc.Templates [API change] + Add Monad wrappers `WithDefaultPartials` and `WithPartials`. Wrapping these around an instance of `PandocMonad` gives us different instances of `TemplateMonad`, with different search behavior in retrieving partials. To compile a template and limit partial search to pandoc's data files, use `runWithDefaultPartials (compileTemplate ...)`. To compile a template and allow partials to be found locally (either on the file system or via HTTP, in the event that the main template has an absolute URL), ue `runWithPartials (compileTemplate ...)`. + Export `getTemplate`, which seeks a template locally, or via HTTP if the template has an absolute URL, falling back to the data files if not found. + Export `compileDefaultTemplate` -- does `getDefaultTemplate` and compiles the result, raising an error on failure. * Text.Pandoc.Class [API change] + Remove `TemplateMonad` instances for `PandocIO` and `PandocPure`. These were too limiting and caused a bug whereby a local partial could be used even when the default template was requested. We now rely on instances provided in the Templates module. Text.Pandoc.App.OutputSettings + Simplify template retrieval code.
2019-12-09More informative JSON parse error.John MacFarlane1-1/+1
Closes #5973.
2019-12-08Use external emojis package.John MacFarlane2-47/+7
Moved the emoji-specified code into an external package we can depend on.
2019-12-07Fix --toc-depth regression in 2.8.John MacFarlane1-6/+6
Closes #5967.
2019-12-07Fix --toc-depth regression in 2.8.John MacFarlane1-3/+3
Closes #5967.
2019-12-05Avoid deprecation warning for minimumDef using CPP.John MacFarlane1-1/+6
2019-12-05Roll back part of of `--shift-heading-level-by` change.John MacFarlane1-6/+0
With positive heading shifts, starting in 2.8 this option caused metadata titles to be removed and changed to regular headings. This behavior is incompatible with the old behavior of `--base-header-level` and breaks old workflows, so with this commit we are rolling back this change. Now, there is an asymmetry in positive and negative heading level shifts: + With positive shifts, the metadata title stays the same and does not get changed to a heading in the body. + With negative shifts, a heading can be converted into the metadata title. I think this is a desirable combination of features, despite the asymmetry. One might, e.g., want to have a document with level-1 section headigs, but render it to HTML with level-2 headings, retaining the metadata title (which pandoc will render as a level-1 heading with the default template). Closes #5957. Revises #5615.