aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2022-10-20T.P.Scripting: change types of `engineReadCustom`, `engineWriteCustom`.issue8378John MacFarlane
Not technically an API change, since these are still unreleased. Remove the `ExtensionsConf` in the return value, and added an 'ExtensionsDiff' parameter.
2022-10-20Add custom extensions.John MacFarlane
T.P.Extensions [API change]: + Add CustomExtension constructor to Extension. + Remove Bounded, Enum instances for Extension. + Add `extensionsToList` function. + Revise `readExtension` so it can handle CustomExtension, and so that it returns a Text rather than Maybe Text. + Add `showExtension`. T.P.Format: + Revise error checking to handle CustomExtension.
2022-10-19T.P.Class: make `getPOSIXTime`, `getZonedTime` sensitive to...John MacFarlane
`SOURCE_DATE_EPOCH` environment variable if set. (`getTimestamp` was already sensitive.) This ensures that EPUB builds are reproducible. Closes #7093.
2022-10-19Text.Pandoc.Shared: remove `findM` [API change].John MacFarlane
This was only used in one place, and can be replaced with simpler code.
2022-10-19Text.Pandoc.Shared: remove deprecated `makeMeta` [API change].John MacFarlane
2022-10-19Text.Pandoc.Shared: remove `ordNub` [API change].John MacFarlane
This is just `nubOrd` from Data.Containers.ListUtils.
2022-10-19T.P.Shared: remove `mapLeft` [API change].John MacFarlane
This is just a synonym for Bifunctor.first.
2022-10-19Move `defaultUserDataDir` from T.P.Shared to T.P.Data [API change].John MacFarlane
2022-10-19Text.Pandoc.Shared: remove `elemText`, `notElemText`. [API change]John MacFarlane
2022-10-19Split Text.Pandoc.Version from Text.Pandoc.Shared.John MacFarlane
This new module exports `pandocVersion` and `pandocVersionText`, which are no longer exported from Text.Pandoc.Shared. [API change] Also, we now set the `pandoc-version` variable centrally rather than in the writers. One effect is the man writer now emits a comment with the pandoc version (this was intended before, judging from the template, but it didn't happen because the vairable wasn't set).
2022-10-18T.P.Shared: remove `escapeURI`, `isURI`.John MacFarlane
These are now exported by Text.Pandoc.URI, and removing them from Shared helps make module structure more straightforward.
2022-10-18T.P.SelfContained: use T.P.Parsing rather than direct Text.Parsec.John MacFarlane
2022-10-18T.P.Sources: UpdateSourcePos instances for String and...John MacFarlane
strict and lazy ByteString. [API change]
2022-10-18T.P.Citeproc.Locator: remove unnecessary import of Text.Parsec.John MacFarlane
2022-10-18Revert "HTML reader: avoid duplicating any existing identifier..."John MacFarlane
This reverts commit e5fbddd3b6c0c7a3b76b313edbe55242e3b138fc.
2022-10-18Revert "T.P.Parsing: export `registerIdentifier`."John MacFarlane
This reverts commit 20492d523c8324e36781cfbbc8092c796f94b151.
2022-10-18Revert "Markdown reader: avoid duplicate ids with auto_identifiers."John MacFarlane
This reverts commit eff82cfe4de44a111250ce9ce3ecee2fd4d99924.
2022-10-18Markdown reader: avoid duplicate ids with auto_identifiers.John MacFarlane
We previously avoided generating a duplicate with another automatically generated identifier; now we also avoid duplicates with explicit identifiers that occur before the header for which an identifier is being generated. (Collisions are still possible for identifiers that occur after the header.) T.P.Shared: `makeSections` is also modified so it doesn't give bad results when the enclosing Div has a different identifier from the header, as may now happen.
2022-10-18T.P.Parsing: export `registerIdentifier`.John MacFarlane
[API change] Use this in the HTML reader to register identifiers to avoid duplicates created by `auto_identifiers`.
2022-10-18HTML reader: avoid duplicating any existing identifier...John MacFarlane
with `auto_identifiers`. Closes #8383.
2022-10-18Revert "MediaWiki writer: avoid extra section divs with repeated ids."John MacFarlane
This reverts commit 1e7b57e1e888575ec772fa30381a9edc9577a406.
2022-10-17T.P.Error: Remove PandocParsecError constructor from PandocError. (#8385)John MacFarlane
Henceforth we just use `PandocParseError`. T.P.Parsing now exports `fromParsecError`, which can be used to turn a parsec ParseError into a regular PandocParseError (the appearance to the user should be unchanged in every case). [API change] Closes #8382.
2022-10-17MediaWiki writer: avoid extra section divs with repeated ids.John MacFarlane
Closes #8383. Previously when converting HTML with headings nested under section elements, pandoc would produce HTML div tags and a span with an identifier duplicating the one on the div. It seems better just to omit the superstructure of section divs, so that's what this commit does, yielding more normal MediaWiki output.
2022-10-16T.P.Readers.VimWiki: avoid direct import of parsec.John MacFarlane
2022-10-16T.P.Parsing: export errorMessages, messageString.John MacFarlane
[API change]
2022-10-16T.P.Parsing: Remove gratuitious renaming of Parsec types.John MacFarlane
We were exporting Parser, ParserT as synonyms of Parsec, ParsecT. There is no good reason for this and it can cause confusion. Also, when possible, we replace imports of Text.Parsec with T.P.Parsing. The idea is to make it easier, at some point, to switch to megaparsec or another parsing engine if we want to. T.P.Parsing new exports: Stream(..), updatePosString, SourceName, Parsec, ParsecT [API change]. Removed exports: Parser, ParserT [API change].
2022-10-16RST writer: improve inline escaping rules.John MacFarlane
Also a small performance optimization. Closes #8380.
2022-10-15Minor code cleanups.John MacFarlane
2022-10-14Lua: Support built-in default templates for custom writersAlbert Krewinkel
Custom writers can define a default template via a global `Template` function; the data directory is no longer searched for a default template. Writer authors can restore the old lookup behavior with ``` lua Template = function () local template return template.compile(template.default(PANDOC_SCRIPT_FILE)) end ```
2022-10-13Extensions: simpler implementation based on Set.John MacFarlane
This implementation would allow us (if we wanted) to add an extensible Ext_custom Text constructor.
2022-10-13FlavoredFormat: add Show, Semigroup, Monad instancesJohn MacFarlane
2022-10-13Rollback parameterize options on scripting engine.John MacFarlane
Rolls back 0ab014ed1e5890e338792fab98aecc45cd889f99. We don't need this because we aren't needing to print the Lua version in options any more; we're handling `--version` now at the pandoc-cli level.
2022-10-12Lua: support extensions in custom readers.Albert Krewinkel
Like custom readers, like writers, can define the set of supported extensions by setting a global. E.g.: ``` lua reader_extensions = { smart = true, citations = false, } ```
2022-10-11Templates: use filename to search for default template of custom writersAlbert Krewinkel
The default template of a custom writer `/path/to/my-writer.lua` is expected in the `templates/default.my-writer.lua` data file. Note that templates are *not* applied automatically to the output of custom writers; custom writer authors must ensure that the template is applied if one is present in the writer options. Closes: #8137
2022-10-11Templates: do not try to normalize input to `getDefaultTemplate`Albert Krewinkel
The function `getDefaultTemplate` no longer splits off extension modifers from the given format, as that conflicts with using custom writers as formats. Haskell library users should use `getDefaultTemplate <=< (fmap formatName . parseFlavoredFormat)` if the input format can still contain extensions. The same is true for `compileDefaultTemplate`, which calls `getDefaultTemplate` internally.
2022-10-10Simplify some citation code in LaTeX writer.John MacFarlane
2022-10-10Lua: support extensions in custom writersAlbert Krewinkel
Custom writers can define the extensions that they support via the global `writer_extensions`. The variable's value must be a table with all supported extensions as keys, and their default status as values. E.g., the below specifies that the writer support the extensions `smart` and `sourcepos`, but only the `smart` extension is enabled by default: writer_extensions = { smart = true, sourcepos = false, }
2022-10-10Org reader: make #+pandoc-emphasis-pre work as expected. (#8360)Amir Dekel
So far, `orgStateLastPreCharPos` wasn't updated appropriately after each parsing to native Str (by the parser `str`). In addition to solving this, the guard `notAfterString` in `emphasisStart` is removed to allow emphasis after Str at the first place.
2022-10-10Remove redundant import from T.P.ScriptingAlbert Krewinkel
2022-10-10Lua: use `Reader` type for custom readers.Albert Krewinkel
2022-10-09HTML writer; Properly merge classes for headings of level > 6.John MacFarlane
Previously we got two separate `class` attributes in the `p` tag. Closes #8363.
2022-10-08[API Change] Change argument type of `getReader`, `getWriter`.Albert Krewinkel
The functions now take a `FlavoredFormat` instead of a text argument.
2022-10-08[API Change] Add new module "Text.Pandoc.Format"Albert Krewinkel
The module provides functions and types for format spec parsing and processing. The function `parseFormatSpec` was moved from Text.Pandoc.Extensions to the new module and renamed to `parseFlavoredFormat`. It now operates in a PandocMonad and is based on the updated types.
2022-10-08[API Change] T.P.Error: Add new constructor "PandocFormatError"Albert Krewinkel
The new error is used to report problems with input or output format specifications. The use of PandocAppError is now limited to code in T.P.App and T.P.Citeproc.
2022-10-08Extensions: add new function `readExtension`Albert Krewinkel
The function tries to read an extension from a string.
2022-10-06LaTeX writer: add separator line between table's body and its foot.Albert Krewinkel
The writer uses features from the longtable package to define the table foot. Furthermore, the table's bottom rule is now part of the foot, where it previously was given as part of the body.
2022-10-05HTML writer: replace deprecated aria roles for bibliography entries.John MacFarlane
`doc-biblioentry` -> `listitem` `doc-bibliography` -> `list` Closes #8354.
2022-10-05Extensions: fix JSON decoding of ExtensionsAlbert Krewinkel
Closes: #8352
2022-10-04Removed some final blank lines.John MacFarlane
2022-10-03Rename T.P.Readers.LaTeX.Types -> T.P.TeX.John MacFarlane