aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-10-27Markdown writer: Be sure to quote special values in YAML metadata.John MacFarlane1-3/+13
E.g. "Y", "yes", which are now (with yaml library) considered boolean values, as well as "null". This fixes a bug with roundtripping markdown -> markdown: ``` --- foo: "true" ... ```
2021-10-27Change JSON encodings of some types.John MacFarlane4-53/+65
- For LineEnding use lowercase constructors, e.g. `crlf`, `native`. This was the original intent, but there was a bug in the implementation. - For HTMLSlideVariant use lowercase constructors. - For ReaderOptions use e.g. `default-image-extension` instead of `readerDefaultImageExtension` for field names. - For Extension, use e.g. `tex_math_dollars` instead of `Ext_tex_math_dollars` as constructor. - For Extensions, use an array of Extensions, instead of an object wrapping the tag `Extensions` and an integer. (The representation is not supposed to be part of the public API.) - For Opt, use field names like `tab-stop` instead of `optTabStop`.
2021-10-27Switch back from HsYAML to yaml.John MacFarlane15-435/+348
Reasons: - Performance: HsYAML is around 20 times slower in parsing large YAML bibliographies (#6084). - An issue was submitted to HsYAML, but it hasn't gotten any attention. HsYAML seems borderline unmaintained; it hasn't had a commit in over a year. - Unfortunately this goes back on our attempts to free ourselves from C dependencies (#4535). But I don't see a better alternative until a better pure Haskell parser is available. Closes #6084. Notes: - We've removed the FromYAML instances for all types that had them, since this is a HsYAML-specific typeclass [API change]. (The yaml package just uses From/ToJSON.) - Unlike HsYAML (in the configuration we were using), yaml parses 'Y', 'N', 'Yes', 'No', 'On', 'Off' as boolean values. Users may need to quote these when they are meant to be interpreted as strings. Similarly, 'null' is parsed as a YAML null value (and will be treated as an empty string by pandoc rather than the string 'null'). Quoting it will force it to be interpreted as a string. - Some tests had to be adjusted accordingly. - Pandoc now behaves better when the YAML metadata contains escaping errors: instead of just falling back on treating the section as a table, it raises a YAML parsing error.
2021-10-27Lua: fix `pandoc.utils.stringify` regressionAlbert Krewinkel1-1/+1
The `pandoc.utils.stringify` function returned empty strings when called with a string argument.
2021-10-26Fix a copy/paste bug in Lua marshalling code.John MacFarlane1-1/+1
This led changes in link properties in Lua filters to change the links into images! Closes #7639.
2021-10-26Lua: marshal SimpleTable values as userdata objectsAlbert Krewinkel5-70/+119
2021-10-26Lua: generate constants in module pandoc programmaticallyAlbert Krewinkel2-80/+17
2021-10-26Lua: marshal ListAttributes values as userdata objectsAlbert Krewinkel8-57/+81
2021-10-26Lua: marshal Block values as userdata objectsAlbert Krewinkel6-351/+581
Properties of Block values are marshalled lazily, which generally improves performance considerably. Script users may also notice the following differences: - Block element properties can no longer be accessed by numerical indexing of the `.c` field. The `.c` property now serves as an alias for `.content`, so some filter that used this undocumented method for property access may continue to work, while others will need to be updated and use proper property names. - The marshalled Block elements now have a `show` method, and a `__tostring` metamethod. Both return the Haskell string representation of the element. - Block values now have the Lua type `userdata` instead of `table`.
2021-10-25Lua: marshal Citation values as userdata objectsAlbert Krewinkel5-39/+55
2021-10-24Fix more epub files in epub reader tests.John MacFarlane3-0/+0
Closes #7586.
2021-10-24Clean up wasteland.epub and formatting.epub from reader tests.John MacFarlane2-0/+0
Make them valid according to epubcheck.
2021-10-24Fixed test/epub/img.epub and img_no_cover.epub...John MacFarlane2-0/+0
so they're valid epubs.
2021-10-23Fix conformance errors in test/epub/features.epub andJohn MacFarlane2-0/+0
test/epub/formatting.epub. See #7586.
2021-10-23Fix description of sandbox feature in changelog.John MacFarlane1-4/+3
2021-10-23Update AUTHORS.mdJohn MacFarlane1-22/+30
2021-10-23Fix 2.15 release date on changelog.John MacFarlane1-1/+1
2021-10-23CircleCI: use homebrew not curl to install stack.John MacFarlane1-1/+3
2021-10-23Update changelog.John MacFarlane1-2/+4
2021-10-23Use ipynb 0.1.0.2.John MacFarlane3-14/+5
With this change pandoc can be built with aeson >= 2.
2021-10-23Lua: convert IOErrors to PandocErrors in pandoc.pipe functionAlbert Krewinkel1-0/+2
Fixes: #7523
2021-10-23changelog.md: update some Lua-related entriesAlbert Krewinkel1-2/+5
2021-10-22Minor reformatting in chargelog.John MacFarlane1-6/+5
2021-10-22Bump to 2.15, updaet man page.John MacFarlane3-57/+165
2021-10-22Update changelog.John MacFarlane1-1/+4
2021-10-22Org reader: allow an initial :PROPERTIES: drawer to add to metadata.John MacFarlane3-3/+33
Closes #7520.
2021-10-22Update changelog.John MacFarlane1-3/+33
2021-10-22Use citeproc 0.6, commonmark 0.2.2.1, commonmark-extensions 0.2.2John MacFarlane3-25/+6
2021-10-22Use texmath 0.12.3.2John MacFarlane3-8/+2
2021-10-22Use simpleFigure in Readers.Aner Lucero25-110/+93
2021-10-22Use pandoc-types 1.22.1.John MacFarlane3-9/+3
2021-10-22Lua: marshal Version values as userdataAlbert Krewinkel7-126/+13
2021-10-22Lua: marshal Inline elements as userdataAlbert Krewinkel3-334/+345
This includes the following user-facing changes: - Deprecated inline constructors are removed. These are `DoubleQuoted`, `SingleQuoted`, `DisplayMath`, and `InlineMath`. - Attr values are no longer normalized when assigned to an Inline element property. - It's no longer possible to access parts of Inline elements via numerical indexes. E.g., `pandoc.Span('test')[2]` used to give `pandoc.Str 'test'`, but yields `nil` now. This was undocumented behavior not intended to be used in user scripts. Use named properties instead. - Accessing `.c` to get a JSON-like tuple of all components no longer works. This was undocumented behavior. - Only known properties can be set on an element value. Trying to set a different property will now raise an error.
2021-10-22Lua: marshal Attr values as userdataAlbert Krewinkel8-188/+272
- Adds a new `pandoc.AttributeList()` constructor, which creates the associative attribute list that is used as the third component of `Attr` values. Values of this type can often be passed to constructors instead of `Attr` values. - `AttributeList` values can no longer be indexed numerically.
2021-10-22Lua: marshal Pandoc values as userdataAlbert Krewinkel4-32/+37
2021-10-22Switch to hslua-2.0Albert Krewinkel29-1249/+1152
The new HsLua version takes a somewhat different approach to marshalling and unmarshalling, relying less on typeclasses and more on specialized types. This allows for better performance and improved error messages. Furthermore, new abstractions allow to document the code and exposed functions.
2021-10-22Provisional changelog updates.John MacFarlane1-1/+413
There's still some time before a new release, but this is a start.
2021-10-21Move splitStrWhen to T.P.Citeproc.Util.John MacFarlane3-23/+15
Previously there were two copies, in BibTeX and Locator.
2021-10-21SelfContained: fix bug that caused everything to be made a data uri.John MacFarlane1-12/+12
All the code we needed to put most styles and scripts into inline style and script tags was there, but because of the order of pattern matching, it was never being called. Putting the catch-all clause at the end fixes the bug. Closes #7635, closes #7367. See also #3423.
2021-10-21Fix line numbers in source code with reveal.jsJohn MacFarlane1-0/+3
We need "overflow: visible" for these to work, and reveal's default css disables this. So this modifies the default template to add this. Closes #7634. Thanks to @cderv for diagnosing the issue.
2021-10-20Markdown reader: don't parse links or bracketed spans as citations.John MacFarlane2-2/+70
Previously pandoc would parse [link to (@a)](url) as a citation; similarly [(@a)]{#ident} This is undesirable. One should be able to use example references in citations, and even if `@a` is not defined as an example reference, `[@a](url)` should be a link containing an author-in-text citation rather than a normal citation followed by literal `(url)`. Closes #7632.
2021-10-19FormatHeuristics: remove `.tei.xml` extension for TEI.John MacFarlane1-1/+0
As noted in #7630, this never worked, because `takeExtension` only returns `.xml`. So it won't be missed if we remove it. Closes #7630.
2021-10-18Docx reader: fix handling of empty fieldsMilan Bracke4-0/+15
Some fields only have an instrText and no content, Pandoc didn't understand these, causing other fields to be misunderstood because it seemed like a field was still open when it wasn't.
2021-10-18Docx parser: implement PAGEREF fieldsMilan Bracke8-7/+41
These fields, often used in tables of contents, can be a hyperlink.
2021-10-18Docx reader: fix handling of nested fieldsMilan Bracke5-115/+159
Fields delimited by fldChar elements can contain other fields. Before, the nested fields would be ignored, except for the end, which would be considered the end of the parent field. To fix this issue, fields needed to be considered containing ParParts instead of Runs, since a Run can't represent complex enough structures. This also impacted Hyperlinks since they can originate from a field.
2021-10-17pptx: Line up continuation paragraphsEmily Bourke49-11/+94
This commit changes the `marL` and `indent` values used for plain paragraphs and numbered lists, and changes the spacing defined in the reference doc master for bulleted lists. For paragraphs, there is now a left-indent taken from the `otherStyle` in the master. For numbered lists, the number is positioned where the text would be if this were a plain paragraph, and the text is indented to the next level. This means that continuation paragraphs line up nicely with numbered lists. It also /mostly/ matches the observed PowerPoint behaviour when inserting paragraphs and numbered lists: the only difference is that PowerPoint was using a different margin value for the first level numbered lists – I’ve changed this to match the other levels, as I don’t think it makes the spacing unappealing and it allows continuation paragraphs at any level to line up. With bulleted lists, I’m keeping the observed PowerPoint behaviour of specifying only a level, letting `marL` and `indent` be automatically taken from `bodyStyle`. To that end, this commit changes the `bodyStyle` spacing in the master of the default reference doc, to: - line up the text of the first paragraph in each bullet with any continuation paragraphs - line up nested bullet markers in any continuation paragraphs with the first paragraph, matching lists and plain paragraphs This does mean the continuation paragraphs still won’t line up for anyone using their own reference doc where they haven’t matched the `otherStyle` and `bodyStyle` indent levels, but I think people in that situation will be able to troubleshoot.
2021-10-17pptx: Remove outdated commentEmily Bourke1-3/+0
I removed the field this comment refers to recently, missed the comment.
2021-10-17pptx: Fix list level numberingEmily Bourke24-14/+43
In PowerPoint, the content of a top-level list is at the same level as the content of a top-level paragraph – the only difference is that a list style has been applied. At the moment, the pptx writer increments the paragraph level on each list, turning what should be top-level lists into second-level lists. This commit changes that logic, only incrementing the paragraph level on continuation paragraphs of lists. - Fixes https://github.com/jgm/pandoc/issues/4828 - Fixes https://github.com/jgm/pandoc/issues/4663
2021-10-16Ensure that babel is loaded also with pdflatex.John MacFarlane2-6/+4
This fixes a regression in #7604, which modernized babel usage but omitted to load babel for pdflatex, with the result that even simple documents could no longer be produced. Closes #7627.
2021-10-16CI: remove linux-pdf for now.John MacFarlane1-57/+0
I don't know what is going on with lmodern and lualatex.