Instead of latex.template, we now have default.latex.
An appropriate extension is added automatically if the value of
`--template` has no extension. So, `pandoc --template=special -t latex`
looks for `special.latex`, while `pandoc --template=special -t man`
looks for `special.man`.
* Markdown syntax description from README now goes in pandoc_markdown.5.
* Refactored man page construction functions, putting more of
the work in MakeManPages.hs.
Additional related changes:
* URLs in Code in autolinks now use class "url".
* Require highlighting-kate 0.2.8.2, which omits the final <br/> tag,
essential for inline code.
The old TeX, HtmlInline and RawHtml elements have been removed
and replaced by generic RawInline and RawBlock elements.
All modules updated to use the new raw elements.
readNative can now read full pandoc documents, block lists, blocks,
inline lists, or inlines. It will interpret
Str "hi"
as if it were
Pandoc (Meta [] [] []) [Plain [Str "hi"]]
This should make testing easier.
The man pages are produced by a post-build hook, using
MakeManPage.hs. However, there seem to be problems running
this program on some systems; see
https://github.com/jgm/pandoc/issues/#issue/15.
This change means that the generated man pages will be included in
the tarball produced by 'cabal sdist', and hence in releases.
They will still be updated by the build process if the sources
change, but in most builds, the man page won't need to be regenerated.
+ You can now specify glob patterns after 'cabal test';
e.g. 'cabal test latex' will only run the latex tests.
+ Instead of detecting highlighting support in Setup.hs,
we now detect it in test-pandoc, by looking to see if
'languages' is null.
+ We now verify the lhs readers against the lhs-test.native,
normalizing with 'normalize'. This makes more sense than
verifying against HTML, which also brings in the HTML writer.
+ Added lhsn-test.nohl.{html,html+lhs}, so we can do the lhs
tests whether or not highlighting has been installed.
* The new reader is faster and more accurate.
* API changes for Text.Pandoc.Readers.HTML:
- removed rawHtmlBlock, anyHtmlBlockTag, anyHtmlInlineTag,
anyHtmlTag, anyHtmlEndTag, htmlEndTag, extractTagType,
htmlBlockElement, htmlComment
- added htmlTag, htmlInBalanced, isInlineTag, isBlockTag, isTextTag
* tagsoup is a new dependency.
* Text.Pandoc.Parsing: Generalized type on readWith.
* Benchmark.hs: Added length calculation to force full evaluation.
* Updated HTML reader tests.
* Updated markdown and textile readers to use the functions from
the HTML reader.
* Note: The markdown reader now correctly handles some cases it did not
before. For example:
<hr/>
is reproduced without adding a space.
<script>
a = '<b>';
</script>
is parsed correctly.
* Added Text.Pandoc.Pretty.
This is better suited for pandoc than the 'pretty' package.
One advantage is that we now get proper wrapping; Emph [Inline]
is no longer treated as a big unwrappable unit. Previously
we only got breaks for spaces at the "outer level." We can also
more easily avoid doubled blank lines. Performance is
significantly better as well.
* Removed Text.Pandoc.Blocks.
Text.Pandoc.Pretty allows you to define blocks and concatenate
them.
* Modified markdown, RST, org readers to use Text.Pandoc.Pretty
instead of Text.PrettyPrint.HughesPJ.
* Text.Pandoc.Shared: Added writerColumns to WriterOptions.
* Markdown, RST, Org writers now break text at writerColumns.
* Added --columns command-line option, which sets stColumns
and writerColumns.
* Table parsing: If the size of the header > stColumns,
use the header size as 100% for purposes of calculating
relative widths of columns.
We now get Text.Pandoc.Definition from the new pandoc-types package.
This will make it possible for other programs to supply output
in Pandoc format, without depending on the whole pandoc package.
+ New writer module Text.Pandoc.Writers.EPUB
+ Stylesheet in epub.css
+ --epub-stylesheet command-line option.
+ New utility module Text.Pandoc.UUID to generate
random UUIDs for EPUBs.
+ Transformed the old Text.Pandoc.ODT module into a proper
writer module, Text.Pandoc.Writers.ODT.
+ Instead of saveOpenDocumentAsODT, we now have writeODT, which
takes a Pandoc document and produces a bytestring.
saveOpenDocumentAsODT has been removed.
+ To extract the images and insert them into the ODT, we now use
processPandocM on the Pandoc document rather than a custom XML parser.
+ Handle the case where the image is remote (or not found) by
converting the Image element into an Emph with the label.
+ Plumbing in pandoc.hs changed slightly to accomodate this, and to
allow other writers that live in the IO monad.
+ GHC lacks a threaded runtime on some architectures.
Provide a 'threaded' flag that can be disabled for compiling
on these architectures.
+ Removed '-threaded' from pandoc's ghc-options. '-threaded'
is only needed for markdown2pdf, due to its use of readProcess.
Reason: starting with Cabal 1.8, installing pandoc with '-library
+executable' did not work, since the build-depends in the Library
stanza were ignored. The problem could be solved by repeating the
build-depends in the Executable stanza, but this seems non-ideal
(and might lead to errors later on). The '-library' option isn't
so useful anyway, since to compile pandoc in the first place, you
need a large number of Haskell libraries installed, and in this
case, why balk at another? It was chiefly intended for packagers,
but packagers will need to use a chroot environment anyway, and
they can then simply copy the executable and not the library.
Thanks to Jim Pryor for calling the problem to my attention
in connection with an arch linux package.
It's safe to depend on extensible-exceptions, since this is
shipped with GHC 6.10 and 6.12.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1911 788f1e2b-df1e-0410-8736-df70ead52e1b
* Added data/MathMLinHTML.js, which is included when no URL is provided
for --mathml. This allows MathML to be displayed in better browsers,
as text/html.
* The module was no longer necessary; its functionality (two lines)
was incorporated into pandoc.hs.
* Consolidated the two LaTeXMathML.js files into one.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1909 788f1e2b-df1e-0410-8736-df70ead52e1b
Text.Pandoc.Writers.Markdown now exports a writePlain,
which writes plain text without links, pictures, or
special formatting (not even markdown conventions).
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1907 788f1e2b-df1e-0410-8736-df70ead52e1b
html2markdown is no longer needed, since you can pass URI arguments
to pandoc and directly convert web pages. (Note, however, that pandoc
assumes the pages are UTF8. html2markdown made an attempt to guess the
encoding and convert them.)
hsmarkdown is pointless -- a large executable that could be replaced
by 'pandoc --strict'.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1834 788f1e2b-df1e-0410-8736-df70ead52e1b
+ Adds dependency on HTTP.
+ If a parameter is an absolute URI, pandoc will try to
get the content via HTTP.
+ So, you can do: pandoc -r html -w markdown http://www.fsf.org
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1826 788f1e2b-df1e-0410-8736-df70ead52e1b
This allows the user to customized the styles used in pandoc-generated
ODTs. The user may also put a default reference.odt in the ~/.pandoc
directory.
We have removed the old data/odt directory and replaced it with a
reference.odt.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1760 788f1e2b-df1e-0410-8736-df70ead52e1b
s5 css and js is included using header-includes variable.
We don't need a separate s5 template, so it has been
removed.
Use linebreak to separate authors in S5 title page.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1705 788f1e2b-df1e-0410-8736-df70ead52e1b
So if the user has an odt-styles directory in ~/.pandoc, it
will be used instead of the default.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1694 788f1e2b-df1e-0410-8736-df70ead52e1b
S5 module now exports s5HeaderIncludes, which pandoc.hs
includes if writer is s5 and standalone.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1691 788f1e2b-df1e-0410-8736-df70ead52e1b
Previously a copy of Diff.hs was included. But it is better
to use the compiled, installed version, since speed can be
a problem in some cases.
This change means that 'cabal test' presupposes that the Diff
library is installed.
Removed tests/Diff.hs from cabal file.
Changed RunTests to use local environment.
We need at least HOME, so pandoc can find its data directory.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1672 788f1e2b-df1e-0410-8736-df70ead52e1b
Plugins will probably be added in a later version,
but for now we want to avoid the heavy GHC API dependency.
Also, plugins are very slow with the current system.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1548 788f1e2b-df1e-0410-8736-df70ead52e1b
+ In Text.Pandoc.Definition, added processIn, processInM,
and queryIn, and deprecated processPandoc and queryPandoc
for these more general functions, which are useful in writing
plugins.
+ Added module Text.Pandoc.Plugins.
+ Added a --plugins option to Main, and code to run the parsed pandoc
document through all the plugins.
+ Provided five sample plugin files in the plugins/ directory.
+ Documented --plugin in the pandoc man page and README.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1519 788f1e2b-df1e-0410-8736-df70ead52e1b