Commit graph

71 commits

Author SHA1 Message Date
John MacFarlane
98bc0d17ab Revised EPUB writer given changes in header attributes.
We need to ensure that all headers have attributes, since
this is no longer guaranteed by hierarchicalize.
Explicitly given headers remain the same.
2013-01-11 17:07:25 -08:00
John MacFarlane
f3f3638f21 EPUB writer: Download images at URLs. 2013-01-11 17:07:04 -08:00
John MacFarlane
449ddeb53b Refactoring:
* Shared now exports fetchItem (instead of getItem) and openURL
* fetchItem has different parameters than getItem and includes
  some logic formerly in the ODT and Docx writers
* getItem still used in SelfContained
2013-01-11 16:19:06 -08:00
John MacFarlane
d599c4cdab Added Attr field to Header.
Previously header ids were autogenerated by the writers.
Now they are generated (unless supplied explicitly) in the
markdown parser, if the `header_identifiers` extension is
selected.

In addition, the textile reader now supports id attributes on
headers.
2013-01-09 09:30:05 -08:00
John MacFarlane
0cc9504796 EPUB changes.
* Epub writer now exports writeEPUB, not writeEPUB2 and writeEPUB3.
* Options now exports EPUBVersion
* WriterOptions now includes writerEpubVersion.
2013-01-05 13:00:12 -08:00
John MacFarlane
c45ae571cc Changed --toc-level to --toc-depth. 2013-01-05 12:03:05 -08:00
John MacFarlane
7c10e57997 Changed --epub-toc-level to --toc-level.
Also writerEpubTOCLevel -> writerTOCLevel.
So far this is only implemented in the EPUB writer.
2013-01-05 11:36:55 -08:00
John MacFarlane
e91bae4f5b Renamed writerEPUBMetadata -> writerEpubMetadata.
API change for consistency.
2013-01-04 22:41:27 -08:00
John MacFarlane
30361308e7 Added --epub-chapter-level and --epub-toc-level options.
Also added writerEpubChapterLevel and writerEpubTOCLevel fields
to WriterOptions.
2013-01-04 22:29:41 -08:00
John MacFarlane
0654c4c05a EPUB writer: Parameterize header level for splitting chapters. 2013-01-04 21:55:56 -08:00
John MacFarlane
1864bb0994 Data files changes.
* Added `embed_data_files` flag.  (not yet used)
* Shared no longer exports `findDataFile`.
* `readDataFile` now returns a strict bytestring.
* Shared now exports `readDataFileUTF8` which returns a string like
  the old `readDataFile`.
* Rewrote modules to use new data file functions and to avoid
  using functions from Paths_pandoc directly.
2012-12-29 17:54:07 -08:00
John MacFarlane
3df2f1e3de EPUB3: Don't use the switch statement for mathml.
It is not widely implemented yet.
2012-12-19 11:29:03 -08:00
John MacFarlane
5914be88a8 EPUB writer: Rationalized templates.
* Previously there were three different templates involved in
  epub production. There is now just one template, default.epub
  or default.epub3.
* It can now be overridden using `--template`, just like other
  templates.
2012-11-04 21:21:57 -08:00
John MacFarlane
83b326b005 EPUB: removed need for separate epub-titlepage template.
The titlepage stuff is now folded into the epub-page template.
A titlepage variable selects it.
2012-11-04 21:08:40 -08:00
John MacFarlane
a7b8351d43 EPUB writer: Removed need for separate epub-coverpage template.
The standard epub-page template is now used.
2012-11-04 20:53:41 -08:00
John MacFarlane
7f5e2af1fb EPUB writer: Improved handling of CSS.
* Code highlighting now works by default.
* Quote styles work as in pandoc's HTML writer.
2012-11-04 18:58:37 -08:00
John MacFarlane
1f29592b64 EPUB writer: Set epub3 variable before calling templates. 2012-11-04 18:14:27 -08:00
John MacFarlane
ae6028d442 EPUB writer: Better TOC and footnote handling.
* Here we go back to splitting the document at the Pandoc AST
  level, and converting each chapter to HTML separately.
* Fixes bug in footnote processing introduced by
  commit 01d109e2ef.  The bug caused
  all footnotes to appear in the last chapter, so that footnote
  links from other chapters would not work.  Closes .
* We also disable writerTableOfContents, since TOC is automatic
  for epub.
2012-11-04 18:06:28 -08:00
John MacFarlane
b69792e2ed EPUB: Use section divs by default for better semantic markup. 2012-11-04 12:51:17 -08:00
John MacFarlane
569954e1d5 Improved support for MathML in EPUB3.
* MathML math method now used always in EPUB3 (even if another
  math method specified in options).
* epub:switch is used to specify a non-MathML default. This is supposed
  to proide a good fallback behavior in older readers, though I'm
  not sure how well it works in practice.
2012-11-04 10:37:57 -08:00
John MacFarlane
dfca59943d EPUB: Don't use opf:role in EPUB3. 2012-11-02 21:23:02 -07:00
John MacFarlane
afa5a4da67 EPUB: Fixed invalid nesting problem in nav.xhtml. 2012-11-02 21:12:56 -07:00
John MacFarlane
e9542a60b5 EPUB: Added properties attribute. 2012-11-02 21:10:08 -07:00
John MacFarlane
927e4b92a6 EPUB: Use HTML5 for epub3. 2012-11-02 20:57:18 -07:00
John MacFarlane
927a9271a5 EPUB: Set epub3 template variable controlling doctype. 2012-11-02 20:53:51 -07:00
John MacFarlane
583ce1073c EPUB writer: Don't create entry for nav.xhtml in EPUB2. 2012-11-02 20:25:55 -07:00
John MacFarlane
76d3c0d028 Fixed a couple validation bugs that affect epub2 also. 2012-11-02 20:14:18 -07:00
John MacFarlane
43448d7d53 Preliminary changes for epub3 format.
* EPUB writer now exports writeEPUB2 and writeEPUB3.
* 'epub' output format is epub v2, while 'epub3'
  is v3.
2012-11-02 17:46:22 -07:00
John MacFarlane
01d109e2ef EPUB writer improvements.
* We now convert to XHTML before cutting into chapter-sized chunks.
  This fixes a number of problems.
* `--number-sections` now works properly.
* A proper three-level table of contents is now used in `toc.ncx`.
  There is no longer a subsidiary table of contents at the beginning
  of each chapter.
* New epub-page template without the `$title$` variable.  Titles are
  left in the chapter bodies as an initial h1.
* Closes .
2012-10-11 09:13:09 -07:00
John MacFarlane
93e92a4716 Renamed removedLeadingTrailingSpace to trim.
Also removeLeadingSpace to triml,
removeTrailingSpace to trimr.
2012-09-29 17:09:34 -04:00
John MacFarlane
6ad7ac1239 Removed need for utf8-string package.
* Depend on text.
* Expose Text.Pandoc.UTF8.
* Text.Pandoc.UTF8 now exports toString, fromString,
  toStringLazy, fromStringLazy.
* These are used instead of the old utf8-string functions.
2012-09-25 19:54:21 -07:00
John MacFarlane
880af86556 EPUB writer: Use ch001, ch002, etc. for chapter filenames.
This improves sorting of chapters in some readers, which
apparently sort ch2 after ch10.  Closes .
2012-09-13 08:59:33 -07:00
John MacFarlane
c554c61907 EPUB: Use title instead of "Title Page" in contents.
Otherwise we have a hard-coded English string, which looks
strange in ebooks written in other languages.  Using the
title for this entry seems a good solution.  Closes .
2012-08-25 21:36:43 -07:00
John MacFarlane
d7e658c643 Don't strip meta and link elements in epub metadata.
Per
http://idpf.org/epub/30/spec/epub30-publications.html#sec-metadata-elem,
a metadata element can contain not just Dublin Core elements but also
meta and link elements, but Pandoc currently strips those out.

Patch from aberrancy. Closes .
2012-08-23 19:09:56 -07:00
John MacFarlane
a740de0508 Use safeRead instead of using reads directly (various modules). 2012-08-09 08:11:28 -07:00
John MacFarlane
00dc1e715e Moved WriterOptions and associated types Shared -> Options. 2012-07-26 22:59:56 -07:00
John MacFarlane
999edd9608 Changed signatures of writeODT, writeDocx, writeEPUB.
These now take WriterOptions and Pandoc only.
The extra parameters for epub stylesheet, epub fonts,
reference Docx, and reference ODT have been removed, since
these things are now in WriterOptions.

Note:  breaking API change!
2012-07-24 09:56:00 -07:00
John MacFarlane
4a17d661ff EPUB reader: convert e.g. en_US from locale to en-US in language. 2012-03-09 09:25:24 -08:00
John MacFarlane
e6a03cdd4b EPUB writer: Use extensible exceptions. 2012-03-03 08:16:16 -08:00
John MacFarlane
eed87d7755 Normalize date in EPUB metadata. 2012-02-05 14:05:30 -08:00
John MacFarlane
8f1bfec7b9 Added --epub-embed-font option.
* This can be repeated for multiple fonts.
* Added parameter for fonts to embed to writeEPUB.
* Added ttf, otf to Mime types in Text.Pandoc.MIME.
2012-01-30 13:09:52 -08:00
John MacFarlane
f437827b0c Remove dependency on old-time. 2012-01-28 16:04:35 -08:00
John MacFarlane
ceb8357b41 EPUB writer: Allow raw HTML. 2012-01-13 23:54:37 -08:00
John MacFarlane
4e30f24974 EPUB writer: Allow lang variable to set language in metadata.
Defaults to locale language if `lang` is not set.
2012-01-01 14:32:27 -08:00
John MacFarlane
7702d2ca82 EPUB: Get correct environment variable for LANG.
This should fix `<dc:language>` problems.
2011-12-30 09:55:36 -08:00
John MacFarlane
4fd9fb9ea2 EPUB: Correctly handle internal links.
Previously they were ignored.  Now all links are preserved,
but purely internal links are modified so that they point
to the proper place in the EPUB.

This is nontrivial, since the heading you refer to in your
markdown source with 'my-section-1' might end up as
'ch16.xhtml#my-section' in the EPUB.

Closes .
2011-12-28 19:40:03 -08:00
John MacFarlane
de79021543 EPUB writer: Make external (absolute) links active. 2011-12-26 23:18:32 -08:00
John MacFarlane
fba4f1f37e EPUB: Added customizable templates for epub pages.
epub-page.html, epub-coverimage.html, epub-titlepage.html.
2011-12-18 12:33:44 -08:00
John MacFarlane
412580c223 EPUB: Don't use any decimal entities.
kindlegen doesn't like them - even &#39;.
It should be safe to use the unescaped ' character, since
we know that all attributes are double quoted in the relevant
files.
2011-12-13 08:13:27 -08:00
John MacFarlane
d8d68c5110 EPUB writer: made unEntity handle errors better. 2011-12-12 09:17:54 -08:00