Commit graph

2075 commits

Author SHA1 Message Date
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
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
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
Jesse Rosenthal
cb1ee07c98 Powerpoint writer: Keep notes with related blocks
Some blocks automatically split slides (imgs, tables, `column`
divs). We assume that any speaker notes immediately following these
are connected to these elements, and keep them with the related
blocks, splitting after them.
2018-03-21 10:07:07 -04:00
Alexander Krotov
81afcdfaf8 Muse writer: escape "]" in image title 2018-03-20 15:01:53 +03:00
Alexander Krotov
bc0025d944 Muse writer: remove key-value pairs from attributes before normalization 2018-03-20 14:51:39 +03:00
Alexander Krotov
268c73c873 Muse writer: escape ";" to avoid accidental comments 2018-03-20 12:16:34 +03:00
Alexander Krotov
d63bba3066 Muse writer: escape "]" brackets in URLs as "%5D" 2018-03-20 12:16:34 +03:00
John MacFarlane
3d21c184d4 Ms writer: don't escape hyphens.
Previously we escaped hyphens as `\-`, but that's a minus sign.
Closes #4467.

Updated changelog.
2018-03-18 14:52:03 -07:00
Mauro Bieg
ec47079d3e EPUB writer: remove notes from TOC in nav.xhtml (#4463)
fixes #4453
2018-03-18 11:34:34 -07:00
John MacFarlane
937bec95a9 Removed old-locale flag and Text.Pandoc.Compat.Time.
This is no longer necessary since we no longer support ghc 7.8.
2018-03-18 11:24:29 -07:00
John MacFarlane
7e389cb3db Use NoImplicitPrelude and explicitly import Prelude.
This seems to be necessary if we are to use our custom Prelude
with ghci.

Closes #4464.
2018-03-18 10:46:28 -07:00
John MacFarlane
dfa1dc164a hlint fixes. 2018-03-17 22:00:55 -07:00
John MacFarlane
fef484c4d0 Fixed typo introduced in merge. 2018-03-17 20:41:11 -07:00
Francesco Occhipinti
ba965d1736 RST writer: filter out empty inline containers (#4434).
There is nothing in RST that corresponds to e.g. `Emph []`, so we just filter out elements like this.
2018-03-17 20:39:26 -07:00
Francesco Occhipinti
e5845f33ad Don't wrap lines in grid tables when --wrap=none (#4320)
* Annotate gridTable code with comments and abstract small functions
* Don't wrap lines in tables when `--wrap=none`.  Instead, expand cells, even if
   it results in cells that don't respect relative widths or surpass page column width.
* This change affects RST, Markdown, and Haddock writers.
2018-03-17 20:31:43 -07:00
Francesco Occhipinti
90a705c8af RST writer: separate inline transformation logic from writing logic (#4438)
This is to help enable solutions  solutions to #4434 and #4368.
2018-03-17 20:17:55 -07:00
Francesco Occhipinti
65cc909fde RST writer: strip whitespace within inlines, closes #4327 (#4329)
+ Whitespace is ignored at the beginning and end of emphasis, as per
  <http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#inline-markup>.
+ Export `stripLeadingTrailingSpace` from `Text.Pandoc.Writers.Shared`.
2018-03-17 19:21:27 -07:00
John MacFarlane
605545e024 Work around Monoid/Semigroup-related compiler errors GHC 7.10. 2018-03-17 14:25:05 -07:00
John MacFarlane
be12ae3bca Better table handling for Haddock.
In the reader, we use the new Table type in Haddock.
Note that tables with col/rowspans will not translate
well into Pandoc.

In the writer, we now render tables always as grid tables,
since Haddock supports these.
2018-03-16 22:38:34 -07:00
John MacFarlane
f0b6e0ee49 Monoid/Semiground cleanup relying on custom Prelude. 2018-03-16 12:17:58 -07:00
Mauro Bieg
bcfc3916e9 DokuWiki writer: rewrite backSlashLineBreaks (#4445)
Rewrite for efficiency.
2018-03-13 21:41:23 -07:00
John MacFarlane
17725a0661 Beamer: put hyperlink after \begin{frame}.
and not in the title.  If it's in the title, then we get
a titlebar on slides with the `plain` attribute, when
the id is non-null.  This fixes a regression from 1.9.x.

Closes #4307.
2018-03-13 10:03:51 -07:00
Mauro Bieg
a0da1e2723 Dokuwiki writer: fix LineBreaks in Tables (#4444)
fixes #4313
2018-03-11 18:20:36 -07:00
Alexander Krotov
19fd98e452 Muse writer: support spans with anchors 2018-03-12 01:47:20 +03:00
John MacFarlane
0bdabfb09a Ms writer: asciify pdf anchors, since unicode anchors don't work.
Closes #4436.  Internal links should be converted automatically,
so this shouldn't affect users directly.
2018-03-09 09:27:44 -08:00
John MacFarlane
6173c3c830 Fixed formatting of DefaultStyle ordered lists in docx writer.
We want decimal for the top level, not lower roman.
2018-03-08 10:19:23 -08:00
Alexander Krotov
1884ee6083 Muse writer: replace smallcaps with emphasis before normalization 2018-03-07 20:10:19 +03:00
Alexander Krotov
ff8e59a174 Muse writer: output smallcaps as emphasis 2018-03-07 19:11:27 +03:00
Alexander Krotov
f8608b418a Muse writer: expand Cite before list normalization 2018-03-07 19:11:03 +03:00
Alexander Krotov
f8e255053d Muse writer: write empty inline lists as <verbatim></verbatim> 2018-03-07 18:35:04 +03:00
Alexander Krotov
39b31ef3cb Muse writer: remove empty Str from the beginning of inline lists during normalization 2018-03-07 16:25:15 +03:00
Alexander Krotov
1b1b6f02d5 Muse writer: escape "-" to avoid creating bullet lists 2018-03-07 15:19:36 +03:00
Alexander Krotov
31b4387a6b Muse writer: fix math expansion for more than one expression per paragraph 2018-03-06 12:58:20 +03:00
Nokome Bentley
7d193b2aad Remove extraneous, significant whitespace in JATS writer output (#4335)
This patch fixes some cases where the JATS writer was introducing
semantically significant whitespace by indenting and wrapping tags.
Note that the JATS spec has a content model for `<p>` tags of `(#PCDATA | ...`.
Any tag where `#PCDATA` children are possible should not have any
indentation. The same is true for `<th>`, `<td>`, `<term>`, `<label>`.
2018-03-05 09:44:34 -08:00
Alexander Krotov
7da6e4390c Muse writer: expand math before inline list normalization 2018-03-05 19:50:19 +03:00
Alexander Krotov
991b57733c hlint Muse reader and writer 2018-03-02 19:51:54 +03:00
Alexander Krotov
9dbd59a7c1 Muse writer: join strings during inline normalization 2018-03-02 01:45:01 +03:00
Alexander Krotov
e881214bf9 Org writer: fix a typo s/prettyfy/prettify/ 2018-03-02 00:35:48 +03:00
Alexander Krotov
8b1630aae0 Muse writer: change verse markup
Use "> " instead of <verse> tag
2018-02-28 14:42:43 +03:00
Alexander Krotov
1d57f7a641 Muse writer: remove empty strings during inline normalization 2018-02-28 14:26:11 +03:00
Jesse Rosenthal
0287530a67 Powerpoint writer: use trim from Shared
Instead of writing my own.
2018-02-27 11:28:15 -05:00
Jesse Rosenthal
9abcb4f201 Powerpoint writer: Use table styles
This will use the default table style in the reference-doc file. As a
result they will be easier when using in a template, and match the
color scheme.
2018-02-27 10:19:35 -05:00
Jesse Rosenthal
cdbe45e8ee Powerpoint writer: Remove empty slides
Make sure there are no empty slides in the pptx output. Because of the
way that slides were split, these could be accidentally produced by
comments after images.

When animations are added, there will be a way to add an empty slide
with either incremental lists or pauses.

Test outputs checked with MS PowerPoint (Office 2013, Windows 10,
VBox). Both files have expected output and are not corrupted.
2018-02-27 09:12:17 -05:00
Albert Krewinkel
b5bd8a9461
Lua: register script name in global variable
The name of the Lua script which is executed is made available in the
global Lua variable `PANDOC_SCRIPT_FILE`, both for Lua filters and
custom writers.

Closes: #4393
2018-02-24 22:43:28 +01:00