From e0984a43a99231e72c02a0a716c8d0315de9abdf Mon Sep 17 00:00:00 2001
From: John MacFarlane <jgm@berkeley.edu>
Date: Sun, 6 Sep 2020 16:25:16 -0700
Subject: 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.
---
 linux/control.in        |  2 +-
 linux/make_artifacts.sh | 20 +++++---------------
 2 files changed, 6 insertions(+), 16 deletions(-)

(limited to 'linux')

diff --git a/linux/control.in b/linux/control.in
index de0be6c58..0c1aab426 100644
--- a/linux/control.in
+++ b/linux/control.in
@@ -5,7 +5,7 @@ Priority: optional
 Architecture: ARCHITECTURE
 Installed-Size: INSTALLED_SIZE
 Depends: libc6 (>= 2.13), libgmp10, zlib1g (>= 1:1.1.4)
-Replaces: pandoc-data, pandoc-citeproc
+Replaces: pandoc-data
 Suggests: texlive-latex-recommended, texlive-xetex,
  texlive-fonts-recommended
 Maintainer: John MacFarlane <jgm@berkeley.edu>
diff --git a/linux/make_artifacts.sh b/linux/make_artifacts.sh
index 3cb892a8e..ffbfe4697 100644
--- a/linux/make_artifacts.sh
+++ b/linux/make_artifacts.sh
@@ -16,10 +16,10 @@ ghc --version
 
 cabal v2-update
 cabal v2-clean
-cabal v2-configure --enable-tests -f-export-dynamic -fstatic -fembed_data_files -fbibutils --enable-executable-static --ghc-options '-optc-Os -optl=-pthread -split-sections' . pandoc-citeproc
-cabal v2-build . pandoc-citeproc
-cabal v2-test -j1 . pandoc-citeproc
-for f in $(find dist-newstyle -name 'pandoc*' -type f -perm /400); do cp $f /artifacts/; done
+cabal v2-configure --enable-tests -f-export-dynamic -fstatic -fembed_data_files -fbibutils --enable-executable-static --ghc-options '-optc-Os -optl=-pthread -split-sections' pandoc
+cabal v2-build
+cabal v2-test -j1
+for f in $(find dist-newstyle -name 'pandoc' -type f -perm /400); do cp $f /artifacts/; done
 
 # make deb
 
@@ -35,21 +35,14 @@ mkdir -p $DEST/bin
 mkdir -p $DEST/share/man/man1
 mkdir -p $DEST/share/doc/pandoc
 
-mkdir -p $DEST/share/doc/pandoc-citeproc
 find $DIST -type d | xargs chmod 755
 cp $ARTIFACTS/pandoc $DEST/bin/
-cp $ARTIFACTS/pandoc-citeproc $DEST/bin/
 strip $DEST/bin/pandoc
-strip $DEST/bin/pandoc-citeproc
 cp /mnt/man/pandoc.1 $DEST/share/man/man1/pandoc.1
-$ARTIFACTS/pandoc-citeproc --man > $DEST/share/man/man1/pandoc-citeproc.1
 gzip -9 $DEST/share/man/man1/pandoc.1
-gzip -9 $DEST/share/man/man1/pandoc-citeproc.1
 
 cp /mnt/COPYRIGHT $COPYRIGHT
 echo "" >> $COPYRIGHT
-echo "pandoc-citeproc" >> $COPYRIGHT
-$ARTIFACTS/pandoc-citeproc --license >> $COPYRIGHT
 
 INSTALLED_SIZE=$(du -k -s $DEST | awk '{print $1}')
 mkdir $DIST/DEBIAN
@@ -70,13 +63,10 @@ cd $ARTIFACTS
 rm -rf $TARGET
 mkdir $TARGET
 mkdir $TARGET/bin $TARGET/share $TARGET/share/man $TARGET/share/man/man1
-./pandoc-citeproc --man > $TARGET/share/man/man1/pandoc-citeproc.1
 cp /mnt/man/pandoc.1 $TARGET/share/man/man1
-mv pandoc pandoc-citeproc $TARGET/bin
+mv pandoc $TARGET/bin
 strip $TARGET/bin/pandoc
-strip $TARGET/bin/pandoc-citeproc
 gzip -9 $TARGET/share/man/man1/pandoc.1
-gzip -9 $TARGET/share/man/man1/pandoc-citeproc.1
 
 tar cvzf $TARGET-linux-amd64.tar.gz $TARGET
 rm -r $TARGET
-- 
cgit v1.2.3