aboutsummaryrefslogtreecommitdiff
path: root/src/Text
AgeCommit message (Collapse)Author
2022-09-06Add prefixes to identifiers with `--file-scope`.multifileJohn MacFarlane
This change only affects the case where `--file-scope` is used and more than one file is specified on the command line. In this case, identifiers will be prefixed with a string derived from the file path, to disambiguate them. For example, an identifier `foo` in `contents/file1.txt` will become `contents__file1.txt__foo`. Links will be adjusted accordingly: if `file2.txt` links to `file1.txt#foo`, then the link will be changed to point to `#file1.txt__foo`. Similarly, a link to `file1.txt` will point to `#file1.txt`. A Div with an identifier derived from the file path will be added around each file's content, so that links to files will still work. Closes #6384. [API change]: Text.Pandoc.Shared exports `textToIdentifier`.
2022-09-05Docx writer: adjust correct attribute on lang element.John MacFarlane
For East Asian languages, we need to adjust `w:eastAsia` rather than `w:val`. This allows normal fonts to be used for any Latin-font text. Similarly, for bidi languages, we need to adjust `w:bidi` rather than `w:val`. We treat `he` and `ar` as bidi languages, `zh`, `ja`, `ko` as East Asian languages. Closes #7022.
2022-09-05HTML writer: only treat `. . .` as a slide pause in slides...John MacFarlane
...and not in regular HTML output. Closes #8281.
2022-09-04T.P.Mime: Base module on package mime-types. (#8277)Albert Krewinkel
The *mime-types* module is a dependency of *http-client* and therefore already a transitive dependency of pandoc.
2022-09-01JATS reader: handle uri element in references.John MacFarlane
Closes #8270.
2022-09-01Use dev version of gridtablesAlbert Krewinkel
This allows to specify a table foot by enclosing it with part separator lines, i.e., row separator lines consisting only of `+` and `=` characters. E.g.: +------+-------+ | Item | Price | +======+=======+ | Eggs | 5£ | +------+-------+ | Spam | 3£ | +======+=======+ | Sum | 8£ | +======+=======+ The last row, containing "Sum" and "8£", is the table foot. Closes: #8257
2022-08-31T.P.Citeproc.CslJson: allow an object with `items` property...John MacFarlane
...in addition to an array of references. This is what is returned by e.g. `https://api.zotero.org/groups/904125/items?v=3&q=صحافة&format=csljson` See comment in #7151.
2022-08-31Citeproc: check both extension and mime type to determine...John MacFarlane
...bibliography type when the bibliography is fetched remotely. This will help with cases where the URL ends in a parameter or otherwise does not end with a file extension. Closes #7151.
2022-08-31RTF writer: add space after unicode escape commands.John MacFarlane
Otherwise the `?` character that is there as a fallback for systems that can't process the unicode will be interpreted as the paramater's delimiter, and the NEXT character will be gobbled instead of `?`. Closes #8264 (fixes a problem with disappearing characters after unicode escapes).
2022-08-30Markdown: Allow table caption labels to start with lowercase t.John MacFarlane
Closes #8259.
2022-08-30Produce error if --csl is used more than once (#8252)Prat
Closes #8195. Co-authored-by: Prat T <[email protected]>
2022-08-30Docx reader: mark unnumbered headings with class 'unnumbered'Albert Krewinkel
If a document uses numbered headings, then headings without numbers are marked with class `unnumbered`, the default class used by pandoc to convey this kind of information. The classes are not added if none of the headings in a document are. This change ensures good conversion results when converting with `--number-sections`. Closes: #8148
2022-08-30MediaWiki writer: shorten codeAlbert Krewinkel
2022-08-30Mediawiki reader: Parse table cell with attribs, to support rowspan, colspan ↵Ruqi
(#8231)
2022-08-29PandocServer: return error in JSON object if response is JSON.John MacFarlane
2022-08-28PandocServer: set translations in the writer based on lang metadata.John MacFarlane
2022-08-28Text.Pandoc.Server: return object if JSON is accepted.John MacFarlane
Previously we just returned a JSON-encoded string. Now we return something like: ``` { "output": "<p>hello</p>" "base64": false, "messages": [ { "message": "Not rendering RawInline (Format \"tex\") \"\\\\noe\"", "verbosity": "INFO" } ], } ``` This is a change in the pandoc-server JSON API.
2022-08-27HTML, Markdown writers: filter out empty class attributes.John MacFarlane
These should not be generated by any pandoc readers, but they might be produced programatically. Technically that's a misuse of the AST, but since the expectation that the classes are nonempty strigs is not encoded in the types, it can happen. This patch limits the damage if it does, preventing invalid markdown attributes like `{.}` from being written. Cloess #8251.
2022-08-27Avoid thunk in markdown reader.John MacFarlane
2022-08-27Fix a small space leak in HTML writer.John MacFarlane
2022-08-26HTML writer: avoid aria-hidden in code blocks for HTML4.John MacFarlane
Closes #8241. This requires depending on a new (still unreleased) version of skylighting-format-blaze-html.
2022-08-26Docx writer: Indent tables in list items.John MacFarlane
Closes #5947.
2022-08-26Docx writer: better handling of tables in lists (#5947).John MacFarlane
Previously the content of each list cell was indented when the table belonged to a list item. This is obviously unwanted. With this patch, a table inside a list item will be formatted just like a table outside the list. One desirable improvement would be to add some left indentation to the entire table, so it visually appears to belong to the list item. But I'm not sure how to do that.
2022-08-25HTML writer: use role combinator from blaze....John MacFarlane
instead of customAttribute.
2022-08-25HTML writer: only add role attribute in HTML5.John MacFarlane
It is not valid in HTML4. See #8241.
2022-08-25Markdown reader: fenced code block shortcuts with attributes (#8174)Siphalor
This allows the combination of the fenced code block shortcut form with attributes: ```` ```haskell {.class #id} ``` ```` The code syntax class will be combined with the attribute classes. This syntax allows for more intuitive writing and for better compatibility with other Markdown parsers such as GitHub or Codeberg. Closes #8174.
2022-08-24LaTeX reader: handle `##` macro arguments properly.John MacFarlane
These turn into regular `#` arguments when expanded. Closes #8243.
2022-08-23LaTeX reader: skip parenthenized args of toprule, midrule, etc.John MacFarlane
Closes #8242.
2022-08-22HTML writer: revert to using `width` property for column widthsAlbert Krewinkel
The default `flex` and `overflow-x` properties of a column are set to `auto`. In combination, these changes allow to get good results when using columns with or without explicit widths.
2022-08-22Org writer: add support for jupyter nodebook cells.Albert Krewinkel
Closes: #6367
2022-08-22Org writer: prefix code language of ipynb code blocks with `jupyter-`.Albert Krewinkel
This is the convention used by the *emacs-jupyter* package.
2022-08-22Org writer: keep code block attributes as header args.Albert Krewinkel
This allows to keep more information in the resulting `src` blocks, making it easier to roundtrip from or through Org. Org babel ignores unknown header arguments.
2022-08-22Org writer: add code block identifier as `#+name` to src blocks.Albert Krewinkel
2022-08-21pandoc-server: handle `citeproc` parameter as documented.John MacFarlane
Closes #8235.
2022-08-21Fix regression with data uris in 2.19.1.John MacFarlane
In 2.19.1 we used the base64URL encoding rather than base64. This works in Safari, apparently, but not in other browsers. Closes #8239.
2022-08-21Fix typosluz paz
Found via `codespell -q 3 -S changelog.md -L bu,fo,ist,mke,multline,noes,ot,pard,pres,tabl,te,tothe`
2022-08-21Org reader: treat *emacs-jupyter* src blocks as code cells.Albert Krewinkel
This improves support for notebook-like org files that are intended to be used with emacs-jupyter package. Closes: #8236
2022-08-18Handle haddock 1.11.0 API changes (not noted in their changelog).John MacFarlane
2022-08-18HTML writer: use `flex` property for column widthsAlbert Krewinkel
Fixes: #8232
2022-08-17Integrate server into main pandoc.John MacFarlane
- Remove server flag. - Remove pandoc-server executable. - Add Text.Pandoc.Server as exposed module. [API change] - Re-use Opt (and our existing FromJSON instance) for Params. - Document.
2022-08-17Redo FromJSON for Opt so that optional values can be omitted.John MacFarlane
It would have been cleaner to make all of these values Maybes, so the JSON could be derived automatically. But this method preserves the existing API.
2022-08-17Org reader: treat "abstract" block as metadataAlbert Krewinkel
A block of type "abstract" is assumed to define the document's abstract. It is transferred from the main text to the metadata. Closes: #8204
2022-08-17LaTeX writer: add label to tables that have an identifierAlbert Krewinkel
Tables with an identifier are marked with a `\label`. A caption is always included in this case, even if the caption is empty. Closes: #8219
2022-08-16LaTeX writer: use `\textquotesingle` for straight quotes in text.John MacFarlane
2022-08-14T.P.Highlighting: Export `lookupHighlightingStyle`.John MacFarlane
[API change] Previously this lived in an unexported module T.P.App.CommandLineOptions, under the name `lookupHighlightStyle`.
2022-08-14Use base64 instead of base64-bytestring.John MacFarlane
It is supposed to be faster and more standards-compliant.
2022-08-13App: Remove unneeded MonadIO constraints in readSources.John MacFarlane
2022-08-13PDF: Use some standard PandocMonad functions instead of liftIO.John MacFarlane
2022-08-13Factor out convertWithOpts' from convertWithOpts.John MacFarlane
This runs in any PandocMonad, MonadIO, MonadMask instance.
2022-08-13Support --strip-comments in commonmark/gfm.John MacFarlane
This change makes the commonmark reader sensitive to `readerStripComments`. Closes #8222.