Commit graph

342 commits

Author SHA1 Message Date
John MacFarlane
3b2dd1e1b3 Use lastest citeproc. 2020-10-07 11:23:15 -07:00
John MacFarlane
d2e4a83dc6 Use latest citeproc.
Better solution to the problem of entities in CSL JSON output.
2020-10-07 09:31:44 -07:00
John MacFarlane
7d54e79091 Use latest citeproc.
Update chicago-fullnute-bibliography test, which is now correct.
2020-10-03 16:07:55 -07:00
John MacFarlane
27b4c21f72 Update to lastest citeproc 2020-10-01 22:07:55 -07:00
John MacFarlane
46dffbd8e5 Use latest citeproc. 2020-09-27 23:52:28 -07:00
John MacFarlane
eff6b8f27d Use latest citeproc. 2020-09-27 16:03:31 -07:00
John MacFarlane
3abfcbeef7 Use latest citeproc. 2020-09-26 17:13:55 -07:00
John MacFarlane
9061635a6a Use latest citeproc. 2020-09-26 15:05:08 -07:00
John MacFarlane
1a72581286 Use latest citeproc commit. 2020-09-24 20:33:05 -07:00
John MacFarlane
e0984a43a9 Add built-in citation support using new citeproc library.
This deprecates the use of the external pandoc-citeproc
filter; citation processing is now built in to pandoc.

* Add dependency on citeproc library.
* Add Text.Pandoc.Citeproc module (and some associated unexported
  modules under Text.Pandoc.Citeproc).  Exports `processCitations`.
  [API change]
* Add data files needed for Text.Pandoc.Citeproc:  default.csl
  in the data directory, and a citeproc directory that is just
  used at compile-time.  Note that we've added file-embed as a mandatory
  rather than a conditional depedency, because of the biblatex
  localization files. We might eventually want to use readDataFile
  for this, but it would take some code reorganization.
* Text.Pandoc.Loging: Add `CiteprocWarning` to `LogMessage` and use it
  in `processCitations`. [API change]
* Add tests from the pandoc-citeproc package as command tests (including
  some tests pandoc-citeproc did not pass).
* Remove instructions for building pandoc-citeproc from CI and
  release binary build instructions.  We will no longer distribute
  pandoc-citeproc.
* Markdown reader: tweak abbreviation support.  Don't insert a
  nonbreaking space after a potential abbreviation if it comes right before
  a note or citation.  This messes up several things, including citeproc's
  moving of note citations.
* Add `csljson` as and input and output format. This allows pandoc
  to convert between `csljson` and other bibliography formats,
  and to generate formatted versions of CSL JSON bibliographies.
* Add module Text.Pandoc.Writers.CslJson, exporting `writeCslJson`. [API
  change]
* Add module Text.Pandoc.Readers.CslJson, exporting `readCslJson`. [API
  change]
* Added `bibtex`, `biblatex` as input formats.  This allows pandoc
  to convert between BibLaTeX and BibTeX and other bibliography formats,
  and to generated formatted versions of BibTeX/BibLaTeX bibliographies.
* Add module Text.Pandoc.Readers.BibTeX, exporting `readBibTeX` and
  `readBibLaTeX`. [API change]
* Make "standalone" implicit if output format is a bibliography format.
  This is needed because pandoc readers for bibliography formats put
  the bibliographic information in the `references` field of metadata;
  and unless standalone is specified, metadata gets ignored.
  (TODO: This needs improvement. We should trigger standalone for the
  reader when the input format is bibliographic, and for the writer
  when the output format is markdown.)
* Carry over `citationNoteNum` to `citationNoteNumber`.  This was just
  ignored in pandoc-citeproc.
* Text.Pandoc.Filter: Add `CiteprocFilter` constructor to Filter.
  [API change] This runs the processCitations transformation.
  We need to treat it like a filter so it can be placed
  in the sequence of filter runs (after some, before others).
  In FromYAML, this is parsed from `citeproc` or `{type: citeproc}`,
  so this special filter may be specified either way in a defaults file
  (or by `citeproc: true`, though this gives no control of positioning
  relative to other filters).  TODO: we need to add something to the
  manual section on defaults files for this.
* Add deprecation warning if `upandoc-citeproc` filter is used.
* Add `--citeproc/-C` option to trigger citation processing.
  This behaves like a filter and will be positioned
  relative to filters as they appear on the command line.
* Rewrote the manual on citatations, adding a dedicated Citations
  section which also includes some information formerly found in
  the pandoc-citeproc man page.
* Look for CSL styles in the `csl` subdirectory of the pandoc user data
  directory.  This changes the old pandoc-citeproc behavior, which looked
  in `~/.csl`.  Users can simply symlink `~/.csl` to the `csl`
  subdirectory of their pandoc user data directory if they want
  the old behavior.
* Add support for CSL bibliography entry formatting to LaTeX, HTML,
  Ms writers.  Added CSL-related CSS to styles.html.
2020-09-21 10:15:50 -07:00
John MacFarlane
00eb7543bf Use dev version of pandoc-citeproc. 2020-09-20 09:57:53 -07:00
John MacFarlane
277ea0df3d stack.yaml - use latest texmath, commonmark-pandoc. 2020-09-19 11:16:10 -07:00
John MacFarlane
1dd9f8b654 Use released pandoc-types 1.22. 2020-09-19 09:58:16 -07:00
John MacFarlane
c41ec933de Use latest skylighting. 2020-09-14 11:05:14 -07:00
John MacFarlane
aa3394af45 stack.yaml - use latest skylighting. 2020-09-14 10:28:08 -07:00
Christian Despres
10c6c411f9
Add Writers.Tables helper functions and types, add tests for those (#6655)
Add Writers.Tables helper functions and types, add tests for those

The Writers.Tables module contains an AnnTable type that is a pandoc
Table with added inferred information that should be enough for
writers (in particular the HTML writer) to operate on without having
to lay out the table themselves.

The toAnnTable and fromAnnTable functions in that module convert
between AnnTable and Table. In addition to producing an AnnTable with
coherent and well-formed annotations, the toAnnTable function also
normalizes its input Table like the table builder does.

Various tests ensure that toAnnTable normalizes tables exactly like
the table builder, and that its annotations are coherent.
2020-09-05 14:36:51 -07:00
John MacFarlane
3935c9c5c4 Insignificant whitespace change.
Try to expire cache for macOS CI.
2020-09-03 09:53:50 -07:00
Albert Krewinkel
1b865aaddf
stack.yaml: use skylighting 0.10 2020-08-31 22:44:00 +02:00
John MacFarlane
5734167531 Whitespace change to stack.yaml to reset macos CI cache. 2020-08-14 14:45:25 -07:00
John MacFarlane
57417feaf4 Use commonmark >= 0.1.0.2. Closes #6589. 2020-08-05 12:58:29 -07:00
John MacFarlane
971b861ef2 Use new pandoc-citeproc, rfc5051. 2020-08-02 09:40:24 -07:00
John MacFarlane
57e29610ac Use skylighting 0.9. 2020-07-31 08:56:59 -07:00
John MacFarlane
5c4ff810d1 Use commonmark-extensions 0.2.0.1. 2020-07-24 11:24:34 -07:00
John MacFarlane
c37a56e060 Use commonmark-0.1.0.1.
Partially addresses #6556.
2020-07-23 16:36:44 -07:00
John MacFarlane
e17b4718d4 Use commonmark-extensions, commonmark-pandoc 0.2. 2020-07-19 22:51:59 -07:00
John MacFarlane
d6b7b1dc77 Remove use of cmark-gfm for commonmark/gfm rendering.
Instead rely on the markdown writer with appropriate extensions.

Export writeCommonMark variant from Markdown writer.
This changes a few small things in rendering markdown,
e.g. w/r/t requiring backslashes before spaces inside
super/subscripts.
2020-07-19 22:51:59 -07:00
John MacFarlane
0df5ea87cf Use released versions of commonmark libraries. 2020-07-19 22:51:59 -07:00
John MacFarlane
3a22fbd11b Trim down githubMarkdownExtensions.
Previously it included all of the following, which make
sense for the legacy markdown_github but not for gfm,
since they are part of base commonmark and thus
can't be turned off in gfm:

- `Ext_all_symbols_escapable`
- `Ext_backtick_code_blocks`
- `Ext_fenced_code_blocks`
- `Ext_space_in_atx_header`
- `Ext_intraword_underscores`
- `Ext_lists_without_preceding_blankline`
- `Ext_shortcut_reference_links`
`
These have been removed from `githubMarkdownExtensions`, though
they're still turned on for legacy `markdown_github`.
2020-07-19 22:51:59 -07:00
John MacFarlane
0db4702042 Use commonmark-hs to parse commonmark/gfm...
...instead of cmark-gfm (a wrapper around a C library).

We can now support many more pandoc extensions for
commonmark and gfm.

Add fenced_code_attributes to gfm/commonmark extensions.
2020-07-19 22:51:59 -07:00
John MacFarlane
a7d7c29bf7 Bump hslua in stack.yaml 2020-06-28 10:24:06 -07:00
John MacFarlane
3b25511e47 Use released pandoc-citeproc. 2020-06-23 10:44:22 -07:00
John MacFarlane
c5c8bc96a1 Use released pandoc-types 1.21. 2020-06-22 16:39:04 -07:00
Albert Krewinkel
064303e2c9
Jira writer: always escape braces
Braces are now always escaped, even within words or when surrounded by
whitespace. Jira and Confluence treat braces specially.

Package jira-wiki-markup must be version 1.3.2 or later.

Fixes: #6478
2020-06-22 16:30:11 +02:00
John MacFarlane
112e98def6 Use latest skylighting. 2020-06-19 15:31:31 -07:00
John MacFarlane
aa9bcce4f9 Bump jira-wiki-markup in stack.yaml. 2020-06-14 23:38:41 -07:00
Mathieu Boespflug
9d076ed7ea
Make it possible to compile using Stack on NixOS (#6439)
On NixOS, it is necessary to compile with `stack --nix`. It is
furthermore necessary to provide zlib headers when `--nix` is enabled.
2020-06-07 17:32:16 -07:00
John MacFarlane
46179d5b3e Use latest skylighting.
This adds `aria-hidden="true"` to the empty a elements, which
helps people who use screen readers.
2020-05-12 14:37:07 -07:00
John MacFarlane
1918944c99 Add needed dependency to stack.yaml. 2020-05-04 23:01:42 -07:00
John MacFarlane
8d0c124e5f Update dependency versions in stack.yaml. 2020-05-04 14:47:00 -07:00
John MacFarlane
d3ec53b3cc Revert "Use lts-15.11 stack"
This reverts commit b78fb28898.
2020-05-04 14:44:08 -07:00
John MacFarlane
2662a60db2 Revert "Try downgrading HsYAML on stack to 0.2.0.0."
This reverts commit 32d5d6c80b.
2020-05-04 12:14:38 -07:00
John MacFarlane
32d5d6c80b Try downgrading HsYAML on stack to 0.2.0.0.
to deal with the access violation we get in CI windows:
https://github.com/jgm/pandoc/runs/643362477?check_suite_focus=true
2020-05-04 09:35:41 -07:00
John MacFarlane
5b7364d02f Revert "Try using -fexternal-interpreter to avoid access violation on Windows CI."
This reverts commit 58115dd07f.
2020-05-04 08:43:02 -07:00
John MacFarlane
58115dd07f Try using -fexternal-interpreter to avoid access violation on Windows CI. 2020-05-03 23:39:32 -07:00
John MacFarlane
b78fb28898 Use lts-15.11 stack 2020-05-03 21:34:11 -07:00
John MacFarlane
8d09a92d97 Use latest pandoc-types master with underline addition. 2020-04-27 09:35:34 -07:00
John MacFarlane
64e84d8a3e Use dev version of pandoc-citeproc...
so we can use pandoc-types 1.21 with it.
2020-04-19 09:00:18 -07:00
John MacFarlane
61771e2c9b Use pandoc-types 1.21, new texmath. 2020-04-19 08:17:32 -07:00
Albert Krewinkel
fb54f3d679
API change: use PandocError for exceptions in Lua subsystem
The PandocError type is used throughout the Lua subsystem, all Lua
functions throw an exception of this type if an error occurs. The
`LuaException` type is removed and no longer exported from
`Text.Pandoc.Lua`. In its place, a new constructor `PandocLuaError` is
added to PandocError.
2020-04-17 21:52:48 +02:00
John MacFarlane
7accbd585e Use main pandoc-types repository...
now that @despresc's changes have been merged.
2020-04-17 10:05:55 -07:00