aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-01-05Update AUTHORS.md.pandoc-cli-3.1.11.13.1.11.1John MacFarlane
2024-01-05Whitespace cleanup.John MacFarlane
2024-01-05Update man pages.John MacFarlane
2024-01-05Fix make binpath target.John MacFarlane
2024-01-05Bump pandoc-cli to 3.1.11.1.John MacFarlane
2024-01-05Update manual date.John MacFarlane
2024-01-05Bump to 3.1.11.1 and update changelog.John MacFarlane
2024-01-04OPML writer: respect `--wrap` options & `--columns` in contents of notes.John MacFarlane
Closes #9297.
2024-01-04PDF: expand list of environment variables to display in verbose output.John MacFarlane
Closes #9303.
2023-12-30Add command test for #9293.John MacFarlane
2023-12-30MediaWiki reader: handle multiline math in list items.John MacFarlane
Closes #9293.
2023-12-27ci(commit-validation): use git to walk commitsEdwin Török
The PR event doesn't include the actual commits, just a count and a URL to fetch it. But we can checkout the entire git history, we don't have so many commits that we need to optimize this just yet. And then we might as well use `git` itself to walk the commit history. (Using the remote commits URL would be useful only if we'd want to do a shallow clone because we have too many commits) Signed-off-by: Edwin Török <[email protected]>
2023-12-26Add some explicit imports...John MacFarlane
to avoid warnings with some GHC versions.
2023-12-26commit-validation CI - another attempt.John MacFarlane
2023-12-26fix(docx): support absolute header/footer pathsEdwin Török
Header and footer references may be absolute in the reference.docx. E.g. editing it with dotnet's Open-XML-SDK causes this error: ``` + pandoc test.md -t docx --reference-doc referenceh.docx -o test.docx word//word/header1.xml missing in reference docx ``` There was already code in pandoc to handle relative vs absolute paths in references, so use it. Signed-off-by: Edwin Török <[email protected]>
2023-12-26commit validation CI: work with regular push as well as pr.John MacFarlane
2023-12-26Fix commit-validation CI.John MacFarlane
Hopefully. See #9286.
2023-12-26ODT/opendocument writers: properly handle highlighting styles.John MacFarlane
These styles were going into an office:styles element in content.xml, but this is invalid. Instead they must go in styles.xml. See #9287. The variable `highlighting-styles` no longer has any effect on the default opendocument template, and highlighting styles are not included in opendocument output.
2023-12-24T.P.PDF: Ensure that we find all the LaTeX warnings requiring rerun.John MacFarlane
This should fix a regression from 3.1.9 that led to incorrect alignments in tables (and possibly other issues). Closes #9284.
2023-12-22T.P.Chunks: Fine tune `makeChunks`.John MacFarlane
* Ensure that chunks not based on sections (those with the "preamble" class) get unique identifiers, by appending chunk number. * This will also ensure that they get unique path names when the path is generated from the identifier. Closes #9281.
2023-12-22Markdown writer: add table identifier at end of caption if present.John MacFarlane
Suggested at #9279.
2023-12-20Org reader: parse caption and label for grid tables.John MacFarlane
Closes #9279.
2023-12-20Remove html5shiv from default HTML5 template.John MacFarlane
I don't think we need to support IE < 9 any more!
2023-12-19Fix commit validation CI.John MacFarlane
This CI action has been broken for a long time, giving us false negatives.
2023-12-19Fix commit-validation CI.John MacFarlane
2023-12-19Attempt to fix commit-validation CI.John MacFarlane
2023-12-19ci(docx): add 2 CI rules to run the validation rules from the MakefileEdwin Török
Triggered only when the golden docx or the validator script changes. Signed-off-by: Edwin Török <[email protected]>
2023-12-19fix(docx): sort inline elements in schema orderEdwin Török
Fixes #9273 ``` [ { "Description": "The element has unexpected child element 'http://schemas.openxmlformats.org/wordprocessingml/2006/main:b'.", "Path": { "NamespacesDefinitions": [ "xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\"" ], "Namespaces": { }, "XPath": "/w:document[1]/w:body[1]/w:p[1]/w:r[7]/w:rPr[1]", "PartUri": "/word/document.xml" }, "Id": "Sch_UnexpectedElementContentExpectingComplex", "ErrorType": "Schema" } ] ``` Signed-off-by: Edwin Török <[email protected]>
2023-12-19ci(validate-docx-golden-tests2): fail on errorsEdwin Török
The validator just prints errors, but always exited with nonzero. Signed-off-by: Edwin Török <[email protected]>
2023-12-18LaTeX writer: omit superfluous page locator label...John MacFarlane
when used with `--natbib` or `--biblatex`. These will treat a bare number as a page locator, and they will be able to localize it. We borrow the code for stripping the locator label from the suffix from Citeproc code. Note that the recognition of the locator label is locale-sensitive; if `lang` is `de`, then `S. 33` is a page reference, and `p. 33` is not! Closes #9275.
2023-12-18Docx reader: fix HYPERLINK with only switch and no argument.John MacFarlane
The argument can apparently be omitted, and then we just have a fragment URL. Closes #9246.
2023-12-18test(docx): add workaround for mc:IgnorableEdwin Török
`make validate-docx-golden-tests` now passes Fixes https://github.com/jgm/pandoc/issues/9269 Signed-off-by: Edwin Török <[email protected]>
2023-12-18fix(docx): fix validation error on endnotePrEdwin Török
Copying `endnotePr` causes validation errors, because it is now referencing something that doesn't exist in the document: ``` { "FilePath": "test/docx/golden/custom_style_reference.docx", "ValidationErrors": "[{\"Description\":\"Element 'w:endnote' referenced by 'endnote@http://schemas.openxmlformats.org/wordprocessingml/2006/main:id' does not exist in part '/MainDocumentPart/EndnotesPart'. The reference value is '0'.\",\"Path\":{\"NamespacesDefinitions\":[\"xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\"],\"Namespaces\":{},\"XPath\":\"/w:settings[1]/w:endnotePr[1]/w:endnote[2]\",\"PartUri\":\"/word/settings.xml\"},\"Id\":\"Sem_MissingReferenceElement\",\"ErrorType\":\"Semantic\"},{\"Description\":\"Element 'w:endnote' referenced by 'endnote@http://schemas.openxmlformats.org/wordprocessingml/2006/main:id' does not exist in part '/MainDocumentPart/EndnotesPart'. The reference value is '-1'.\",\"Path\":{\"NamespacesDefinitions\":[\"xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\"],\"Namespaces\":{},\"XPath\":\"/w:settings[1]/w:endnotePr[1]/w:endnote[1]\",\"PartUri\":\"/word/settings.xml\"},\"Id\":\"Sem_MissingReferenceElement\",\"ErrorType\":\"Semantic\"}]" } ``` For now don't copy this element, it wasn't copied before, and it doesn't seem necessary to fix the ordering problems we had with settings. Fixes: c9bf4da74 ("Docx writer: ensure that elements in settings are ordered correctly.") Signed-off-by: Edwin Török <[email protected]>
2023-12-18fix(docx): fix validation error on w:tblHeaderEdwin Török
``` { "FilePath": "test/docx/golden/tables.docx", "ValidationErrors": "[{\"Description\":\"The attribute 'http://schemas.openxmlformats.org/wordprocessingml/2006/main:val' has invalid value 'true'. The Enumeration constraint failed.\",\"Path\":{\"NamespacesDefinitions\":[\"xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\"],\"Namespaces\":{},\"XPath\":\"/w:document[1]/w:body[1]/w:tbl[1]/w:tr[1]/w:trPr[1]/w:tblHeader[1]\",\"PartUri\":\"/word/document.xml\"},\"Id\":\"Sch_AttributeValueDataTypeDetailed\",\"ErrorType\":\"Schema\"}]" } ``` Although this one might actually be a bug in Open-XML-SDK similar to this, or a subtle difference between standard versions: https://github.com/dotnet/Open-XML-SDK/issues/780 Signed-off-by: Edwin Török <[email protected]>
2023-12-18fix(docx): use left vs start consistentlyEdwin Török
They are equivalent, but OOXML-Validator complains: ``` { "FilePath": "test/docx/golden/tables_separated_with_rawblock.docx", "ValidationErrors": "[{\"Description\":\"The attribute 'http://schemas.openxmlformats.org/wordprocessingml/2006/main:val' has invalid value 'start'. The Enumeration constraint failed.\",\"Path\":{\"NamespacesDefinitions\":[\"xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\"],\"Namespaces\":{},\"XPath\":\"/w:document[1]/w:body[1]/w:tbl[2]/w:tblPr[1]/w:jc[1]\",\"PartUri\":\"/word/document.xml\"},\"Id\":\"Sch_AttributeValueDataTypeDetailed\",\"ErrorType\":\"Schema\"},{\"Description\":\"The attribute 'http://schemas.openxmlformats.org/wordprocessingml/2006/main:val' has invalid value 'start'. The Enumeration constraint failed.\",\"Path\":{\"NamespacesDefinitions\":[\"xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\"],\"Namespaces\":{},\"XPath\":\"/w:document[1]/w:body[1]/w:tbl[1]/w:tblPr[1]/w:jc[1]\",\"PartUri\":\"/word/document.xml\"},\"Id\":\"Sch_AttributeValueDataTypeDetailed\",\"ErrorType\":\"Schema\"}]" } ``` pandoc already uses 'left' elsewhere, so be consistent, we still produce the transitional schema, not the strict one which would have the 'start' attribute. Signed-off-by: Edwin Török <[email protected]>
2023-12-18fix(docx): fix validation error on inline w:i/w:iCs orderEdwin Török
From `make validate-docx-golden-tests2`: ``` { "FilePath": "test/docx/golden/definition_list.docx", "ValidationErrors": "[{\"Description\":\"The element has unexpected child element 'http://schemas.openxmlformats.org/wordprocessingml/2006/main:i'.\",\"Path\":{\"NamespacesDefinitions\":[\"xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\"],\"Namespaces\":{},\"XPath\":\"/w:document[1]/w:body[1]/w:p[3]/w:r[3]/w:rPr[1]\",\"PartUri\":\"/word/document.xml\"},\"Id\":\"Sch_UnexpectedElementContentExpectingComplex\",\"ErrorType\":\"Schema\"}]" }, ``` Signed-off-by: Edwin Török <[email protected]>
2023-12-18fix(docx): fix OOXMLValidator error on KeywordTok outputEdwin Török
xmllint doesn't warn about this (maybe because the tag is empty?), but the order doesn't match wml.xsd: ``` <w:rPr> <w:color w:val="007020"/> <w:b/> </w:rPr> ``` And OOXMLValidatorCLI does warn about it: ``` { "Description": "The element has unexpected child element 'http://schemas.openxmlformats.org/wordprocessingml/2006/main:b'.", "Path": { "NamespacesDefinitions": [ "xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\"" ], "Namespaces": { }, "XPath": "/w:styles[1]/w:style[40]/w:rPr[1]", "PartUri": "/word/styles.xml" }, "Id": "Sch_UnexpectedElementContentExpectingComplex", "ErrorType": "Schema" } ``` Signed-off-by: Edwin Török <[email protected]>
2023-12-18test(Makefile): add validate-docx-golden-test2Edwin Török
Add a validation rule based on OOXML-Validator which uses the Open-XML-SDK shipped and maintained as part of dotnet. This catches a few more issues compared to the .xsd. Unfortunately currently this executable always exits with 0 even when validation failed. That can be fixed later by invoking it from a script. Signed-off-by: Edwin Török <[email protected]>
2023-12-18fix(docx): fix validation error on w:annotationRefEdwin Török
annotationRef is not valid for `w:rPr`, only for `w:r` according to wml.xsd. See https://github.com/jgm/pandoc/issues/9269 Signed-off-by: Edwin Török <[email protected]>
2023-12-18test(docx): also compare number of childrenEdwin Török
This detects if a tag gets added/removed, or moves within the hierarchy. Signed-off-by: Edwin Török <[email protected]>
2023-12-18fix(Makefile): make quick-stack was failing, "j" was expecting a numberEdwin Török
Fixes: ``` pandoc-lua-engine> option -j: Could not parse num-threads pandoc-lua-engine> pandoc-lua-engine> Usage: test-pandoc-lua-engine [-p|--pattern PATTERN] [-t|--timeout DURATION] pandoc-lua-engine> [-l|--list-tests] [-j|--num-threads NUMBER] pandoc-lua-engine> [-q|--quiet] [--hide-successes] pandoc-lua-engine> [--color never|always|auto] [--ansi-tricks ARG] pandoc-lua-engine> [--accept] [--no-create] [--size-cutoff n] pandoc-lua-engine> [--delete-output never|onpass|always] ``` Signed-off-by: Edwin Török <[email protected]>
2023-12-18validate-docx.sh - revert checking of _rels.John MacFarlane
These generate "no matching global declaration" so they can't be validated.
2023-12-18Fix bug in validate-docx.sh.John MacFarlane
We only need look at xml files in word.
2023-12-18fix(docx): fix validation error in w:nsidEdwin Török
The length here seems to refer to length in bytes (so twice as long in hex): ``` ./tmp/numbering-pretty.xml:4: element nsid: Schemas validity error : Element '{http://schemas.openxmlformats.org/wordprocessingml/2006/main}nsid', attribute '{http://schemas.openxmlformats.org/wordprocessingml/2006/main}val': [facet 'length'] The value 'A990' has a length of '2'; this differs from the allowed length of '4'. ``` [This](https://learn.microsoft.com/en-us/dotnet/api/documentformat.openxml.wordprocessing.nsid?view=openxml-2.8.1) also documents the longer values. Signed-off-by: Edwin Török <[email protected]>
2023-12-18Modify validate-docx.sh to check ALL xml files in the docx container.John MacFarlane
2023-12-18validate-docx.sh: print list of files that fail validation.John MacFarlane
2023-12-18Add custom validate-docx.sh script.John MacFarlane
This checks files other than document.xml in a docx container. Thanks to @edwintorok.
2023-12-18Makefile: Run built pandoc (instead of pandoc in path).John MacFarlane
2023-12-18Makefile: Add validate-epub target.John MacFarlane
2023-12-18Makefile: add validate-docx-golden-tests target.John MacFarlane