Commit graph

879 commits

Author SHA1 Message Date
John MacFarlane
08631ef1a3 Some test suite fixes for new metadata. 2013-06-25 22:32:50 -07:00
John MacFarlane
f869f7e08d Use new flexible metadata type.
* Depend on pandoc 1.12.
* Added yaml dependency.
* `Text.Pandoc.XML`: Removed `stripTags`.  (API change.)
* `Text.Pandoc.Shared`:  Added `metaToJSON`.
  This will be used in writers to create a JSON object for use
  in the templates from the pandoc metadata.
* Revised readers and writers to use the new Meta type.
* `Text.Pandoc.Options`: Added `Ext_yaml_title_block`.
* Markdown reader:  Added support for YAML metadata block.
  Note that it must come at the beginning of the document.
* `Text.Pandoc.Parsing.ParserState`:  Replace `stateTitle`,
  `stateAuthors`, `stateDate` with `stateMeta`.
* RST reader:  Improved metadata.
  Treat initial field list as metadata when standalone specified.
  Previously ALL fields "title", "author", "date" in field lists
  were treated as metadata, even if not at the beginning.
  Use `subtitle` metadata field for subtitle.
* `Text.Pandoc.Templates`:  Export `renderTemplate'` that takes a string
  instead of a compiled template..
* OPML template:  Use 'for' loop for authors.
* Org template: '#+TITLE:' is inserted before the title.
  Previously the writer did this.
2013-06-24 20:29:41 -07:00
John MacFarlane
e32a8f5981 Revised Text.Pandoc.Templates to accept JSON contexts.
Currently the library is set up with a shim for association
lists, for compatibility, but this can change when the writers
are changed.

New export: `varListToJSON`.

Removed `Empty`.

Simplified template type to a newtype.
2013-06-24 20:27:37 -07:00
John MacFarlane
a43e0ad5d6 Markdown writer: Don't wrap attributes in fenced code blocks. 2013-06-11 10:17:12 -07:00
John MacFarlane
8d19e45b97 LaTeX writer: Always create labels for sections.
Previously the labels were only created when there were links to
the section in the document.

Closes #871.
2013-06-02 14:38:18 -07:00
Max Rydahl Andersen
2e868c8251 Add --atx-headers support to asciidoc and dont print empty identifier blocks ([[]]) on headers 2013-05-31 01:34:46 +02:00
John MacFarlane
7998587810 Added CPP directives to avoid warnings.
For 'import Prelude hiding (catch)'.  catch is no longer in
Prelude starting with base 4.6.
2013-05-29 20:21:32 -07:00
John MacFarlane
f8e6f9c215 EPUB writer: math with --webtex is automatically made self-contained.
And some code cleanup.
2013-05-22 14:51:47 -07:00
John MacFarlane
210855e03e EPUB writer: Download webtex images and include as data URLs.
This allows you to use `--webtex` in creating EPUBs.
2013-05-22 10:21:22 -07:00
John MacFarlane
008273ef67 RTF writer: Properly handle characters above the 0000-FFFF range.
Uses surrogate pairs.  Thanks to Hiromi Ishii for the patch.
2013-05-02 19:42:37 -07:00
John MacFarlane
d776ee191e Don't convert to lowercase in email obfuscation.
Closes #839.
2013-04-25 12:28:55 -07:00
John MacFarlane
a405b81459 Add slash in internal links in reveal.js.
Closes #835.
2013-04-20 14:59:39 -07:00
John MacFarlane
7d7c1f2f8e Fixed footnote numbers in LaTeX/PDF tables.
This fixes a bug wherein notes were numbered incorrectly
in tables.  Closes #827.

Now that we are using longtable, we can just use regular
`\footnote` commands for notes, which simplifies the code
considerably.
2013-04-15 09:10:29 -07:00
John MacFarlane
931b22184a Markdown/RST writers: Only autolink absolute URIs.
This fixes a regression and closes #830.

    $ echo '<a href="x">x</a>' | pandoc -f html -t markdown
    <x>
2013-04-14 22:37:46 -07:00
John MacFarlane
4fa2a94759 Added Text.Pandoc.Writers.Custom, --print-custom-lua-writer.
pandoc -t data/sample.lua

will load the script sample.lua and use it as a custom writer.
data/sample.lua is provided as an example.

Added `--print-custom-lua-writer` option to print the sample
script.
2013-04-14 00:31:39 -05:00
John MacFarlane
da13ad89ce Man writer: use one decimal place for column widths.
This, I hope, will fix test failures on GHC 7.6 due to
(presumably) different rounding or floating point multiplication.
2013-04-09 19:56:43 -07:00
John MacFarlane
ff6394171b Markdown writer: Put multiple authors on separate lines in titleblock.
Also, don't wrap long author entries, as new lines get treated
as new authors.
2013-04-08 09:51:10 -07:00
John MacFarlane
72020f1773 Docx writer: Use Compact style for Plain block elements.
This differentiates between tight and loose lists.
Closes #775.
2013-03-30 22:11:00 -07:00
John MacFarlane
38e35aaeda Allow simple tables to be printed as grid tables.
if other table options are disabled.

This means you can do

    pandoc -t markdown-pipe_tables-simple_tables-multiline_tables

and all tables will render as grid tables.
2013-03-28 17:34:54 -07:00
John MacFarlane
ba1e74dcd7 Removed blaze_html_0_5 flag, require blaze-html >= 0.5.
Reason:  < 0.5 does not provide a monoid instance for Attribute,
which is now needed by the HTML writer.

Closes #803.
2013-03-26 11:38:50 -07:00
John MacFarlane
b6f75f60d6 EPUB writer: Don't put blank title page in reading sequence.
Set linear="no" if no title block.
Addresses #797.
2013-03-24 23:06:44 -07:00
John MacFarlane
cb906e7512 EPUB writer: Add id="toc-title" to h1 in nav.xhtml.
Closes #799.
2013-03-24 22:41:00 -07:00
John MacFarlane
6217623d0a Added syntax for "pauses" in beamer or reaveljs slide shows.
This gives

    . . .

    a pause.
2013-03-24 21:03:04 -07:00
John MacFarlane
da1e38893a Reveal.js improvements.
Changed name to revealjs (from reveal_js).
Set revealjs-url template variable to 'reveal.js' by default.
2013-03-23 21:48:34 -04:00
John MacFarlane
2ec59935de reveal_js: nested vertical stacks used for hierarchical structure.
Variant of a patch from jamiefolson.
Results for more than one level of nesting may be odd.
Perhaps this needs revising.
2013-03-21 15:46:47 -07:00
John MacFarlane
5b424f881d Support incremental slide view for definition lists.
All slide formats supported.
Simplified some list code.
2013-03-21 15:21:53 -07:00
Jamie F. Olson
6b53a905c4 Added basic support for reveal.js.
Support unordered and ordered lists with "fragment" elements.

Modified by JGM to remove the --reveal_js-url command-line option.
Instead use -V reveal_js-url=... as with slidy and the other slide
formats.  Also cleaned up the list code in the HTML writer.
2013-03-21 14:54:17 -07:00
John MacFarlane
ff9af6c9e5 EPUB writer: Don't add dc:creator tags if present in epub metadata. 2013-03-20 13:10:03 -07:00
John MacFarlane
5b4d239b85 Added OPML template, tests.
Minor fixes to OPML writer.
Improved OPML reader tests.
2013-03-20 10:17:59 -07:00
John MacFarlane
69acb47a34 Added Text.Pandoc.Writers.OPML.
TODO:

* Document in README
* Add tests
* Add template (and add template to cabal file)
2013-03-19 22:49:44 -07:00
John MacFarlane
d596b0db83 Docx writer: Fixed rendering of display math in lists.
In 1.11 and 1.11.1, display math in lists rendered as a new list
item.  Now it always appears centered, just as outside of lists,
and in proper display math style, no matter how far indented the
containing list item is.

Closes #784.
2013-03-18 19:31:48 -07:00
John MacFarlane
835deee58b Markdown writer: New approach for citations.
* Reverts 1.11 change that caused citations to be rendered as
  markdown citations, even if `--biblio` was specified, unless
  `citation` extension is disabled.  Now, formatted citations
  are always printed if `--biblio` was specified.  If you want to
  reformat markdown keeping pandoc markdown citations intact,
  just don't specify `--biblio`.

* Reverted now unnecessary changes to Text.Pandoc.Biblio adding the raw
  block to mark the bibliography, and to Text.Pandoc.Writers.Markdown
  to remove the bibliography if `citations` not specified.

* If the content of a `Cite` inline is a `RawInline "latex"`, which
  means that a LaTeX citation command was parsed and `--biblio` wasn't
  specified, then render it as a pandoc markdown citation.  This means
  that `pandoc -f latex -t markdown`, without `--biblio`, will convert
  LaTeX citation commands to pandoc markdown citations.
2013-03-17 10:33:54 -07:00
John MacFarlane
99f9126d72 Markdown writer: Omit bibliography when citations enabled.
In 1.11, citations would be rendered as pandoc markdown citations,
but the bibliography would still be printed.

We avoid that by adding a `RawBlock "pandoc" "references"` before
the references.  This allows the markdown writer to find the references
and strip them off when `citations` is enabled.
2013-03-17 09:57:27 -07:00
John MacFarlane
cae52ecc31 Revert "LaTeX reader: citation handling changes."
This reverts commit f7229b1473.
2013-03-17 08:48:29 -07:00
John MacFarlane
f8fec87f09 Fixed numbering mismatch between TOC and sections in HTML.
Also made `--number-offset` affect TOC numbering as well
as section numbering, as it should have all along.

Closes #789.
2013-03-16 14:48:37 -07:00
John MacFarlane
a1c0210dcd Fixed regression in ODT writer.
This was due to a change in the Show instance for
Text.Pandoc.Pretty.Doc, which led 1.11 to produce corrupt ODTs.

Closes #780.
2013-03-15 15:20:52 -07:00
John MacFarlane
54782c2af6 Fixed spacing bugs involving code block attributes.
Closes #763.
2013-03-11 20:45:27 -07:00
John MacFarlane
f7229b1473 LaTeX reader: citation handling changes.
Previously, a LaTeX citation would always be parsed as a Citation
element, with the raw LaTeX in the [Inline] part.

Now, the LaTeX citation is parsed as a Citation element only if
`--biblio` was specified (i.e. only if there is a nonempty set
of references in readerReferences).  Otherwise it is parsed as
raw LaTeX.

This will make it possible to simplify some things in the markdown
writer.  It also makes the LaTeX reader behave more like the Markdown
reader.
2013-03-09 10:33:25 -08:00
John MacFarlane
af7e97b9f5 Markdown writer: Render citations as pandoc-markdown citations.
Previously citations were rendered as citeproc-formatted citations
by default.  Now we render them as pandoc citations, e.g. `[@item1]`,
unless the `citations` extension is disabled.

If you still want formatted citations in your markdown output,
use `pandoc -t markdown-citations`.
2013-03-07 16:38:19 -08:00
John MacFarlane
48be39ae2a Support :number-lines: in RST code output. 2013-03-06 10:13:12 -08:00
John MacFarlane
3b63cb0903 Hide Text.Pandoc.Highlighting.
* Moved code for translating listings language names to
  highlighting-kate names and back from LaTeX reader to Highlighting.
* Text.Pandoc.Highlighting no longer exposed (API change)
* Text.Pandoc.Highlighting exports toListingsLang, fromListingsLang
2013-03-05 22:09:42 -08:00
John MacFarlane
0bbee1bcf6 LaTeX writer: Support line numbering with --listings.
If "numberLines" class is present, we add "numbers=left";
if "startFrom" is present, we add "firstnumber=".

Partially addresses #763.
2013-03-04 09:31:31 -08:00
John MacFarlane
76c5ebf141 EPUB writer: Include html TOC even in epub2.
* The TOC is included in `<spine>`, but `linear` is set
  to `no` unless the `--toc` option is specified.
* Include `<guide>` element in OPF.
* This should allow the TOC to be useable in Kindles when
  converted with kindlegen.
* Results validate with epubcheck 3.0 for both epub and epub3
  output.
* Closes #773.
2013-03-03 08:42:45 -08:00
John MacFarlane
6611ec399c Textile writer: Removed an unused assignment. 2013-03-01 12:17:49 -08:00
John MacFarlane
abdaa96b03 Markdown writer: Use grid tables when needed, and if enabled.
Closes #740.
2013-02-28 20:22:28 -08:00
John MacFarlane
0c9bb40403 Textile writer: Support header attributes. 2013-02-28 18:47:49 -08:00
John MacFarlane
6cfd2e8fa9 Docx writer: Better treatment of display math.
Display math inside a paragraph is now put in a separate
paragraph, so it will render properly (centered and without
extra blank lines around it).

Partially addresses #742.
2013-02-26 22:59:21 -08:00
John MacFarlane
3fca434737 Changed style names in reference docx.
FootnoteReference -> FootnoteRef.
Hyperlink -> Link.

Why?  Because the old names got changed by Word when the
reference.docx was edited.  I don't understand why, but this
fixes things.

Closes #414.
2013-02-26 22:01:47 -08:00
John MacFarlane
caed0df4a7 Docx writer: Create content types and document rels from scratch.
This fixes problems that arise when you edit the reference.docx
with Word.  Word tends to remove things from the `[Content_Types].xml`
and `word/_rels/document.xml.rels` files that are needed (e.g.
references to the `footnotes.xml` file and image default mime types).
So we regenerate these completely rather than taking them from
the `reference.docx`.

We also now encode mime types for each individual image rather
than using defaults.  This should allow us to handle a wider
range of image types.

This mostly addresses #414.  The only remaining issue I can see
is the issue of style IDs, which Word inexplicably changes in
some cases when the reference.docx is saved.  E.g.
`FootnoteReference` becomes `FootnoteReference1`.
2013-02-26 20:31:32 -08:00
John MacFarlane
c46eac5aea Refactoring in Docx writer. 2013-02-25 19:04:20 -08:00