aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-01-07data/pandoc.lua: make all types subtypes of AstElementAlbert Krewinkel1-25/+28
*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`).
2018-01-06data/pandoc.lua: split type and behavior tablesAlbert Krewinkel1-51/+83
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'
2018-01-06data/pandoc.lua: rename Element to AstElementAlbert Krewinkel1-9/+9
This avoids confusion with the Element type from Text.Pandoc.Shared. Change: minor
2018-01-06data/pandoc.lua: remove dead codeAlbert Krewinkel1-6/+2
A `Element:new` method was a left-over was never called. Change: minor
2018-01-06data/pandoc.lua: fix Element inheritanceAlbert Krewinkel1-2/+3
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.
2018-01-06Don't use `missingIncludes` unless custom syntax defs have been given.John MacFarlane1-1/+2
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.
2018-01-05Update copyright notices to include 2018Albert Krewinkel101-212/+213
2018-01-05data/pandoc.lua: fix attribute names of CitationAlbert Krewinkel2-19/+21
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
2018-01-04Use hslua utils where possibleAlbert Krewinkel4-33/+16
Some helper functions and types have been moved to hslua. Change: minor
2018-01-04Bump hslua version to 0.9.5Albert Krewinkel3-2/+3
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).
2018-01-04Powerpoint writer: remove some code duplication.Jesse Rosenthal1-10/+3
2018-01-03Powerpoint writer: Ignore Notes divJesse Rosenthal1-0/+1
For now, ignore notes div for parity with other slide outputs.
2018-01-03Powerpoint writer: Set default slidelevel correctly.Jesse Rosenthal2-2/+3
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.
2018-01-03Powerpoint writer: Split blocks correctly for linked imagesJesse Rosenthal1-10/+15
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.
2018-01-03Powerpoint writer: combine adjacent runs.Jesse Rosenthal1-2/+19
This will make the xml easier to read for debugging purposes. It should also make links behave more consistently across numerous words.
2018-01-03Powerpoint writer: Fix new replaceNamedChildrenJesse Rosenthal1-11/+9
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.
2018-01-03PowerPoint writer: make inline code inherit code size.Jesse Rosenthal1-6/+6
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.
2018-01-03Powerpoint writer: simplify replaceNamedChildren functionJesse Rosenthal1-9/+17
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.
2018-01-03Powerpoint writer: code cleanupJesse Rosenthal1-103/+0
Remove commented-out functions and imports.
2018-01-03Powerpoint writer: Allow linked images.Jesse Rosenthal1-11/+32
The following markdown: [![Image Title](image.jpg)](http://www.example.com) will now produce a linked image in the resulting PowerPoint file.
2018-01-03Use latest pandoc-citeproc.John MacFarlane2-2/+2
2018-01-03PowerPoint writer: Fix error with empty table cell.Jesse Rosenthal1-6/+10
We require an empty "<a:p>" tag, even if the cell contains no paragraphs -- otherwise PowerPoint complains of corruption.
2018-01-03Powerpoint writer: Fix compiler error (again)Jesse Rosenthal1-3/+3
The record syntax in a pattern match seems to be confusing the 8.X compilers. Stop using it.
2018-01-03Powerpoint writer: Appease compilerJesse Rosenthal1-8/+11
2018-01-03Powerpoint writer: Implement two-column slides.Jesse Rosenthal1-12/+95
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.
2018-01-02Use latest pandoc-citeproc.John MacFarlane2-2/+2
2018-01-02Use latest pandoc-citeproc.John MacFarlane2-2/+2
2018-01-02Merge pull request #4219 from stalmon/masterJohn MacFarlane1-4/+2
fixes for docx writer
2018-01-02MANUAL.txt: add information about paragraph insertion/deletionJesse Rosenthal1-2/+5
2018-01-02Revert "MANUAL.txt: add information about paragraph insertion/deletion."Jesse Rosenthal1-163/+160
This reverts commit 09e132726d379e3f4e34de5700ae34cad3002f4b.
2018-01-02Docx reader: remove MultiWayIfJesse Rosenthal1-38/+39
Different formatting rules across 7.X and 8.X. Use empty case expression instead.
2018-01-02MANUAL.txt: add information about paragraph insertion/deletion.Jesse Rosenthal1-160/+163
2018-01-02Docx reader: Add tests for paragraph insertion/deletion.Jesse Rosenthal5-0/+19
2018-01-02Docx reader: Allow for insertion/deletion of paragraphs.Jesse Rosenthal1-4/+44
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.
2018-01-02Docx reader: Parse track changes info into paragraph props.Jesse Rosenthal1-15/+27
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.
2018-01-02Docx reader: Extract tracked changes type from parpart.Jesse Rosenthal2-6/+19
We're going to want to use it elsewhere as well, in upcoming tracking of paragraph insertion/deletion.
2018-01-02firstRow table definition compatibility for Word 2016Sebastian Talmon1-1/+1
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
2018-01-01Docx writer: Fix custom styles with spaces in the name.John MacFarlane1-1/+1
Custom styles with spaces worked for divs but not for spans. This commit fixes the problem. Closes #3290.
2018-01-01Revert "Travis: try running tests single-threaded."John MacFarlane1-2/+2
This reverts commit 84a4d3685cda5df3e69599afbbde8a8ec556a800.
2018-01-01Travis: try running tests single-threaded.John MacFarlane1-2/+2
This should ensure continuous output, so we don't have 10m blank spots which cause travis to kill.
2018-01-01Markdown reader: rewrite inlinesInBalancedBrackets.John MacFarlane1-19/+13
The rewrite is much more direct, avoiding parseFromString. And it performs significantly better; unfortunately, parsing time still increases exponentially. See #1735.
2018-01-02Removed redundant subtitle in titlestalmon1-3/+1
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
2018-01-01Lua.Module.Utils: make stringify work on MetaValues.John MacFarlane1-1/+4
I'm sure this was intended in the first place, but currently only Meta is supported.
2017-12-31Docx reader: minor cleanup.Jesse Rosenthal1-1/+2
2017-12-31Docx reader: tests for overlapping targets (anchor spans).Jesse Rosenthal3-0/+7
2017-12-31Docx Reader: Combine adjacent anchors.Jesse Rosenthal2-22/+49
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.
2017-12-30Markdown reader: Avoid parsing raw tex unless \ + letter seen.John MacFarlane1-1/+2
This seems to help with the performance problem, #4216.
2017-12-30LaTeX reader: Simplified a check for raw tex command.John MacFarlane1-2/+2
2017-12-30Docx reader: tests for removing unused anchors.Jesse Rosenthal3-0/+7
2017-12-30Docx reader: Remove unused anchors.Jesse Rosenthal1-5/+27
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.