Age | Commit message (Collapse) | Author | Files | Lines |
|
The marshaling functions for pandoc's AST are extracted into a separate
package. The package comes with a number of changes:
- Pandoc's List module was rewritten in C, thereby improving error
messages.
- Lists of `Block` and `Inline` elements are marshaled using the new
list types `Blocks` and `Inlines`, respectively. These types
currently behave identical to the generic List type, but give better
error messages. This also opens up the possibility of adding
element-specific methods to these lists in the future.
- Elements of type `MetaValue` are no longer pushed as values which
have `.t` and `.tag` properties. This was already true for
`MetaString` and `MetaBool` values, which are still marshaled as Lua
strings and booleans, respectively. Affected values:
+ `MetaBlocks` values are marshaled as a `Blocks` list;
+ `MetaInlines` values are marshaled as a `Inlines` list;
+ `MetaList` values are marshaled as a generic pandoc `List`s.
+ `MetaMap` values are marshaled as plain tables and no longer
given any metatable.
- The test suite for marshaled objects and their constructors has
been extended and improved.
- A bug in Citation objects, where setting a citation's suffix
modified it's prefix, has been fixed.
|
|
|
|
The standard requires the value to be either `yes` or `no`, but is was
set to `true` for authors who contributed equally.
|
|
|
|
This allows to modify it using Pandoc variable. Default value is correctly set to false by Pandoc.
|
|
This is better as an example. And it is faster than pandoc's
regular creole parser, which shows that high-performance readers
can be developed this way.
|
|
|
|
|
|
New module Text.Pandoc.Readers.Custom, exporting
readCustom [API change].
Users can now do `-f myreader.lua` and pandoc will treat the
script myreader.lua as a custom reader, which parses an input
string to a pandoc AST, using the pandoc module defined for
Lua filters.
A sample custom reader can be found in data/reader.lua.
Closes #7669.
|
|
- Specify local scope for highlight_styles; prevents global namespace pollution when sourcing completion from a file rather than adding `eval "$(pandoc --bash-completion)"` to .bashrc
- Add argument completion for --print-highlight-style, --eol, and --markdown-headings
|
|
Previously the module always had to be loaded via
`require 'pandoc.path'`.
Closes: #7524
|
|
Fixes a regression introduced in 2.16 which had MetaList elements loose
the `pandoc.List` properties.
Fixes #7650
|
|
This will make it easier to generate module documentation in the future.
|
|
|
|
|
|
|
|
Properties of Block values are marshalled lazily, which generally
improves performance considerably. Script users may also notice the
following differences:
- Block element properties can no longer be accessed by numerical
indexing of the `.c` field. The `.c` property now serves as an alias
for `.content`, so some filter that used this undocumented method
for property access may continue to work, while others will need to
be updated and use proper property names.
- The marshalled Block elements now have a `show` method, and a
`__tostring` metamethod. Both return the Haskell string
representation of the element.
- Block values now have the Lua type `userdata` instead of `table`.
|
|
|
|
This includes the following user-facing changes:
- Deprecated inline constructors are removed. These are `DoubleQuoted`,
`SingleQuoted`, `DisplayMath`, and `InlineMath`.
- Attr values are no longer normalized when assigned to an Inline
element property.
- It's no longer possible to access parts of Inline elements via
numerical indexes. E.g., `pandoc.Span('test')[2]` used to give
`pandoc.Str 'test'`, but yields `nil` now. This was undocumented
behavior not intended to be used in user scripts. Use named properties
instead.
- Accessing `.c` to get a JSON-like tuple of all components no longer
works. This was undocumented behavior.
- Only known properties can be set on an element value. Trying to set a
different property will now raise an error.
|
|
- Adds a new `pandoc.AttributeList()` constructor, which creates the
associative attribute list that is used as the third component of
`Attr` values. Values of this type can often be passed to constructors
instead of `Attr` values.
- `AttributeList` values can no longer be indexed numerically.
|
|
|
|
We need "overflow: visible" for these to work, and reveal's
default css disables this. So this modifies the default
template to add this.
Closes #7634. Thanks to @cderv for diagnosing the issue.
|
|
This commit changes the `marL` and `indent` values used for plain
paragraphs and numbered lists, and changes the spacing defined in the
reference doc master for bulleted lists.
For paragraphs, there is now a left-indent taken from the `otherStyle`
in the master. For numbered lists, the number is positioned where the
text would be if this were a plain paragraph, and the text is indented
to the next level. This means that continuation paragraphs line up
nicely with numbered lists.
It also /mostly/ matches the observed PowerPoint behaviour when
inserting paragraphs and numbered lists: the only difference is that
PowerPoint was using a different margin value for the first level
numbered lists – I’ve changed this to match the other levels, as I don’t
think it makes the spacing unappealing and it allows continuation
paragraphs at any level to line up.
With bulleted lists, I’m keeping the observed PowerPoint behaviour of
specifying only a level, letting `marL` and `indent` be automatically
taken from `bodyStyle`. To that end, this commit changes the `bodyStyle`
spacing in the master of the default reference doc, to:
- line up the text of the first paragraph in each bullet with any
continuation paragraphs
- line up nested bullet markers in any continuation paragraphs with the
first paragraph, matching lists and plain paragraphs
This does mean the continuation paragraphs still won’t line up for
anyone using their own reference doc where they haven’t matched the
`otherStyle` and `bodyStyle` indent levels, but I think people in that
situation will be able to troubleshoot.
|
|
This fixes a regression in #7604, which modernized
babel usage but omitted to load babel for pdflatex,
with the result that even simple documents could no
longer be produced.
Closes #7627.
|
|
* Use `babel`'s bidi implementation
* Remove global `lang` option -- it broke eg hebrew
* Import babel languages individually instead of as package options --
was broken for greek, hebrew
* Move `header-includes` to after `babel` setup
Closes #7604
|
|
Previously polyglossia worked better with xelatex, but
that is no longer the case, so we simplify the code so that
babel is used with all latex engines.
This involves a change to the default LaTeX template.
|
|
These address most of the items mentioned in #7487.
There's also a table caption fix (the caption wasn't escaped).
|
|
According to the spec, this is mandatory.
|
|
ulem is conditionally included already when the `strikeout`
variable is set, so we set this when there is underlined text,
and use `\uline` instead of `\underline`.
This fixes wrapping for underlined text.
Closes #7351.
|
|
fixes #7423
|
|
This reverts commit cc088687b4013c2b8b744eb337ed04fc63f315f2
and PR #7295.
This fixes issues people had when using LaTeX commands defined later
in the preamble (or in some cases UTF-8 text) in the title or author
fields. Closes #7422.
|
|
Previously it was impossible to specify false values for
options that default to true; setting the option to false
just caused the portion of the template setting the option
to be omitted.
Now we prepopulate all the variables with their default
values, including them unconditionally and allowing them
to be overridden.
|
|
`history: true`. Closes #6968. Setting `hash: true` is enough
to get linkability to a particular page of the slide show.
|
|
Closes #5016
- change ordered list from itemize to enumerate
- adds new itemgroup for ordered lists
- add fontfeature for table figures
- remove width from itemize in context writer
|
|
Previously with the default template settings (`indent` variable
not set), we would get interparagraph spaces separating bib
entries even with `entry-spacing="0"`. On the other hand,
setting `entry-spacing="2"` gave ridiculously large spacing.
This change makes the spacing caused by `entry-spacing` a multiple
of `\parskip` by default, which gives aesthetically reasonable
output. Those who want a larger or smaller unit (e.g. because
they use `indent` which sets `\parskip` to 0) may
`\setlength{\cslentryspacingunit}{10pt}` in header-includes
to override the defaults.
Closes #7296.
|
|
This allows header-includes to use them, and puts them
in a position where you can see them immediately.
Closes #7295.
|
|
Closes: #6639
The zero-width non-joiner character is used to avoid ligatures (e.g. in
German).
|
|
- Set zoom to 100% by default.
- Align math options more with current Word defaults (e.g.
Cambria Math font).
|
|
Word will add these when revisions are made. But it's
pointless to start out with a set of them.
|
|
Add institute variable (string or list) to HTML-based slide formats.
|
|
This allows them to be overriden by header-includes.
Closes #7286.
|
|
This should make svgnames and x11names work properly.
Closes #6109.
|
|
* Support toc-title in revealjs
* Add semantic HTML "nav" tag
Closes #7170.
As with default.html5
|
|
Fix bad vertical spacing after the bibliography.
|
|
|
|
Illegal, turn into HTML comment
|
|
Previously the nocite metadata field was ignored with
these formats. Now it populates a `nocite-ids` template
variable and causes a `\nocite` command to be issued.
Closes #4585.
|
|
Authors who contributed equally to a paper may be marked with
`equal-contrib`.
|
|
|
|
Closes #7104.
|