Commit graph

5550 commits

Author SHA1 Message Date
Jesse Rosenthal
394f4536e1 Powerpoint writer: Handle Quoted Inlines
Closes: #4532
2018-04-05 14:03:15 -04:00
John MacFarlane
7e99178a09 Changes to tests to accommodate changes in pandoc-types.
In https://github.com/jgm/pandoc-types/pull/36 we changed
the table builder to pad cells.  This commit changes tests
(and two readers) to accord with this behavior.
2018-04-05 10:14:06 -07:00
John MacFarlane
d77e8f45c9 LaTEX reader: properly resolve section numbers with \ref and chapters.
Closes #4529.
2018-04-05 10:14:06 -07:00
Alexander Krotov
f224567d52 FB2 writer: represent HorizontalRule as empty line
HorizontalRule corresponds to <hr> element in the default output
format, HTML. Current HTML standard defines <hr> element as
"paragraph-level thematic break". In typography it is often
represented by extra space or centered asterism ("⁂"), but since
FB2 does not support text centering, empty line (similar to extra space)
is the only solution.

Line breaks, on the other hand, don't generate <empty-line />
anymore. Previously line breaks generated <empty-line /> element
inside paragraph, which is not allowed. So, this commit addresses
issue #2424 ("FB2 produced by pandoc doesn't validate").

FB2 does not have a way to represent line breaks inside paragraphs.
They are replaced with LF character, which is not rendered by
FB2 readers, but at least preserves some information.
2018-04-05 19:53:36 +03:00
Alexander Krotov
87dda2109d Muse writer: escape horizontal rule only if at the beginning of the line 2018-04-05 19:49:09 +03:00
Alexander Krotov
16104881b3 Muse writer: simplify escaping in inlineToMuse Image{} 2018-04-05 19:49:09 +03:00
quasicomputational
13538ce6eb CommonMark writer: correctly ignore LaTeX raw blocks when not raw_tex (#4533)
Issue #4527.
2018-04-05 08:53:42 -07:00
Alexander Krotov
ff3ed5c9f8 FB2 writer: allow emphasis and notes in titles
Only <p> and <empty-line /> are allowed in titles,
but <p> has the same type as an ordinary paragraphs.
Therefore, there is no need to remove emphasis from titles.

Also, don't intersperse paragraph with empty lines.
2018-04-04 14:22:34 +03:00
Alexander Krotov
2388be6482 Muse reader: code cleanup 2018-04-03 18:15:48 +03:00
Alexander Krotov
d6b8d7feb8 Muse reader: rewrite museOrderedListMarker without "do" 2018-04-03 16:09:12 +03:00
Alexander Krotov
51e8a79023 Muse reader: refactor parseAnchor 2018-04-03 15:47:23 +03:00
Alexander Krotov
7de6f085af Muse reader: rewrite parseDirectiveKey without do 2018-04-03 15:47:23 +03:00
Alexander Krotov
8837af879a Muse writer: rewrite noteToMuse without do 2018-04-03 15:47:23 +03:00
Marc Schreiber
16523ea3d1 LaTeX reader: parse sloppypar environment (#4517) 2018-04-02 09:33:29 -07:00
Alexander Krotov
2380845206 Muse reader: add <math> tag support 2018-04-02 17:19:26 +03:00
Alexander Krotov
dfbae03810 hlint Muse writer 2018-04-02 16:20:35 +03:00
Alexander Krotov
ca78d93b40 Muse writer: place header IDs before header
See https://github.com/melmothx/text-amuse/issues/39
2018-04-02 15:58:37 +03:00
Alexander Krotov
aca4137c40 Muse writer: only escape brackets when necessary
It includes cases when they can be mistaken for footnotes
and links, as well as inside link description.
2018-04-01 19:39:18 +03:00
Alexander Krotov
bdb8424697 Muse writer: do not escape list markers unless preceded by space 2018-03-31 23:40:31 +03:00
John MacFarlane
b9602766d8 Textile reader: fixed tables with no body rows.
Previously these raised an exception.

Closes #4513.
2018-03-30 14:56:36 -07:00
Jesse Rosenthal
d0dc0c353e Powerpoint writer: code cleanup
Since we're using mapM_ instead of mapM, we can get rid of the return
statement. We also don't need the `unless` statement anymore.
2018-03-30 13:53:04 -04:00
John MacFarlane
f03ea3ff87 Set default extensions for "beamer" same as "latex". 2018-03-30 09:46:16 -07:00
John MacFarlane
c997f112b7 EPUB writer: add epub:type="footnotes" to notes section in EPUB3.
Closes #4489.
2018-03-30 09:38:49 -07:00
Anabra
2d414321df Removed unused extensions (#4506) 2018-03-29 10:47:12 -07:00
John MacFarlane
5a79948e0c Mediawiki reader: improve table parsing.
This fixes detection of table attributes and also
handles `!` characters in cells.

Closes #4508.
2018-03-28 08:59:34 -07:00
Alexander Krotov
d0a7dbd948 Muse writer: implement Default for WriterState 2018-03-28 15:49:50 +03:00
Alexander Krotov
7c268c492d Muse writer: move options, stTopLevel and stInsideBlock to WriterEnv 2018-03-28 15:45:45 +03:00
Alexander Krotov
7252777078 Muse writer: define Muse type 2018-03-28 14:53:03 +03:00
Alexander Krotov
b379a2903a Muse writer: escape semicolons and markers after line break 2018-03-28 13:19:39 +03:00
Alexander Krotov
6d35090538 Cleanup Muse reader and writer 2018-03-26 16:05:02 +03:00
Alexander Krotov
989a9ebec3 Muse writer: remove unused binding 2018-03-25 23:42:07 +03:00
Alexander Krotov
79592db66c Muse reader: allow links to have empty descriptions 2018-03-25 22:16:45 +03:00
Alexander Krotov
a3f659d2c0 Muse writer: escape ordered list markers
Also reduced amount of <verbatim> tags in output to avoid escaping every "-" and word that ends in a full stop.
2018-03-25 19:28:23 +03:00
Alexander Krotov
c6232d0f7d Muse reader: require block <literal> tags to be on separate lines 2018-03-25 18:31:28 +03:00
Jesse Rosenthal
2582de5384 Powerpoint writer: code cleanup. 2018-03-25 10:22:37 -04:00
Alexander Krotov
4a8993f9b0 Muse writer: improve span writing
Test more cases when span has or hasn't anchor, class and contents in different combinations.
2018-03-25 01:18:33 +03:00
Alexander Krotov
d58b961a6d Muse writer: do not join Span's doing normalization
Separate spans may have different semantics, for example if spans indicate syllables in a word.
2018-03-25 00:30:05 +03:00
Jesse Rosenthal
8b533f9c38 Powerpoint writer: simplify code with ParseXml
There were some artifact code blocks around from before
`reference-doc` functionality was implemented. This led to ignoring
the reference-doc in places. Though I fixed this, I kept the old
hacked-up functions instead of replacing them with
`parseXml` (imported from Writers.OOXML) which does this in a
consistent manner. This commit corrects that oversight.
2018-03-24 16:07:14 -04:00
Jesse Rosenthal
f7fb102aae Powerpoint writer: Allow fallback options when looking for placeholder type. 2018-03-24 11:02:45 -04:00
Jesse Rosenthal
8932604649 Revert "Powerpoint writer: Remove spPr tag from non-body layouts"
This reverts commit 99fa850a37.
2018-03-24 10:16:55 -04:00
Jesse Rosenthal
187fa4e444 Powerpoint reader: Check reference-doc for all layouts.
There were a few layouts where we were still just checking the built
in pptx doc, instead of the supplied reference doc.
2018-03-24 10:14:19 -04:00
Jesse Rosenthal
99fa850a37 Powerpoint writer: Remove spPr tag from non-body layouts
This was causing headers to be misaligned when some templates were used.
2018-03-23 16:29:29 -04:00
John MacFarlane
2ae0c0d433 PDF: with xelatex, don't compress images til the last run.
This saves time for image-heavy documents.  Closes #4484.
2018-03-23 12:58:05 -07:00
John MacFarlane
db596a5b12 EPUB writer: ensure that pagetitle is always set...
even when structured titles are used.
This prevents spurious warnings about empty title elements.

Closes #4486.
2018-03-23 12:09:53 -07:00
Jesse Rosenthal
435b1829b1 Powepoint writer: Simplify speaker notes
We now pull the filtered blocks and speaker notes out at the top of
the `blocksToSlide` function, and then make SpeakerNotes into a
parameter of the `blocksToSlide'` subfunction. The output is the same,
but the logic should be easier to follow now.
2018-03-23 14:22:35 -04:00
Jesse Rosenthal
3b7611a7c7 Powerpoint writer: change notes state to a simpler per-slide value
We used to keep a map of the slideId-to-notes for each slide. Since we
now extract them at the slide level, this is overcomplicated, and we
can just extract them before converting a slide and then clear the
state after.
2018-03-23 13:58:22 -04:00
Jesse Rosenthal
59f3997069 Powerpoint writer: Remove Maybe from SpeakerNotes in Slide.
Previously, we had treated it as a `Maybe`. But there is no difference
between not having speaker notes and having empty speaker notes. So we
make the SpeakerNotes newtype into a monoid, and test for memptiness
instead of testing for Just/Nothing.
2018-03-23 13:00:30 -04:00
John MacFarlane
e190912302 Parsing: Fix romanNumeral parser.
We previously accepted 'DDC' as 1100.  Closes #4480.
2018-03-21 16:49:55 -07:00
Alexander Krotov
6f50733691 Muse writer: don't align ordered list items
It leads to problems with round-trip test,
because aligned line blocks can't be read back.
2018-03-21 17:33:27 +03:00
Jesse Rosenthal
ab184a519c Powerpoint writer: handle speaker notes earlier in the conversion process
Internal change: We were getting bad results with the empty text box
created by the conversion of notes into an empty paragraph. So we now
convert the notes at the `blocksToSlide` stage, by `walkM`ing a
function over the blocks that returns `()`, and then filters the notes
out. This avoids the need to have a return value for speaker notes,
and thus avoids the empty TextBox.

Together with the previous commit (256f14c5a), closes #4477.
2018-03-21 10:07:07 -04:00