Commit graph

233 commits

Author SHA1 Message Date
John MacFarlane
0df7cce37d Treat div with class "notes" as speaker notes in slide formats.
Currently beamer goes to `\note{}`, revealjs to `<aside class="notes">`,
and the notes are simply suppressed in other formats.

Closes #925.
2013-10-13 15:37:25 -07:00
John MacFarlane
2ae7f5e2a0 HTML writer: Insert command to typeset mathjax for slideous output.
Closes #966.
2013-10-13 11:31:33 -07:00
John MacFarlane
dbd4aee730 Removed code that forces MathJax to typeset.
Closes #1012.  Reopens #966.  A better solution for #966 will just
affect slideous, not the other slide writers.
2013-10-06 17:21:33 -07:00
John MacFarlane
ca6842349e HTML writer: Ensure proper escaping in header metadata. 2013-09-12 09:25:15 -07:00
John MacFarlane
81e2df32c9 Made . . . for pause work in all slide show formats except slideous. 2013-09-08 15:47:50 -07:00
John MacFarlane
8b0052ba5b Mathjax in HTML slide shows: include explicit "Typeset" instruction.
This seems to be needed for some formats (e.g. slideous) and won't
hurt in others.

Closes #966.
2013-09-01 15:05:51 -07:00
John MacFarlane
cbfa932106 Adjustments for new Format newtype. 2013-08-10 17:24:54 -07:00
John MacFarlane
e9de0f0e22 Preliminary support for new Div and Span elements in writers.
Currently these are "transparent" containers, except in HTML,
where they produce div and span elements with attributes.
2013-08-08 23:14:12 -07:00
Alexander Kondratskiy
6a235ba606 Checking options before applying syntax highlighting for HTML output 2013-07-13 02:23:27 -04:00
John MacFarlane
956425709d Created Text.Pandoc.Writers.Shared, improved metaToJSON.
* Text.Pandoc.Writers.Shared contains shared functions used
  only in writers.
* metaToJSON now takes a WriterOptions parameter, and will
  return an empty object if standalone is not specified.
2013-07-01 20:47:26 -07:00
John MacFarlane
a1f010de78 Metadata changes: Variables now completely shadow metadata.
Previously if you set a value both in metadata and with a variable,
they'd be combined into a list.  Now the variable replaces the
value in document metadata.  If many variables with the same
name are set, a list is created.

Shared:  metaToJSON now has an argument for a variable list.
2013-06-29 22:14:01 -07:00
John MacFarlane
899a65b7d1 Writers: Use defField for defaults.
This way explicitly specified fields not overridden.

Fixes a problem e.g. with specifying a documentclass via
the command line using -V.
2013-06-27 22:42:55 -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
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
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
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
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
8b8c8cfed9 HTML writer: fix case when writerNumberOffet is empty or short.
We add 0s to the end of the list if it's shorter than needed.
2013-02-23 18:51:33 -08:00
John MacFarlane
756c8d492a --number-from -> --number-offset
Also `writerNumberFrom` -> `writeNumberOffset`.
The offset is a list of numbers (0 by default).
These are added to the section, subsection, etc.
numbers that would have been generated automatically.
2013-02-23 18:11:05 -08:00
John MacFarlane
9b190ec3db Made HTML writer sensitive to writerNumberFrom. 2013-02-22 19:15:38 -08:00
John MacFarlane
90f0dd15b6 HTML writer: Support header attributes.
Note:  The attributes go on the enclosing section or div
if `--section-divs` is specified.

Also fixed a regression (only now noticed) in html+lhs output.
Previously the bird tracks were being omitted.
2013-02-14 19:35:58 -08:00
John MacFarlane
cdee226586 hierarchicalize: Do not number section with class "unnumbered".
Unnumbered sections get [] for their section number.
So far only the HTML writer has been adjusted to be sensitive
to this.

If we keep this change, all the writers will need to be changed
either (a) to directly check for the "unnumbered" class, if they
do section numbering themselves, or (b) to check for a null section
number, if they use hierarchicalize.
2013-02-13 08:49:48 -08:00
John MacFarlane
a50b83266c HTML writer: Refactored adding attributes to html element. 2013-02-12 21:29:17 -08:00
John MacFarlane
5330e63421 Shared: Changed type of Element.
Sec now includes a field for Attr rather than just String
(the identifier).

Note, this is an API change.
2013-02-12 20:13:23 -08:00
John MacFarlane
26d30d6d38 Use proportional font for email autolinks with obfuscation.
Closes #714.
2013-01-21 11:28:35 -08:00
John MacFarlane
4ed82686e4 Add data-cites field to citations in HTML5.
This contains a space-separated list of citation IDs.
2013-01-18 12:16:12 -08:00
John MacFarlane
eebed6bc48 Added writerHtmlQTags and --html-q-tags option.
The previous default was to use `<q>` tags in HTML5.
But `<q>` tags are also valid HTML4, and they are not very
robust in HTML5.  Some user agents don't support them,
and some CSS resets prevent pandoc's quotes CSS from working
properly (e.g. bootstrap).  It seems a better default just
to insert quote characters, but the option is provided  for
those who have gotten used to using `<q>` tags.
2013-01-15 18:50:36 -08:00
John MacFarlane
7bc37e4414 Use 'fig:' instead of '\SOH' in title to indicate figure.
Revises 1a4b47e933
2013-01-15 08:46:09 -08:00
John MacFarlane
1a4b47e933 Implemented Ext_implicit_figures.
* In markdown reader, add a '\1' character to the beginning
  of the title of an image that is alone in its paragraph,
  if implicit_figures extension is selected.
* In writers, check for Para [Image alt (src,'\1':tit)] and treat
  it as a figure if possible.
* Updated tests.

This is a bit of a hack, but it allows us to make implicit_figures
an extension of the markdown reader, rather than the writers.
2013-01-14 20:53:08 -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
8c48bd8feb Don't put the text of an autolink in Code font. 2013-01-06 20:51:51 -08:00
John MacFarlane
f9799c2a42 For epub3, use epub:type to mark footnotes and footnote refs.
This yields nice popup footnotes in iBooks.  See
http://www.pigsgourdsandwikis.com/2012/05/creating-pop-up-footnotes-in-epub-3-and.html
2013-01-05 17:18:43 -08:00
John MacFarlane
08efc7db60 Implemented toc-depth for html writer. 2013-01-05 12:07:09 -08:00
John MacFarlane
c435e9cda7 Implemented Ext_header_identifiers, Ext_implicit_header_references.
Now by default pandoc will act as if link references have been defined
for all headers.  So, you can do this:

    # My header

    Link to [My header].
    Another link to [it][My header].

Closes #691.
2013-01-03 20:35:01 -08:00
John MacFarlane
54fb384369 HTML writer: Include highlighting-css for code spans, too.
Previously it was only included if used in a code block.
Closes #653.
2012-11-05 10:45:49 -08:00
John MacFarlane
63bed5dc2e HTML writer: Use XHtml5 only if blaze version current enough. 2012-11-02 21:04:32 -07:00
John MacFarlane
5b7d27912a HTML writer: Use Text.Blaze.XHtml5 instead of Html5.
This is needed for epub.
2012-11-02 20:59:45 -07:00
John MacFarlane
3abc1021aa HTML writer: Use toHtml instead of pre-escaping.
We work around the problem that blaze-html unnecessarily escapes `'`
by pre-escaping just the `'` characters, instead of the whole string.

If blaze-html later stops escaping `'` characters, we can simplify
strToHtml to toHtml.

Note that this change yields a significant speed boost (111ms to 94ms
on one benchmark).

Closes #629.
2012-09-28 11:11:31 -04:00
John MacFarlane
bf77889e19 HTML writer: Don't print <dt> unless term is non-empty. 2012-09-12 17:44:13 -07:00
John MacFarlane
bad3c88cb6 HTML writer: Improve line breaks with <dd> tags.
We now put a newline between `</dd>` and `<dd>` when
there are multiple definitions.
2012-09-12 08:45:03 -07:00
John MacFarlane
dfa4b76630 Changes to literate haskell options.
- Removed writerLiterateHaskell from WriterOptions.
- Removed readerLiterateHaskell from ReaderOptions.
- Added Ext_literate_haskell to Extensions.  Test for this
  instead of the above.
- Removed failUnlessLHS from Shared.

Note:  At this point, +lhs and .lhs extension no longer has any effect.
Need to fix.
2012-08-08 23:18:19 -07:00
John MacFarlane
3f913c0cc5 Don't include empty captions in figures.
Closes #581.
2012-08-04 11:34:01 -07:00
John MacFarlane
b98219773b Replaced writerStrict with writerExtensions in WriterOptions.
Still have not implemented individual tests for all the extensions
in the markdown writer.
2012-07-27 09:18:51 -07:00
John MacFarlane
00dc1e715e Moved WriterOptions and associated types Shared -> Options. 2012-07-26 22:59:56 -07:00