Age | Commit message (Collapse) | Author | Files | Lines |
|
*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.
|
|
This avoids a huge performance sink that comes from evaluating
all the elements of the default syntax map.
Better just to have run-time errors for missing includes?
See #4226.
|
|
|
|
The fields were named like the Haskell fields, not like the documented,
shorter version. The names are changed to match the documentation and
Citations are given a shared metatable to enable simple extensibility.
Fixes: #4222
|
|
Some helper functions and types have been moved to hslua.
Change: minor
|
|
This version fixes a bug that made it difficult to handle failures while
getting lists or a Map from Lua. A bug in pandoc, which made it
necessary to always pass a tag when using MetaList or MetaBlock, is
fixed as a result. Using the pandoc module's constructor functions for
these values is now optional (if still recommended).
|
|
|
|
For now, ignore notes div for parity with other slide outputs.
|
|
We had previously defaulted to slideLevel 2. Now we use the correct
behavior of defaulting to the highest level header followed by
content. We change an expected test result to match this behavior.
|
|
We treat links with an image as the first inline as an image with a
link picProp -- so we have to split on it the same as if it were an
image.
|
|
This will make the xml easier to read for debugging purposes. It
should also make links behave more consistently across numerous words.
|
|
Previous version replaced *each* element from the template with the
new elements -- leading to multiple overlapping frames. This only
replaces the first instance, and throws out the rest.
|
|
Previously (a) the code size wasn't set when we force size, and (b)
the properties was set from the default, instead of inheriting. Both
of those problems were fixed.
|
|
A lot of work in the powerpoint writer is replacing XML from within
slidelayouts from templates. This function does a good deal of that
work, and this makes it preserve element order, as well as making it a
bit easier to understand.
|
|
Remove commented-out functions and imports.
|
|
The following markdown:
[![Image Title](image.jpg)](http://www.example.com)
will now produce a linked image in the resulting PowerPoint file.
|
|
|
|
We require an empty "<a:p>" tag, even if the cell contains no
paragraphs -- otherwise PowerPoint complains of corruption.
|
|
The record syntax in a pattern match seems to be confusing the 8.X
compilers. Stop using it.
|
|
|
|
This uses the columns/column div format described in the pandoc
manual. At the moment, only two columns (half the screen each) are
allowed. Custom widths are not supported.
|
|
|
|
|
|
fixes for docx writer
|
|
|
|
This reverts commit 09e132726d379e3f4e34de5700ae34cad3002f4b.
|
|
Different formatting rules across 7.X and 8.X. Use empty case
expression instead.
|
|
|
|
|
|
If the paragraph has a deleted or inserted paragraph break (depending
on the track-changes setting) we hold onto it until the next
paragraph. This takes care of accept and reject. For this we introduce
a new state which holds the ils from the previous para if necessary.
For `--track-changes=all`, we add an empty span with class
`paragraph-insertion`/`paragraph-deletion` at the end of the paragraph
prior to the break to be inserted or deleted.
Closes #3927.
|
|
This will tell us whether a paragraph break was inserted or
deleted. We add a generalized track-changes parsing function, and use
it in `elemToParPart` as well.
|
|
We're going to want to use it elsewhere as well, in upcoming tracking
of paragraph insertion/deletion.
|
|
Word 2016 seems to use a default value of "1" for table headers, if there is no firstRow definition (although a default value of 0 is documented), so all tables get the first Row formatted as header.
Setting the parameter to 0 if the table has no header row fixes this for Word 2016
|
|
Custom styles with spaces worked for divs but not for spans.
This commit fixes the problem. Closes #3290.
|
|
This reverts commit 84a4d3685cda5df3e69599afbbde8a8ec556a800.
|
|
This should ensure continuous output, so we don't have 10m blank
spots which cause travis to kill.
|
|
The rewrite is much more direct, avoiding parseFromString.
And it performs significantly better; unfortunately, parsing
time still increases exponentially.
See #1735.
|
|
subtitle is allready used to create a subtitle for the document
appending the subtitle to the main title leads to double subtitle in the document
|
|
I'm sure this was intended in the first place, but currently
only Meta is supported.
|
|
|
|
|
|
There isn't any reason to have numberous anchors in the same place,
since we can't maintain docx's non-nesting overlapping. So we reduce
to a single anchor, and have all links pointing to one of the
overlapping anchors point to that one. This changes the behavior from
commit e90c714c7 slightly (use the first anchor instead of the last)
so we change the expected test result.
Note that because this produces a state that has to be set after every
invocation of `parPartToInlines`, we make the main function into a
primed subfunction `parPartToInlines'`, and make `parPartToInlines` a
wrapper around that.
|
|
This seems to help with the performance problem, #4216.
|
|
|
|
|
|
Docx produces a lot of anchors with nothing pointing to them -- we now
remove these to produce cleaner output. Note that this has to occur at
the end of the process because it has to follow link/anchor rewriting.
Closes #3679.
|