Commit graph

14764 commits

Author SHA1 Message Date
John MacFarlane
b8d460eeab Powerpoint writer: consolidate text runs when possible.
This slims down the output files by avoiding unnecessary
text run elements.

Updated golden tests.
2021-10-04 12:24:12 -07:00
John MacFarlane
11baeb8850 OOXML tests: use pretty-printed form to display diffs.
Otherwise everything is on one line and the diff is uninformative.
2021-10-04 12:12:16 -07:00
John MacFarlane
82d587493d Revert "Powerpoint writer: consolidate text run nodes."
This reverts commit 62f83aa486.

This was already being done, it seems.
I misidentified the problem; it is really with `Str ""` nodes.
2021-10-04 11:50:32 -07:00
John MacFarlane
62f83aa486 Powerpoint writer: consolidate text run nodes.
This should reduce the size of the generated files.
2021-10-04 11:45:01 -07:00
John MacFarlane
0088e79cf5 Update tests for babel-related changes in latex template. 2021-10-03 19:27:37 -07:00
hseg
da8bcb783b Make babel use more idiomatic
* Use `babel`'s bidi implementation
* Remove global `lang` option -- it broke eg hebrew
* Import babel languages individually instead of as package options --
  was broken for greek, hebrew
* Move `header-includes` to after `babel` setup

Closes #7604
2021-10-03 19:16:50 -07:00
John MacFarlane
6742e77d1e Update cabal.project 2021-10-02 11:02:28 -07:00
John MacFarlane
6ff04ac52d Fix compareXML helper in Tests.Writers.OOXML.
Given how it is used, we were getting "mine" and "good"
flipped in the test results.
2021-10-02 06:52:40 -07:00
John MacFarlane
fb0d6c7cb6 Depend on pandoc-types 1.23, remove Null constructor on Block. 2021-10-01 15:42:00 -07:00
nuew
021cdb543b epub: Add EPUB3 subject metadata (authority/term)
This adds the ability to specify EPUB 3 `authority` and `term` specific
refinements to the `subject` tag. Specifying a plain `subject` tag in
metadata will function as before.
2021-09-30 20:53:07 -07:00
John MacFarlane
75d551f65b Add footnotes to default gfm etxensions.
Now that `gfm` supports footnotes.
https://github.blog/changelog/2021-09-30-footnotes-now-supported-in-markdown-fields/
2021-09-30 13:08:13 -07:00
Ezwal
472b33095e Docx reader: Add placeholder for word diagram 2021-09-30 12:44:44 -07:00
John MacFarlane
45db998b39 EPUB writer: treat epub:type "frontispiece" as front matter.
This allows you to include a frontispiece using

```

![](yourimage.jpg)

etc.
```

Closes #7600.
2021-09-29 08:29:14 -07:00
John MacFarlane
92abe45863 Further test updates for switch to pretty-show. 2021-09-29 08:28:54 -07:00
John MacFarlane
0bdcf415e4 Switch from pretty-simple to pretty-show for native output.
Update tests.

Reason:  it turns out that the native output generated by
pretty-simple isn't always readable by the native reader.
According to https://github.com/cdepillabout/pretty-simple/issues/99
it is not a design goal of the library that the rendered values
be readable using 'read'.  This makes it unsuitable for our
purposes.

pretty-show is a bit slower and it uses 4-space indents
(non-configurable), but it doesn't have this serious drawback.
2021-09-28 21:17:53 -07:00
John MacFarlane
8018179b3d Better implementation of splitStrWhen 2021-09-27 16:43:13 -07:00
John MacFarlane
df57d0930b RST writer: properly handle anchors to ids...
with spaces or leading underscore.

In this cases we need the quoted form, e.g.
```
.. _`foo bar`:

.. _`_foo`:
```

Side note: rST will "normalize" these identifiers anyway,
ignoring the underscore:
https://docutils.sourceforge.io/docs/ref/rst/directives.html#identifier-normalization

Closes #7593.
2021-09-26 21:56:21 -07:00
John MacFarlane
9b23b738cb Update documentation for definition_list extension.
In 2015, we relaxed indentation requirements for the first
line of a definition (see commit d3544dc and issue #2087), but
the documnentation wasn't updated to reflect the change.

Closes #7594.
2021-09-26 21:20:27 -07:00
John MacFarlane
665e6d3d94 BibTeX parser: fix expansion of special strings in series...
e.g. `newseries` or `library`.  Expansion should not happen
when these strings are protected in braces, or when they're
capitalized.

Closes #7591.
2021-09-23 22:21:05 -07:00
John MacFarlane
aa89f6be18 HTML reader: handle empty tbody element in table.
Closes #7589.
2021-09-23 09:25:37 -07:00
John MacFarlane
f0a6eb913d HTML writer: render \ref and \eqref as inline math...
not display.  See #7589.
2021-09-23 08:49:52 -07:00
John MacFarlane
0afb48cd38 HTML writer: pass through \ref and \eqref...
if MathJax is used.

Closes #7587.
2021-09-22 22:33:41 -07:00
John MacFarlane
7ab2f4a61d HTML writer: pass through inline math environments with KaTeX. 2021-09-22 22:18:38 -07:00
John MacFarlane
d6dbbb89d0 Use latest citeproc. 2021-09-22 13:21:56 -07:00
John MacFarlane
3de0d5a977 test/epub: an excerpt from The Wasteland is enough!
Saves over 100K.
2021-09-21 18:54:42 -07:00
John MacFarlane
c6fa0bc271 Revert "Remove unused epub test file features.epub."
This reverts commit 83ebb85b64.
2021-09-21 17:03:25 -07:00
John MacFarlane
a88b0098d6 Make test/epub/wasteland.epub valid. 2021-09-21 16:49:58 -07:00
John MacFarlane
83ebb85b64 Remove unused epub test file features.epub. 2021-09-21 16:42:33 -07:00
John MacFarlane
c266734448 Use pretty-simple to format native output.
Previously we used our own homespun formatting.  But this
produces over-long lines that aren't ideal for diffs in tests.
Easier to use something off-the-shelf and standard.

Closes #7580.

Performance is slower by about a factor of 10, but this isn't
really a problem because native isn't suitable as a serialization
format. (For serialization you should use json, because the reader
is so much faster than native.)
2021-09-21 12:37:42 -07:00
John MacFarlane
5f7e7f539a Add missing % on command tests.
This prevented `--accept` from working properly.
2021-09-21 10:42:24 -07:00
John MacFarlane
a1ca51c979 Command tests: raise error if command doesn't begin with %. 2021-09-21 10:42:14 -07:00
John MacFarlane
1cbaea673d Stop doing lint in CI.
The script failed for reasons I can't determine.
For now, we disable it.
2021-09-20 23:20:48 -07:00
John MacFarlane
c9ce6da1bb LaTeX reader: Recognize that \vadjust sometimes takes "pre".
Closes #7531.
2021-09-19 10:12:07 -07:00
John MacFarlane
132a6df51e Ignore (and gobble parameters of) CSLReferences environment.
Otherwise we get the parameters as numbers in the output.
Closes #7531.
2021-09-19 10:10:45 -07:00
John MacFarlane
dd7b83ac91 Use babel, not polyglossia, with xelatex.
Previously polyglossia worked better with xelatex, but
that is no longer the case, so we simplify the code so that
babel is used with all latex engines.

This involves a change to the default LaTeX template.
2021-09-19 09:40:59 -07:00
John MacFarlane
ca20d5c10b Fix changelog date for 2.14.2. 2021-09-19 09:35:25 -07:00
John MacFarlane
92e0e424c0 Markdown writer: use underline class rather than ul for underline.
This only affects output with bracketed_spans enabled.
The markdown reader parses spans with either `.ul` or `.underline` as
Underline elements, but we're moving towards preferring the latter.
2021-09-19 09:12:55 -07:00
John MacFarlane
5684e6a76c Alphabetize Extension constructors. 2021-09-18 21:13:38 -07:00
John MacFarlane
5891f4f418 Use skylighting-0.12, skylighting-core-0.12.
This fixes highlighting issues with typescript, scala,
and other syntaxes that include keyword lists from
different syntaxes.
2021-09-18 20:55:41 -07:00
Emily Bourke
4a5ed7e04a pptx-footers: Replace fixed dates with yaml date 2021-09-18 09:55:45 -07:00
Emily Bourke
50adea220d pptx: Support footers in the reference doc
In PowerPoint, it’s possible to specify footers across all slides,
containing a date (optionally automatically updated to today’s date),
the slide number (optionally starting from a higher number than 1), and
static text. There’s also an option to hide the footer on the title
slide.

Before this commit, none of that footer content was pulled through from
the reference doc: this commit supports all the functionality listed
above.

There is one behaviour which may not be immediately obvious: if the
reference doc specifies a fixed date (i.e. not automatically updating),
and there’s a date specified in the metadata for the document, the
footer date is replaced by the metadata date.

- Include date, slide number, and static footer content from reference
  doc
- Respect “slide number starts from” option
- Respect “Don’t show on title slide” option
- Add tests
2021-09-18 09:55:45 -07:00
John MacFarlane
cf7f80b11f Fix linter warning. 2021-09-17 10:05:55 -07:00
John MacFarlane
57d93cca56 Org writer: don't indent contents of code blocks.
We previously indented them by two spaces, following a
common convention.  Since the convention is fading, and
the indentation is inconvenient for copy/paste, we are
discontinuing this practice.

Closes #5440.
2021-09-17 09:41:34 -07:00
John MacFarlane
1487ee01fd Update list of supported source languages in org writer.
See #5440.
2021-09-17 09:22:36 -07:00
Christophe Dervieux
44ec800b07 mention revealjs support of title-toc in MANUAL
Following addition in #7171
2021-09-17 09:21:39 -07:00
John MacFarlane
d133d737ae Use --system-ghc in make quick. 2021-09-16 20:46:05 -07:00
John MacFarlane
a07d955d6f Fix code blocks using --preserve-tabs.
Previously they did not behave as the equivalent input
with spaces would.  Closes #7573.
2021-09-16 20:46:05 -07:00
Emily Bourke
7c22c0202e pptx: Support specifying slide background images
In the reveal-js output, it’s possible to use reveal’s
`data-background-image` class on a slide’s title to specify a background
image for the slide.

With this commit, it’s possible to use `background-image` in the same
way for pptx output. Only the “stretch” mode is supported, and the
background image is centred around the slide in the image’s larger axis,
matching the observed default behaviour of PowerPoint.

- Support `background-image` per slide.
- Add tests.
- Update manual.
2021-09-16 19:45:53 -07:00
John MacFarlane
c6cd92a0a3 stack.yaml: use lts-18.10 resolver. 2021-09-16 19:28:38 -07:00
John MacFarlane
d2449ad926 HTML writer: set "hash" to True by default (for reveal.js).
Closes #7574.
See #6968 where the motivation for setting "hash" to True is
explained.
2021-09-16 19:27:34 -07:00