Commit graph

6774 commits

Author SHA1 Message Date
Joseph C. Sible
b018028ee9
Remove our bool function (#6116)
Data.Bool already provides a bool function identical to this one.
2020-02-04 22:38:49 -08:00
John MacFarlane
fd9c03febe Add timing info for filters in --verbose mode.
+ Add RunningFilter, FilterCompleted constructors to LogMessage
+ When verbose mode is specified (verbosity == INFO), print a
  notice when running a filter and when a filter completes (including
  timing).

Closes #6112.
2020-02-04 09:38:53 -08:00
John MacFarlane
30962e2e9d Allow & in LaTeX citation keys.
Closes #6110.
2020-02-03 20:38:49 -08:00
Joseph C. Sible
1ea5b18020
Swap suboptimal uses of maybe and fromMaybe (#6111)
Anywhere "maybe" is used with "id" as its second argument, using
"fromMaybe" instead will simplify the code. Conversely, anywhere
"fromMaybe" is used with the result of "fmap" or "<$>" as its second
argument, using "maybe" instead will simplify the code.
2020-02-03 20:31:05 -08:00
John MacFarlane
d9b1776336 Fix duplicate frame classes in LaTeX/Beamer output.
Close #6107.
2020-02-03 08:52:07 -08:00
Joseph C. Sible
6371ec241d
Clean up overcomplicated maybe logic (#6105)
We're using maybe in redundant ways. Remove it altogether in one case and
simplify it to fromMaybe in another.
2020-02-03 08:26:00 -08:00
Joseph C. Sible
8d6fac1253
Clean up a confusing triple negative (#6102)
There's currently `unless`, `not`, and `notParaOrPlain` in the same
expression, which is a rather confusing triple negative. Replace
`notParaOrPlain` with `paraOrPlain` and switch to `all` from `any`
to clean this up.
2020-02-03 08:14:22 -08:00
John MacFarlane
b47a3cdcb6 Text.Pandoc.Readers.CSV - reuse CSV parser from Text.Pandoc.CSV. 2020-02-01 07:34:15 -08:00
John MacFarlane
4b1f8584a5 Fix bug in Text.Pandoc.CSV.
Previously an extra blank record would sometimes be inserted at the
end.
2020-02-01 07:33:55 -08:00
John MacFarlane
22f484e9a9 Support 'bibliography' and 'csl' fields in defaults file.
Move addMeta from T.P.App.CommandLineOptions to T.P.App.Opt.
(not an api change because modules not exported)
2020-01-31 21:56:28 -08:00
John MacFarlane
fb3df6cf19 csv reader: allow empty cells. 2020-01-31 21:43:19 -08:00
John MacFarlane
f9514ccb9e Add Text.Pandoc.Readers.CSV (readCSV).
This adds csv as an input format.
The CSV table is converted into a pandoc simple table.

Closes #6100.
2020-01-31 21:14:21 -08:00
John MacFarlane
e6399d162a Added a try that was needed for the commit fc78be1.
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-28 21:32:30 -08:00
John MacFarlane
ff4dd2b1dd
Docx writer: fix regression with Compact style on tight lists. (#6073)
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-19 18:24:32 -08:00
Albert Krewinkel
672a4bdd1d Lua filters: allow filtering of element lists (#6040)
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-15 14:26:00 -08:00
John MacFarlane
157936c927 HTML writer: fix duplicate attributes on headings.
Another regression from 2.7.x. Closes #6062.
2020-01-12 15:18:37 -08:00
John MacFarlane
42b915e656 LaTeX reader: allow beamer overlays for all commands in all raw tex.
This affecs parsing of raw tex in LaTeX and in Markdown and
other formats.

Closes #6043.
2020-01-10 08:26:33 -08:00
John MacFarlane
5b902abe87 Change setVariable to use Text instead of String.
This avoids some unnecessary unpacking.
(This is only an internal module so it's not an API change.)
2020-01-08 09:05:24 -08:00
John MacFarlane
fc78be1140 LaTeX reader: improve parsing of raw environments.
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-08 08:43:51 -08:00
Albert Krewinkel
bef0133fe0
Jira writer: fix output of table headers
Headers were missing from tables.

Fixes: #6035
2020-01-07 22:11:51 +01:00
John MacFarlane
ad5f7ecfce Fix regression in handling of columns in beamer slides.
Columns in title slides were causing problems with
slide division.  Closes #6033.
2020-01-07 11:11:23 -08:00
John MacFarlane
2a67b7aea9 Reveal.js writer: restore old behavior for 2D nesting.
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-07 10:11:46 -08:00
John MacFarlane
66bca029c7 Fix regression in beamer slide structure with certain slide levels.
Closes #6030.
2020-01-05 11:10:07 -08:00
John MacFarlane
0dff9b3cd2 Fix revealjs slide structure regression with certain slide levels.
Partially addresses #6030.
2020-01-05 09:42:35 -08:00
John MacFarlane
b96febddef Added a needed pragma. 2020-01-04 10:07:26 -08:00
John MacFarlane
8ed749702f Add type annotations to assist ghci. 2020-01-04 09:55:15 -08:00
John MacFarlane
c5b6321b21 Remove unneeded import. 2020-01-04 09:47:44 -08:00
John MacFarlane
82f0b2755b HTML writer: Add newlines to make slide show output more readable. 2020-01-04 09:36:01 -08:00
John MacFarlane
f391560c1a PDF: fix runTeXProgram so that the input source is always overwritten.
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-03 21:57:15 -08:00
Albert Krewinkel
c3a00c1fdc
Org writer: remove extra spaces from table cells
Closes: #6024
2020-01-03 00:00:57 +01:00
John MacFarlane
2c1a911bc1 LaTeX writer: properly handle unnumbered headings level 4+.
Closes #6018.

Previously the `\paragraph` command was used instead of
`\paragraph*` for unnumbered level 4 headings.
2020-01-01 22:32:27 -07:00
John MacFarlane
4affd40194 BCP47: change getLang so it can handle block-level contents.
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-30 23:21:22 -07:00
John MacFarlane
82f44592ae Fix parsing bug affected indented code after raw HTML.
Closes #6009, #5360.
2019-12-27 13:08:22 -08:00
John MacFarlane
b8bd845542 Add a needed try. 2019-12-27 10:37:01 -08:00
Felix Yan
1ff732269e Use HTTPS in copyright message (#6010)
Since the website now redirect to https automatically, it would be nice to just use https in the help text.
2019-12-26 12:26:24 -08:00
John MacFarlane
71fab252d5 Ensure that later default file values for variable replace earlier ones.
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-22 22:01:30 -08:00
John MacFarlane
eca39d6cf1 HTML writer: more tweaks to avoid round-trip failures...
having to do with makeSections.
2019-12-21 12:26:29 -08:00
John MacFarlane
42f0b0cdab Fix regression with --number-sections.
Starting with 2.8, `--number-sections` also had the
effect of `--section-divs`, even if `--section-divs` was
not specified.
2019-12-21 09:20:07 -08:00
Jared Lander
e77c218fbc Added glsl mime type for WebGL maps (#6000)
Added glsl mime type for WebGL maps
2019-12-20 22:01:18 -08:00
Albert Krewinkel
2c13773be8
Jira writer: use jira-wiki-markup renderer
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-20 17:12:46 +01:00
Albert Krewinkel
b06124e43a
Org reader: report errors properly
Errors during parsing are now returned in full and no longer replaced by
a custom message.
2019-12-19 20:39:29 +01:00
Albert Krewinkel
0a3cc7260c
Org reader: fix parsing problem for colons in headline
Fixed a problem where words surrounded by colons could causing parse
failures in some cases when they occurred in headers.

Fixes: #5993
2019-12-19 20:38:51 +01:00
Albert Krewinkel
5bd2d28b19
Org reader: wrap named table in div, using name as id
Closes: #5984
2019-12-18 22:28:26 +01:00
Albert Krewinkel
96c80b156d Add jira reader (#5913)
Closes #5556
2019-12-17 21:07:46 -08:00
John MacFarlane
d0918627ca Improved --toc generation. 2019-12-17 11:59:52 -08:00
John MacFarlane
80728c8b31 PDF: Ensure UTF8 when printing source in --verbose mode.
This may fix #5997.
2019-12-17 11:59:52 -08:00
John MacFarlane
01b89d87f4 Templates: strip directory before trying to find partial in data files.
Closes #5987.
2019-12-17 11:59:52 -08:00
John MacFarlane
20cf4e47b0 Improved makeSections so we don't get doubled attributes.
Closes #5986.
2019-12-17 11:59:52 -08:00
John MacFarlane
11bab77120 HTML reader: Add "nav" to list of block-level tags. 2019-12-17 11:59:52 -08:00
Albert Krewinkel
75dc013036
Org reader: add table labels to caption if both are present
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-13 16:22:04 +01:00