Commit graph

6186 commits

Author SHA1 Message Date
Alexander Krotov
c4814ea965 Muse reader: add secondary note support 2019-02-18 15:21:32 +03:00
Alexander Krotov
2c7c8a6f40 Muse writer: escape secondary notes 2019-02-18 15:21:32 +03:00
Alexander Krotov
073db7ac1f Move a comment in Muse Writer 2019-02-18 15:21:32 +03:00
Albert Krewinkel
331d6224a1
T.P.Lua: split StackInstances into smaller Marshaling modules 2019-02-16 12:08:22 +01:00
Albert Krewinkel
85470c49fe
T.P.Lua: get CommonState from Lua global
This allows more control over the common state from within Lua scripts.
2019-02-16 12:08:22 +01:00
John MacFarlane
bc2aca3d6d ipynb writer: don't create attachments for images with absolute URIs.
...including data: URIs.

Closes #5303.
2019-02-15 22:55:17 -08:00
John MacFarlane
d7d1c9c8e4 Markdown reader: fix bug parsing fenced code blocks.
Previously parsing would break if the code block
contained a string of backticks of sufficient length
followed by something other than end of line.

Closes #5304.
2019-02-15 22:34:32 -08:00
John MacFarlane
1cfd0fb33c Revert "JATS writer: Support citations."
This reverts commit 39889c22df.
2019-02-15 10:29:11 -08:00
John MacFarlane
39889c22df JATS writer: Support citations. 2019-02-15 10:26:40 -08:00
John MacFarlane
35df24e698 JATS reader: handle citations with multiple references.
The rid attribute can have a space-separated list of ids.

Closes #5310.
2019-02-15 10:09:46 -08:00
Jesse Rosenthal
8552e188cd Docx reader: unwrap sdt elements in footnotes and comments.
We had previously walked the document to unwrap sdt/sdtContent and
smartTag tags in `word/document.xml`, but not in the
`word/{foot/end}note.xml` and `word/comments.xml`.

Closes #5302
2019-02-12 16:36:54 -05:00
John MacFarlane
b9a2f8ea54 Remove redundant import. 2019-02-11 08:33:17 -08:00
John MacFarlane
85afbc7c6b ipynb writer: keep plain text fallbacks in output...
even if a richer format is included.

We don't know what output format will be needed.
The fallback can always be weeded out using a filter.

Closes #5293.
2019-02-10 22:05:22 -08:00
John MacFarlane
9abb458cbb Implement aria roles doc-bibliography, doc-biblioentry, doc-biblioref.
Note that doc-biblioref is only used when link-citations produces
links, since it belongs on links.

See #4213.
2019-02-10 18:15:55 -08:00
Mauro Bieg
d0a5f2aded JATS writer: wrap figure caption in <p> to fix validation (#5292)
closes #5290
2019-02-10 07:22:12 -08:00
John MacFarlane
ec11f8d992 ipynb writer - ensure final newline. 2019-02-09 14:53:22 -08:00
Albert Krewinkel
75c791b4fe Lua filters: load module pandoc before calling init.lua (#5287)
The file `init.lua` in pandoc's data directory is run as part of
pandoc's Lua initialization process. Previously, the `pandoc` module was
loaded in `init.lua`, and the structure for marshaling was set-up after.
This allowed simple patching of element marshaling, but made using
`init.lua` more difficult:

  - it encouraged mixing essential initialization with user-defined
    customization;

  - upstream changes to init.lua had to be merged manually;

  - accidentally breaking marshaling by removing required modules was
    possible;

Instead, all required modules are now loaded before calling `init.lua`.
The file can be used entirely for user customization. Patching
marshaling functions, while discouraged, is still possible via the
`debug` module.
2019-02-09 13:56:49 -08:00
Albert Krewinkel
ba61dc35d8
T.P.Lua: properly indent module-loading error 2019-02-09 20:12:34 +01:00
John MacFarlane
4543543063 Fixed asciidoc display math in list contexts. 2019-02-09 11:02:19 -08:00
TG
8c2e2435f9 Asciidoctor writer sets the stem attribute if it contains latexmath 2019-02-09 08:21:53 -08:00
TG
568b25d33a Adds Asciidoctor sprcific writer and tests 2019-02-09 08:21:53 -08:00
TG
8fdeae2872 AsciiDoc Writer: DisplayMath as asciidoc latexmath block 2019-02-09 08:20:56 -08:00
John MacFarlane
b8eeb0f4da AsciiDoc writer: change bulletListLevel and orderedListLevel...
so that 0 means "not in a list," which is more what
one would expect.
2019-02-09 08:17:53 -08:00
John MacFarlane
47537d26db Improve tight/loose list handling.
Closes #5285. Previously the algorithm allowed list items
with a mix of Para and Plain, which is never wanted.

compactify in T.P.Shared has been modified so that, if
a list's items contain (at the top level) Para elements
(aside from perhaps at the very end), ALL Plains are
converted to Paras.
2019-02-08 23:16:01 -08:00
John MacFarlane
5c8e12b64b Fix misleading code comment. 2019-02-08 22:34:26 -08:00
Mauro Bieg
62c5d17d3f Make --metadata-file use pandoc-markdown (#5279)
see #5272
2019-02-08 12:44:02 -08:00
Jesse Rosenthal
b3d015e266 Docx reader: fix paths in archive to prevent Windows failure
Some paths in archives are absolute (have an opening slash) which, for
reasons unknown, produces a failure in the test suite on MS
Windows. This fixes that by removing the leading slash if it exists.

Closes #5277 (previously closed with 4cce0ef but reopened due to this bug).
2019-02-08 09:54:10 -05:00
Jesse Rosenthal
0719807401 Revert "Docx reader: Fix windows error"
This reverts commit 2142bbe572.
2019-02-07 15:06:25 -05:00
Jesse Rosenthal
2142bbe572 Docx reader: Fix windows error
Try fixing a parsing error on windows by insisting that the parser use
a Posix filepath library for splitting doc paths in a zipfile. (It
might default on Windows to using a backslash as a separator, while
it's always a forward-slash in zip archives.)
2019-02-07 14:46:56 -05:00
Jesse Rosenthal
b0d55e4f5b Docx reader: Some code cleanup
* clarify function name. We had previously used `getDocumentPath`,
   but `Document` is an overdetermined term here. Use
   `getDocumentXmlPath` to make clear what we're doing.

 * Use field notation for setting ReaderEnv. As we've added (and
   continue to add) fields, the assignment by position has gotten
   harder to read.

 * figure out document.xml path once at the beginning of parsing, and
   add it to the environment, so we can avoid repeated lookups.
2019-02-07 09:23:28 -05:00
Jesse Rosenthal
9ff4042932 Docx reader: Extend dynamic xml location to detecting relationships
Getting the location used to depend on a hard-coded .rels file based
on "word/document.xml". We now dynamically detect that file based on
the document.xml file specified in "_rels/.rels"
2019-02-07 06:00:37 -05:00
Jesse Rosenthal
4cce0efa48 Docx reader: Dynamically determine document.xml path.
The desktop Word program places the main document file in
"word/document.xml", but the online word places it in
"word/document2.xml". This file path is actually stated in the root
"_rels/.rels" file, in the "Relationship" element with an
"http://../officedocument" type.

Closes #5277
2019-02-06 21:14:46 -05:00
John MacFarlane
2b003d4a6b Handle Word files generated by Microsoft Word Online.
For some reason, Word in Office 365 Online uses `document2.xml`
for the content, instead of `document.xml`.  This causes pandoc
not to be able to parse docx.

This quick fix has the parser check for both `document.xml`
and `document2.xml`.

Addresses #5277, but a more robust solution would be to
get the name of the main document dynamically (who knows
whether it might change again?).
2019-02-06 09:01:26 -08:00
Albert Krewinkel
37a82b0b11 Add missing copyright notices and remove license boilerplate (#5112)
Quite a few modules were missing copyright notices.

This commit adds copyright notices everywhere via haddock module
headers.  The old license boilerplate comment is redundant with this and has
been removed.

Update copyright years to 2019.

Closes #4592.
2019-02-04 13:52:31 -08:00
John MacFarlane
4b89311081 More carefully groom ipynb default extensions. 2019-02-04 11:11:38 -08:00
John MacFarlane
977a88f92d Add all_symbols_escapable to githubMarkdownExtensions. 2019-02-04 11:11:13 -08:00
John MacFarlane
ccf4e23ee1 Markdown reader: add newline when parsing blocks in YAML.
Otherwise last block gets parsed as a Plain rather than
a Para.

This is a regression in pandoc 2.x.  This patch restores
pandoc 1.19 behavior.

Closes #5271.
2019-02-04 10:22:02 -08:00
John MacFarlane
ca4d308b60 ipynb reader: handle images referring to attachments.
Previously we didn't strip off the attachment: prefix,
so even though the attachment is available in the mediabag,
pandoc couldn't find it.
2019-02-02 18:22:43 -08:00
John MacFarlane
b062117ef4 HTML5 writer: implement WAI-ARIA roles for (end)notes.
See #4213.
2019-02-02 16:14:58 -08:00
John MacFarlane
00cd11c6e2 Shared: withTempDir is no longer used in the codebase.
Add comment to remove it in next major release.
2019-02-02 12:36:32 -08:00
John MacFarlane
cb1ede5b08 PDF: More conservative solution to #777.
Now, instead of always creating temp dirs in the home
directory on Windows, we only do it if the system tempdir
name contains tildes.  (This will be the case for longer
usernames only.)

Closes #1192.
2019-02-02 12:35:27 -08:00
John MacFarlane
737c0a684e PDF: use system temp dir and set TEXMFOUTPUT.
Previously the temp directory was created inside the working
directory, so that programs like epstopdf.pl would be allowed
to run in restricted mode.  However, setting TEXMFOUTPUT allows
these programs to run in the tmpdir inside the system temp
directory.

This is a better solution than cd51983.  Using the system
temp dir prevents problems when pandoc is run inside a synced
directory (e.g. dropbox).

Partially addresses #1192.
2019-02-02 11:31:29 -08:00
Mauro Bieg
9225583ccf
MIME: add WebP
fixes #5267
2019-02-02 10:05:06 +01:00
John MacFarlane
a6e3f1c775 LaTeX writer: use right fold for escapeString.
This is more elegant than the explicit recursive
we were using.
2019-02-01 22:12:54 -08:00
John MacFarlane
f5ebe98773 LaTeX writer: code simplification in escaping. 2019-02-01 21:59:58 -08:00
John MacFarlane
20a0b4433f Markdown writer: use markdown="1" when appropriate for Divs.
When `native_divs` and `markdown_in_html_blocks` are disabled
but `raw_html` and `markdown_attribute` are enabled...
2019-02-01 21:49:02 -08:00
John MacFarlane
633a9ecfec LaTeX writer: avoid {} after control sequences when escaping.
`\ldots{}.` doesn't behave as well as `\ldots.` with the latex
ellipsis package.  This patch causes pandoc to avoid emitting
the `{}` when it is not necessary.  Now `\ldots` and other
control sequences used in escaping will be followed by either
a `{}`, a space, or nothing, depending on context.

Thanks to Elliott Slaughter for the suggestion.
2019-02-01 21:17:46 -08:00
John MacFarlane
e752669e50 LaTeX reader: don't let \egroup match {.
`braced` now actually requires nested braces.
Otherwise some legitimate command and environment
definitions can break (see test/command/tex-group.md).
2019-01-31 22:50:51 -08:00
John MacFarlane
51f042279c Update copyright year in version. 2019-01-30 14:45:35 -08:00
leungbk
ac83b9c37c Org reader: add support for #+SELECT_TAGS. 2019-01-30 18:27:38 +01:00