Commit Graph
8061 Commits
Author SHA1 Message Date
John MacFarlane efea562234 LaTeX writer: ignore languages with no babel equivalent...
instead of generating an invalid command in the preamble.
Closes #8325.
2022-09-26 21:37:38 -07:00
John MacFarlane 3aa24ec161 T.P.Citeproc.Locator: update sub verbo to sub-verbo.
This is a change in the term's canonical name in citeproc.
As a result of this change, `sub verbo` locators have not worked
in pandoc since citeproc 0.7.

This patch fixes `sub verbo`.

Closes #8315.
2022-09-25 19:13:43 -07:00
Albert Krewinkel e3648357cf Use hslua-cli package for pandoc-lua interface 2022-09-23 22:26:37 +02:00
John MacFarlane bb8a046464 Org writer: pass through unknown languages in code blocks.
Previously we whitelisted the language for begin_src, and produced
begin_example if the language was not found on the whitelist.

Closes #8278.
2022-09-22 19:56:22 -07:00
Albert Krewinkel 22fa51ded1 Make pandoc behave like a Lua interpreter when called as pandoc-lua. (#8311) 2022-09-22 14:39:25 -07:00
John MacFarlane bd1d923b86 Split pandoc-server, pandoc-cli into separate packages. (#8309)
This also removes the unnecessary Setup.hs from pandoc.
Cabal does not need this with build-type 'simple'.
2022-09-22 09:47:07 -07:00
Albert Krewinkel b38292c234 LaTeX writer: do not repeat caption on headless tables
The caption of headless tables was repeated on each page that contained
part of the table. It is now made part of the "first head", i.e. the
table head that is printed only once.
2022-09-21 12:03:41 +02:00
Albert Krewinkel 47d09df6a5 LaTeX writer: clarify why \endfirsthead is used for tables 2022-09-21 10:51:04 +02:00
John MacFarlane 47a7cdecb9 Export applyFilter from T.P.Lua.Filter.
Motivation: now we need not have any logic referring to hslua
types (LuaE) in T.P.Filter.Lua.  This restricts the parts of Pandoc
that deal directly with hslua to T.P.Lua (and in tests,
Tests.Lua).

[API changes]

T.P.Lua now exports `applyFilter`, `readCustom`, and `writeCustom`.
The lower-level function `runFilterFile` is no longer exported.
2022-09-20 14:11:22 -07:00
John MacFarlane 7c07e57b60 Add T.P.Lua.Reader, T.P.Lua.Writer.
(Unexported modules, presently.)

These contain the definitions of `readCustom` and `writeCustom`
that were previously in T.P.Readers.Custom and T.P.Writers.Custom.

Motivation is to ensure that all of the Lua-related code is under
the T.P.Lua tree.  This will make it easier to make pandoc-lua
a separate package or put lua support under a flag, if we decide to
do that.
2022-09-20 14:11:13 -07:00
John MacFarlane d7a52e2478 Text.Pandoc.App: export IpynbOutput(..).
[API change]
2022-09-20 10:38:53 -07:00
John MacFarlane 3af93d041a Ms writer: properly format display equations.
Previously they were being translated to eqn as inline equations.
Closes #8308.
2022-09-20 10:22:21 -07:00
John MacFarlane f3e9669e84 Commonmark writer: ensure that we don't have blank lines in raw HTML.
Closes #8307.
2022-09-19 12:03:03 -07:00
John MacFarlane cfbf0f096b Org reader: Allow org-ref v2 citations with & prefix.
Closes #8302.
2022-09-19 10:30:44 -07:00
John MacFarlane c0ff59c272 BibTeX parser: fix handling of % in url field.
`%` does not function as a comment character inside `url`
(where URL-encoding is common).

Commit 6fb2973a58 mistakenly
took this reassignment of `%` to be a general feature of
braced (but not quoted) BibTeX fields.

This commit restores the correct behavior of `%` in braced fields
other than `url`, and corrects the behavior of `%` in `url`
when the value is quoted.

Closes #7678 (again).
2022-09-18 19:17:48 -07:00
John MacFarlane 311a340687 Add prefixes to identifiers with --file-scope. (#8282)
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-18 18:11:40 -07:00
John MacFarlane d79f8386d4 Fix implicit_header_references with duplicate headings.
Documentation says that when more than one heading has the same text,
an implicit reference `[Heading text][]` refers to the first one.
Previously pandoc linked to the last one instead. This patch
makes pandoc conform to the documented behavior.

See #8300.
2022-09-14 22:23:45 +02:00
John MacFarlane eb03cad6ae XWiki writer: use template if it is specified.
Previously templates were ignored completely.

Closes #8296.
2022-09-13 11:14:04 +02:00
Albert Krewinkel 369058d53d T.P.MIME: Removes more unnecessary overrides.
| Ext.  | Old type                 | New type                        |
|-------|--------------------------|---------------------------------|
| fm    | application/x-maker      | application/vnd.framemaker      |
| frame | application/x-maker      | application/vnd.framemaker      |
| gsf   | application/x-font       | application/x-font-ghostscript  |
| java  | text/x-java              | text/x-java-source              |
| kpr   | application/x-kpresenter | application/vnd.kde.kpresenter  |
| kpt   | application/x-kpresenter | application/vnd.kde.kpresenter  |
| ksp   | application/x-kspread    | application/vnd.kde.kspread     |
| kwd   | application/x-kword      | application/vnd.kde.kword       |
| kwt   | application/x-kword      | application/vnd.kde.kword       |
| lha   | application/x-lha        | application/x-lzh-compressed    |
| lhz   | application/x-lhz        | application/x-lzh-compressed    |
| maker | application/x-maker      | application/vnd.framemaker      |
| mif   | application/x-mif        | application/vnd.mif             |
| pl    | text/x-perl              | application/x-perl              |
| pm    | text/x-perl              | application/x-perl              |
| sisx  | x-epoc/x-sisx-app        | application/vnd.symbian.install |
| sitx  | application/x-stuffit    | application/x-stuffitx          |
| skd   | application/x-koan       | application/vnd.koan            |
| skm   | application/x-koan       | application/vnd.koan            |
| skp   | application/x-koan       | application/vnd.koan            |
| skt   | application/x-koan       | application/vnd.koan            |
| tgz   | application/x-gtar       | application/x-tgz               |
| tk    | text/x-tcl               | application/x-tcl               |
| wpd   | application/wordperfect  | application/vnd.wordperfect     |
2022-09-12 11:39:45 +02:00
Albert Krewinkel d327f2a85b T.P.MIME: Remove deprecated overrides (#8292)
This changes the media type that's used for the file extension listed
below. The new types are either IANA approved, or so similar to the
override that is does not seem sensible to keep a separate entry.
2022-09-11 20:46:05 +02:00
Albert Krewinkel 62f5701fb1 Require mime-types 0.1.1
This version has an updated list of media types, which renders some
overrides redundant.
2022-09-11 18:05:41 +02:00
John MacFarlane 35a3fb7e83 Citeproc: Require a digit for an implicit "page" locator...
inside explicit locator syntax `{...}`.

Previously a locator specified as `{}` would be rendered
as `p.` with nothing after it.

Closes #8288.
2022-09-09 10:30:01 -07:00
John MacFarlane 47dcb5720e Docx writer: adjust correct attribute on lang element.
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-05 23:10:48 -07:00
John MacFarlane 86a3467ece HTML writer: only treat . . . as a slide pause in slides...
...and not in regular HTML output.
Closes #8281.
2022-09-05 09:51:59 -07:00
Albert Krewinkel b9a7de32f6 T.P.Mime: Base module on package mime-types. (#8277)
The *mime-types* module is a dependency of *http-client* and therefore
already a transitive dependency of pandoc.
2022-09-04 14:30:57 -07:00
John MacFarlane a312faffa8 JATS reader: handle uri element in references.
Closes #8270.
2022-09-01 13:21:27 -07:00
Albert Krewinkel 635b6e3953 Use dev version of gridtables
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-09-01 09:06:42 +02:00
John MacFarlane 751383f333 T.P.Citeproc.CslJson: allow an object with items property...
...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-31 10:30:49 -07:00
John MacFarlane 1c4e9d6b05 Citeproc: check both extension and mime type to determine...
...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-31 09:53:53 -07:00
John MacFarlane b133a8be77 RTF writer: add space after unicode escape commands.
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-31 09:44:34 -07:00
John MacFarlane 6f52c77a7e Markdown: Allow table caption labels to start with lowercase t.
Closes #8259.
2022-08-30 09:05:40 -07:00
PratandPrat T 06c3928986 Produce error if --csl is used more than once (#8252)
Closes #8195.

Co-authored-by: Prat T <pt2121@users.noreply.github.com>
2022-08-30 08:36:08 -07:00
Albert Krewinkel 9b6220c8ed Docx reader: mark unnumbered headings with class 'unnumbered'
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-30 10:05:49 +02:00
Albert Krewinkel 7a2e8e51a0 MediaWiki writer: shorten code 2022-08-30 09:59:22 +02:00
Ruqi 8b5fb50198 Mediawiki reader: Parse table cell with attribs, to support rowspan, colspan (#8231) 2022-08-30 09:51:09 +02:00
John MacFarlane b682249ada PandocServer: return error in JSON object if response is JSON. 2022-08-29 09:52:32 -07:00
John MacFarlane 37612b22ab PandocServer: set translations in the writer based on lang metadata. 2022-08-28 20:59:09 -07:00
John MacFarlane 603944ac47 Text.Pandoc.Server: return object if JSON is accepted.
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-28 20:31:47 -07:00
John MacFarlane 1d92024bcb HTML, Markdown writers: filter out empty class attributes.
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-27 17:30:17 -07:00
John MacFarlane eadcb4f97e Avoid thunk in markdown reader. 2022-08-27 12:13:51 -07:00
John MacFarlane d11f24331e Fix a small space leak in HTML writer. 2022-08-27 11:19:28 -07:00
John MacFarlane e3978247cc HTML writer: avoid aria-hidden in code blocks for HTML4.
Closes #8241.

This requires depending on a new (still unreleased)
version of skylighting-format-blaze-html.
2022-08-26 20:01:01 -07:00
John MacFarlane e17c6832b1 Docx writer: Indent tables in list items.
Closes #5947.
2022-08-26 15:15:38 -07:00
John MacFarlane 812ef0484d Docx writer: better handling of tables in lists (#5947).
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-26 08:41:05 -07:00
John MacFarlane 6b8250f752 HTML writer: use role combinator from blaze....
instead of customAttribute.
2022-08-25 18:46:18 -07:00
John MacFarlane 7de54891cb HTML writer: only add role attribute in HTML5.
It is not valid in HTML4.

See #8241.
2022-08-25 18:41:29 -07:00
Siphalor 8670f6dc5b Markdown reader: fenced code block shortcuts with attributes (#8174)
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-25 10:18:11 -07:00
John MacFarlane 488ad80a20 LaTeX reader: handle ## macro arguments properly.
These turn into regular `#` arguments when expanded.

Closes #8243.
2022-08-24 09:36:13 -07:00
John MacFarlane 393a37fc2a LaTeX reader: skip parenthenized args of toprule, midrule, etc.
Closes #8242.
2022-08-23 09:18:12 -07:00
Albert Krewinkel 16d134218b HTML writer: revert to using width property for column widths
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-22 15:32:39 +02:00