Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Native lua booleans and strings are used to represent MetaBool and
MetaString values. This is more natural than the previous table-based
representation. The old lua representation can still be read back to
haskell, ensuring compatibility with the `pandoc.MetaBool` and
`pandoc.MetaString` lua constructors.
|
|
Filtering functions take element components as arguments instead of the
whole block elements. This resembles the way elements are handled in
custom writers.
|
|
Pushing values to the lua stack via custom functions is faster and more
flexible.
|
|
All element creation tasks are handled by lua functions defined in the
pandoc module.
|
|
All element creation tasks are handled in the lua module.
|
|
|
|
Instead of taking the whole inline element, forcing users to destructure it
themselves, the components of the elements are passed to the filtering
functions.
|
|
|
|
Previously pandoc emitted incorrect markup for bold + italic, for example,
or bold + code.
Closes #3568.
|
|
Inline elements are no longer pushed and pulled via aeson's Value.
|
|
The docx writer takes components from the distribution's
version of reference.docx when it can't find them in a
user's custom reference.docx. (This sometimes happens
because Word will sometimes omit components needed for larger
documents when saving a simple one.)
Previously, we allowed a reference.docx in the data directory
(e.g. `~/.pandoc`) to be used as the distribution's reference.docx.
This led to a bizarre situation where pandoc would produce a
good docx using `--template ~/.pandoc/ref.docx`, but if `ref.docx`
were moved to `~/.pandoc/reference.docx`, it would then produce
a corrupted docx.
Closes #3322 (I think).
|
|
Pandoc elements are pushed and pulled from the lua stack via custom
instances.
|
|
Reading of simple block values from the lua stack is handled manually,
but most block constructors are still handled via instances of aeson's
Value type.
|
|
Getting inline instances from the lua stack is handled manually for some
simple inline constructors, including the `Str` constructor. This avoids
the indirect route through aeson's Value type and improves performance
considerably (approx. 30% speedup for some filters).
|
|
This is slightly cleaner while keeping performance approximately the
same.
|
|
Previously some indents weren't wide enough, leading
the list item to start on a line after the marker.
|
|
Previously these weren't allowed because they were interpreted
as starting ConTeXt environments, even without a corresponding
\stop...
Closes #3558.
|
|
|
|
- added some variables to the default template.
- cleaner output for images (stringify alt text).
|
|
Otherwise we may get unescaped @s that give eqn fits,
with @ as the delimiter character.
|
|
|
|
HTML links containing classes originally now preserve them when using
javascript email obfuscation.
Fixes #2989
|
|
The HTML writer now also adds the class footnoteBack to back references
of footnotes. This allows for easier CSS styling.
|
|
Updated the LaTeX writer to also include \VerbatimFootnotes in the
preamble for highlighted code blocks. Previously this was only done for
raw code blocks.
|
|
|
|
Lua module: add readers submodule
|
|
embedDir in file-embed excludes hidden files, so we need
to add this manually.
|
|
This reverts commit 1fa15c225b515e1fa1c6566f90f1be363a4d770f.
|
|
These are caught (and lead to exit) in pandoc.hs, but
other uses of Text.Pandoc.App may want to recover in another
way.
Added PandocAppError to PandocError (API change).
This is a stopgap: later we should have a separate constructor
for each type of error.
Also fixed uses of 'exit' in Shared.readDataFile, and
removed 'err' from Shared (API change).
Finally, removed the dependency on extensible-exceptions.
See #3548.
|
|
Plain text readers are exposed to lua scripts via the `pandoc.reader`
submodule, which is further subdivided by format. Converting e.g. a
markdown string into a pandoc document is possible from within lua:
doc = pandoc.reader.markdown.read_doc("Hello, World!")
A `read_block` convenience function is provided for all formats,
although it will still parse the whole string but return only the first
block as the result.
Custom reader options are not supported yet, default options are used
for all parsing operations.
|
|
Also include a sample, `default.theme`, in `data/`.
|
|
Closes #3547.
Macro definitions are inserted in the template when there is highlighted
code.
Limitations: background colors and underline currently not
supported.
|
|
This avoids overly narrow labels for ordered lists with
() delimiters.
However, arguably it creates overly wide labels for bullets.
Also, lists now start flush with the margin, rather than
indented.
Fixes #2421.
|
|
New URL: https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js
Announcement: https://www.mathjax.org/cdn-shutting-down/
NOTE: The new URL requires a version number, which we'll have
to update manually in subsequent pandoc releases in order to
take advantage of mathjax improvements.
Closes #3544.
|
|
|
|
Modified template to include a `<back>` and `<body>` section.
This should give authors more flexibility, e.g. to put
acknowledgements metadata in `<back>`. References are
automatically extracted and put into `<back>`.
|
|
|
|
See #3334.
* Add writerSyntaxMap to WriterOptions.
* Highlighting: added parameter for SyntaxMap to highlight.
* Implemented --syntax-definition option.
TODO:
[ ] Figure out whether we want to have the xml parsing
depend on the dtd (it currently does, and fails unless
the language.dtd is found in the same directory).
[ ] Add an option to read a KDE syntax highlighting theme
as a custom style.
[ ] Add tests.
|
|
|
|
Warnings for omitted raw content.
|
|
|
|
|
|
This way people can do
pandoc -s -t jats --filter pandoc-citeproc
and it will just work. If they want to specify a stylesheet,
they still can.
|
|
|
|
|
|
|
|
|
|
* New module Text.Pandoc.Writer.JATS exporting writeJATS.
* New output format `jats`.
* Added tests.
* Revised manual.
|
|
* Fix lstinline handling: lstinline with braces can be used (verb cannot be used with braces)
* Use codeWith and determine the language from lstinline
* Improve code
* Add another test: convert lstinline without language option
|