Age | Commit message (Collapse) | Author | Files | Lines |
|
Previously we went into an infinite loop with
```
\newcommand{\noop}[1]{#1}
\noop{\newcommand{\foo}[1]{#1}}
\foo{hi}
```
See #4253.
|
|
Our presentation size is now dependent on the reference/template file
we use. This will make it easier to set different output sizes by
supplying different reference files. The alternative (allowing a user
to explicitly set output size regardless of the template) will lead to
too many thorny issues, as explicitly set sizes at the various level
of powerpoint layout would have to be reset.
|
|
Every constructor which accepts a list of inlines now also accepts a
single inline element for convenience.
|
|
Having a _VERSION became superfluous, as this module is closely tied to
the pandoc version, which is available via PANDOC_VERSION.
|
|
Last commit accidentally left commented-out code in.
|
|
Above the slidelevel, subheaders will be printed in bold and given a
bit of extra space before them. Note that at the moment, no
distinction is made between levels of headers above the slide header,
though that can be changed. (It has to be changed in pandoc, since
PowerPoint has no concept of paragraph or character classes.)
This allows us to clean up the code as well: the code in
`blockToParagraphs` since it will only touch content blocks, and
therefore will not deal with headers at or below the slidelevel.
|
|
Since we now import from reference/dist file by glob, we need to make
sure that we're getting the files we need to make a non-corrupt
Powerpoint. This performs that check.
(In the process, this change also cleaned up a lot of commented-out
code left from the switch to the new reference-doc method.)
|
|
Templating should work much more reliably now. There is still some
problem with image placement when we change sizes. A further commit
will address this.
|
|
Runs a JSON filter on a Pandoc document.
|
|
|
|
Provide more context about the task which caused an error.
|
|
|
|
The options which were used to read the document are made available to
Lua filters via the `PANDOC_READER_OPTIONS` global.
|
|
Accompanying change in MANUAL.txt
|
|
This will allow the Powerpoint writer to use it as well.
|
|
It used to be hardcoded to 2. This will set it to the appropriate
slide-level.
|
|
This is triggered by the `--toc` flag. Note that in a long slide deck
this risks overrunning the text box. The user can address this by
setting `--toc-depth=1`.
|
|
Previously, this hadn't been aware of a metadata slide. We also
clarify the logic for setting the startnumber of different slide
sections correctly.
|
|
If the user entered an internal link without a corresponding anchor,
it would produce a corrupted file. Now we check the anchor map, and
make sure the target is in the file. If it isn't, we ignore it.
|
|
We want to count the slide numbers correctly if it's in there.
|
|
For anchor-type links (`[foo](#bar)`) we produce an anchor link. In
powerpoint these are links to slides, so we keep track of a map
relating anchors to the slides they occur on.
|
|
For anchors, block-processing functions need to know what slide number
they're in. We make the envCurSlideId available to blocks.
|
|
It really isn't a moving state, and that can be misleading.
|
|
Closes #4072.
|
|
This fixes a bug whereby column widths for the body were
different from widths for the header in some tables.
Closes #4238.
|
|
Instead of creating a div containing the header, we put
the id directly on the header. This way header promotion
will work properly. Closes #4240.
|
|
|
|
Closes #4235.
|
|
|
|
Accessing an Attr value (e.g., ` Attr().classes`) was broken; the more
common case of accessing it via an Inline or Block element was
unaffected by this.
|
|
Change: minor
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If you use a custom syntax definition that refers to a syntax
you haven't loaded, pandoc will now complain when it is highlighting
the text, rather than at the start.
This saves a huge performance hit from the `missingIncludes` check.
Closes #4226.
|
|
Change: minor
|
|
Attr is an AST element, which is now reflected in the type hierarchy.
|
|
This attribute was out-of-sync with the actual version as is mostly
irrelevant in the context Lua filters and custom writers. Use the
global `PANDOC_API_VERSION` instead.
|
|
The current pandoc-types version is made available to Lua programs in
the global PANDOC_API_VERSION. It contains the version as a list of
numbers.
|
|
The current pandoc version is made available to Lua programs in the
global PANDOC_VERSION. It contains the version as a list of numbers.
|
|
*Pandoc*, *Meta*, and *Citation* were just plain functions and did not
set a metatable on the returned value, which made it difficult to amend
objects of these types with new behavior. They are now subtypes of
AstElement, meaning that all their objects can gain new features when a
method is added to the behavior object (e.g., `pandoc.Pandoc.behavior`).
|
|
Clearly distinguish between a type and the behavioral properties of an instance
of that type. The behavior of a type (and all its subtypes) can now be amended
by adding methods to that types `behavior` object, without exposing the type
objects internals.
E.g.:
pandoc.Inline.behavior.frob = function () print'42' end
local str = pandoc.Str'hello'
str.frob() -- outputs '42'
|
|
This avoids confusion with the Element type from Text.Pandoc.Shared.
Change: minor
|
|
A `Element:new` method was a left-over was never called.
Change: minor
|
|
Extending all elements of a given type (e.g., all inline elements) was
difficult, as the table used to lookup unknown methods would be reset
every time a new element of that type was created, preventing recursive
property lookup. This is was changed in that all methods and attributes
of supertypes are now available to their subtypes.
|