Commit graph

1224 commits

Author SHA1 Message Date
John MacFarlane
3b4dc3a2b0 Use skylighting 0.8.3.2. 2020-01-21 17:57:23 -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
9009bda179 Update versions for doclayout, doctemplates.
Closes #6031.  The new version of doclayout fixes a
memory leak that affected `--include-in-header` with
large files (and possibly other cases involving extremely
long lines).
2020-01-13 08:39:25 -08:00
John MacFarlane
e4b2252a94 Bump to 2.9.1.1, update manual. 2020-01-05 11:15:52 -08:00
John MacFarlane
7ba55d7405 Improve pandoc man page generation.
Use before and after includes rather than special template.
2019-12-22 21:30:01 -08:00
Albert Krewinkel
89bbfa1891
pandoc.cabal: remove redundancies in extra-source-files 2019-12-18 08:05:19 +01:00
John MacFarlane
a70e62f0ac Add Jira to list of input formats in cabal description. 2019-12-17 21:08:48 -08:00
Albert Krewinkel
96c80b156d Add jira reader (#5913)
Closes #5556
2019-12-17 21:07:46 -08:00
John MacFarlane
1bc20fae0d Bump to 2.9.1. 2019-12-17 12:13:09 -08:00
John MacFarlane
a098278505 Bump version to 2.9 because of API change in Templates, Class. 2019-12-11 10:54:15 -08:00
John MacFarlane
0bfe478a69 Use external emojis package.
Moved the emoji-specified code into an external package
we can depend on.
2019-12-08 17:27:18 -08:00
John MacFarlane
5295607de7 Use doctemplates 0.8. 2019-12-07 12:31:05 -08:00
John MacFarlane
892995c6de Bump to 2.8.1 2019-12-05 12:25:40 -08:00
John MacFarlane
6c435a17cd Move data/emoji.json to emoji.json, add to extra-source-files.
This doesn't really belong in data-files as it's not loaded
dynamically.
2019-12-03 16:38:19 -08:00
John MacFarlane
0d0ec98dd5 Generate Emoji module with TH.
- Add Text.Pandoc.Emoji.TH.
- Replace long literal list in Text.Pandoc.Emoji with one-liner
  generating it from data/emoji.json using TH.
- Add Makefile target to download data/emoji.json.
- Remove tools/emoji.hs.
2019-11-27 21:31:53 -08:00
John MacFarlane
e479a88722 Bump to 2.8.0.1 and update changelog and manual. 2019-11-26 21:18:31 -08:00
John MacFarlane
ec219f911e Use skylighting 0.8.3. 2019-11-26 10:41:43 -08:00
John MacFarlane
659ee98176 Add unexported Text.Pandoc.Readers.Metadata.
For YAML metadata parsing. A step in the direction of #5914.
No API change.
2019-11-24 11:50:28 -08:00
John MacFarlane
7fb9432ae1 Update to doctemplates 0.7.2, update template docs.
This adds the `nowrap` filter.
2019-11-24 09:53:45 -08:00
John MacFarlane
06124fb863 Use doctemplates 0.7.1 2019-11-18 17:46:43 -08:00
John MacFarlane
3645f9babe Fixed some test locations and put test data files in extra-source-files. 2019-11-14 06:21:00 -08:00
despresc
90e436d496 Switch to new pandoc-types and use Text instead of String [API change].
PR #5884.

+ Use pandoc-types 1.20 and texmath 0.12.
+ Text is now used instead of String, with a few exceptions.
+ In the MediaBag module, some of the types using Strings
  were switched to use FilePath instead (not Text).
+ In the Parsing module, new parsers `manyChar`, `many1Char`,
  `manyTillChar`, `many1TillChar`, `many1Till`, `manyUntil`,
  `mantyUntilChar` have been added: these are like their
  unsuffixed counterparts but pack some or all of their output.
+ `glob` in Text.Pandoc.Class still takes String since it seems
  to be intended as an interface to Glob, which uses strings.
  It seems to be used only once in the package, in the EPUB writer,
  so that is not hard to change.
2019-11-12 16:03:45 -08:00
John MacFarlane
4f1224dc0b Use latest doclayout.
Closes #5863.
2019-10-30 21:26:21 -07:00
Florian Klink
c6e936dec2 docbook reader: fix nesting of chapters and sections (#5864)
* Set dbBook to true when traversing a chapter too.
  Currently, a `<title/>` in a chapter and in a `<section/>` below that
  chapter have the same level if they're not inside a `<book/>`.

  This can happen in a multi-file book project. Also see the example at
  https://tdg.docbook.org/tdg/4.5/chapter.html

  Co-authored-by: Félix Baylac-Jacqué <felix@alternativebit.fr>

* Add docbook-chapter test

  This tests nested `<section/>` and makes sure `<title/>` in the first
  `<section/>` below `<chapter/>` is one level deeper than the `<chapter/>`'s
  `<title/>`, also when not inside a `<book/>`.

  Co-authored-by: Félix Baylac-Jacqué <felix@alternativebit.fr>
2019-10-30 08:51:33 -07:00
John MacFarlane
1fe9742263 Changes to build with new doctemplates/doclayout.
The new version of doctemplates adds many features to pandoc's
templating system, while remaining backwards-compatible.
New features include partials and filters.  Using template filters,
one can lay out data in enumerated lists and tables.

Templates are now layout-sensitive: so, for example, if a
text with soft line breaks is interpolated near the end of
a line, the text will break and wrap naturally.  This makes
the templating system much more suitable for programatically
generating markdown or other plain-text files from metadata.
2019-10-29 22:21:35 -07:00
John MacFarlane
a0aeb135b3 Minor template & test changes for latest dev doctemplates. 2019-10-14 23:42:29 -07:00
John MacFarlane
7388cd3e7a Improve parsing of --defaults.
- Add FromYAML instances to Opt and to all subsidiary types.
- Remove the use of HsYAML-aeson, which doesn't give good
  position information on errors.
- Rename some fields in Opt to better match cli options or
  reflect what the ycontain [API change]:

  + optMetadataFile -> optMetadataFiles
  + optPDFEngineArgs -> optPDFEngineOpts
  + optWrapText -> optWrap
- Add IpynbOutput enumerated type to Text.Pandoc.App.Opts.
  Use this instead fo a string for optIpynbOutput.
- Add FromYAML instance for Filter in Text.Pandoc.Filters.

With these changes parsing of defaults files should be
complete and should give decent error messages.

Now (unlike before) we get an error if an unknown field
is used.
2019-10-10 23:21:18 -07:00
John MacFarlane
3351dcfc45 Add HsYAML-aeson to build-depends 2019-10-09 11:01:33 -07:00
John MacFarlane
aceee9ca48 Options.WriterOptions: Change type of writerVariables to Context Text.
This will allow structured values.

[API change]
2019-10-09 11:01:33 -07:00
John MacFarlane
8fb9a0d168 Remove derive_json_via_th flag; always use TH.
This cuts down on code duplication and reduces the chance
for errors.  See #4083.
2019-10-07 21:23:50 -07:00
John MacFarlane
b235a187dc Make derive_json_via_th flag false by default 2019-10-07 17:33:41 -07:00
John MacFarlane
4ca1db0643 Require haddock-library >= 1.8 2019-10-04 07:20:48 -07:00
John MacFarlane
20c87962e3 Use texmath 0.11.3 2019-10-03 21:59:06 -07:00
John MacFarlane
4f75fed976 Don't use -Wnoncanonical-monadfail-instances which is deprecated in ghc 8.8. 2019-10-03 21:30:03 -07:00
John MacFarlane
78ff2234f4 Allow latest haddock-library. 2019-10-03 21:30:03 -07:00
John MacFarlane
383023374b Use latest skylighting. 2019-10-03 11:11:23 -07:00
John MacFarlane
4212c09296 Use skylighting >= 0.8.2.2. 2019-09-30 22:48:10 -07:00
John MacFarlane
e02a913137 Markdownify changelog -> changelog.md. 2019-09-28 10:46:41 -07:00
John MacFarlane
c6aab850b5 Require doctemplates 0.6.1. 2019-09-27 22:36:58 -07:00
John MacFarlane
fe72c9bbe4 Use latest skylighting.
This addresses #5776 for now, though ultimately we need a
new release of regex-pcre-builtin or some other solution.
2019-09-25 17:36:17 -07:00
John MacFarlane
251e2b2d6d Use latest texmath. 2019-09-24 15:14:13 -07:00
John MacFarlane
dfb2a07539 Allow latest Diff. 2019-09-24 11:22:08 -07:00
John MacFarlane
4b6a76c196 pandoc.cabal: repeat ghc-options in all stanzas. 2019-09-23 09:49:36 -07:00
John MacFarlane
c2836b1c11 Require latest texmath. 2019-09-22 12:06:11 -07:00
Nikolay Yakimov
9b6ee81c19 [Docx Writer] Re-use Readers.Docx.Parse for StyleMap (#5766)
* [Docx Parser] Move style-parsing-specific code to a new module

* [Docx Writer] Re-use Readers.Docx.Parse.Styles for StyleMap

* [Docx Writer] Move Readers.Docx.StyleMap to Writers.Docx.StyleMap

It's never used outside of writer code, so it makes more sense to scope it under writers really.
2019-09-22 12:00:35 -07:00
John MacFarlane
b64410ff9c Use HsYAML-0.2.0.0
Most of this is due to @vijayphoenix (#5704), but it
needed some revisions to integrate with current
master, and to use the released HsYAML.

Closes #5704.
2019-09-22 10:38:15 -07:00
Vanessa McHale
8f5ab97569 Add to other-extensions field for use by cabal solver (#5728) 2019-09-08 22:28:17 -07:00
John MacFarlane
e26ef34c04 Add dependency on skylighting-core in cabal file.
Closes #5729.
2019-09-05 17:36:37 -07:00
John MacFarlane
1c35167c3a Small cleanups in Makefile. 2019-09-05 17:34:47 -07:00
John MacFarlane
bb362fd76c Add partial styles.html in HTML5 template.
Avoid duplication in HTML templates by using styles.html partial.
Change indentation of styles in template.
2019-09-05 12:39:50 -07:00