Commit Graph
15919 Commits
Author SHA1 Message Date
Albert Krewinkel 2d565eda9e doc/lua-filters.md: fix documentation of PANDOC_WRITER_OPTIONS. 2022-10-03 20:01:55 +02:00
Albert Krewinkel 59e9df4262 doc/lua-filters.md: document pandoc.write_classic. 2022-10-03 19:57:02 +02:00
Albert Krewinkel 8986c03f20 Add test for custom bytestring writers 2022-10-03 19:46:57 +02:00
John MacFarlane f315248865 Remove unused lua53 flag. 2022-10-03 08:50:20 -07:00
Albert Krewinkel 3324664aab [API Change] Support bytestring custom writers.
New-style custom Lua writers can now define an alternative entry function
`BinaryWriter`. If a function with that name is defined, then pandoc
will treat the returned string as binary output. This allows to generate
formats like docx and odt with custom writers.
2022-10-03 08:47:32 -07:00
Albert Krewinkel 921d7dd271 Lua: deprecate classic custom writers. 2022-10-03 08:47:32 -07:00
Albert Krewinkel 309163f5bc [API Change] Base custom writers on Writer type.
The `T.P.Lua.writeCustom` function changed to allow either a TextWriter
or ByteStringWriter to be returned. The global variables
`PANDOC_DOCUMENT` and `PANDOC_WRITER_OPTIONS` are no longer set when the
writer script is loaded. Both variables are still set in classic writers
before the conversion is started, so they can be used when they are
wrapped in functions.
2022-10-03 08:47:32 -07:00
Albert Krewinkel 3b0e700720 Lua: add function pandoc.write_classic.
The function can be used to convert a classic writer into a new-style
writer by setting it as the value of `Writer`:

``` lua
Writer = pandoc.write_classic
```

or to fully restore the old behavior:

``` lua
function Writer (doc, opts)
  PANDOC_DOCUMENT = doc
  PANDOC_WRITER_OPTIONS = opts
  load(PANDOC_SCRIPT_FILE)()
  return pandoc.write_classic(doc, opts)
end
```
2022-10-03 08:47:32 -07:00
Albert Krewinkel 132931a491 Lua: Support running Lua with a GC-collected Lua state. 2022-10-03 08:47:32 -07:00
Albert Krewinkel c8d08b945c Remove support for Lua 5.3. 2022-10-03 08:47:32 -07:00
John MacFarlane e7d645c848 MANUAL.txt: update grid table documentation.
Add information about row/colspans and complex headers.

Closes #8346.
2022-10-02 22:40:35 -07:00
John MacFarlane d9004c9e5c Officially deprecate writeJATS...
in favor of writeJatsArchiving.
2022-10-02 11:21:06 -07:00
John MacFarlane 8b004e0c26 Add T.P.Citeproc.Name.
This exports `toName`, which previously had been part of
T.P.Citeproc.BibTeX.  T.P.Readers.RIS,EndNote can now depend on
this module without transitively depending on the LaTeX reader,
which is used in T.P.Citeproc.BibTeX.

Closes #8345.
2022-10-02 10:59:14 -07:00
John MacFarlane 1c01d39a17 Fix nightly flag for macos nightly build. 2022-10-02 09:33:52 -07:00
John MacFarlane 92e116af19 Make modules.dot target more robust.
Only include source-controlled files under src.
2022-10-01 17:52:03 -07:00
John MacFarlane dd07d8002f JATS writer: use <break/> for LineBreak...
in the limited contexts that accept it.

Closes #8344.
2022-10-01 17:46:13 -07:00
John MacFarlane 89e7e9b636 Makefile: add moduledeps target.
make moduledeps ROOTNODE=T.P.Parsing
2022-10-01 12:46:30 -07:00
John MacFarlane 20f82b0a8b Makefile target to get module dependeny subgraphs.
E.g. what depends on Text.Pandoc.Parsing?

    make modules.pdf ROOTNODE=T.P.Parsing

This is helpful for figuring out what we can split out as separate
packages.
2022-10-01 12:34:27 -07:00
John MacFarlane c51eeea4c7 Add Makefile target to create a directed graph of module dependencies. 2022-10-01 11:52:54 -07:00
Link Swanson 4e29d6d379 Remove unsupported element from pptx reference doc (#8342)
The default template contained text above the header, which can mislead
users into thinking there is a way to put  text there using pandoc

See #6338.
2022-10-01 10:30:07 -07:00
John MacFarlane 08b9530fc1 Fix nightly Windows build so it uses nightly flag. 2022-10-01 10:23:30 -07:00
John MacFarlane 42b6e3907c Fix nightly flag build. 2022-10-01 09:56:50 -07:00
John MacFarlane 215d62ccd6 Remove build versions info from --version output. 2022-09-30 17:18:15 -07:00
John MacFarlane aa0e9c4d6e Move --version handling to pandoc-cli.
Print flag settings (lua, server) and versions of all relevant packages.
Add suffix for nightly builds.

Move `nightly` flag from pandoc to pandoc-cli.

Closes #8339.
2022-09-30 16:46:39 -07:00
John MacFarlane 2bca1315ce Update RELEASE-CHECKLIST. 2022-09-30 16:46:39 -07:00
Albert Krewinkel 1148ead64c App: move initial input-to-Pandoc code to internal submodule 2022-09-30 23:42:41 +02:00
Albert Krewinkel cfc2024d37 Use server as command to start the pandoc server 2022-09-30 18:41:51 +02:00
Albert Krewinkel 1663dfc850 Use released gridtables 0.1.0.0 2022-09-30 18:31:55 +02:00
Albert Krewinkel b6a571d577 pandoc-cli: Allow building a binary without Lua support
Disabling the `lua` cabal flag will result in a binary without Lua.
2022-09-30 08:33:40 -07:00
Albert Krewinkel 5be9052f5f [API Change] Extract Lua code into new package pandoc-lua-engine
The flag 'lua53` must now be used with that package if pandoc is to be
compiled against Lua 5.3.
2022-09-30 08:33:40 -07:00
Albert Krewinkel 79980eee4a [API Change] Parameterize convertWithOpts over scripting engine. 2022-09-30 08:33:40 -07:00
Albert Krewinkel eaf702a10f Change imports in Lua code to only use exported pandoc modules 2022-09-30 08:33:40 -07:00
Albert Krewinkel a20b92097a App: stop including the HsLua version in version info output 2022-09-30 08:33:40 -07:00
Albert Krewinkel 0ab014ed1e [API Change] App: parameterize options over the scripting engine 2022-09-30 08:33:40 -07:00
Albert Krewinkel 78814f27e0 [API Change] Filter: Parameterize applyFilters over scripting engine.
Pass the scripting engine as a parameter so it can be swapped out.
2022-09-30 08:33:40 -07:00
Albert Krewinkel 4d365ca3ff [API Change] Lua: export new function T.P.Lua.getEngine
The function returns the Lua scripting engine.
2022-09-30 08:33:40 -07:00
Albert Krewinkel 04902d26da [API Change] Change type of Text.Pandoc.Lua.applyFilter
The module Text.Pandoc.Filter.Lua has been merged into Text.Pandoc.Lua.
The function `applyFilter` now has type

``` haskell
applyFilter :: (PandocMonad m, MonadIO m)
            => Environment-> [String]-> FilePath-> Pandoc-> m Pandoc
```

where `Environment` is defined in Text.Pandoc.Filter.Environment.
2022-09-30 08:33:40 -07:00
Albert Krewinkel 0e947c7473 [API Change] Filter: export function applyJSONFilter 2022-09-30 08:33:40 -07:00
Albert Krewinkel 084e246126 [API Change] Remove modules T.P.Writers.Custom and T.P.Readers.Custom.
The functions `writeCustom` and `readCustom` are available from module
Text.Pandoc.Lua.
2022-09-30 08:33:40 -07:00
Albert Krewinkel 1a1e6457c6 [API Change] Export module Text.Pandoc.Class.IO
The module is useful when defining instances of class PandocMonad for
types that are also instances of MonadIO.
2022-09-30 08:33:40 -07:00
Albert Krewinkel 14bcb4268b [API Change] Add new error constructor PandocNoScriptingEngine.
The exit code for this error is 89.
2022-09-30 08:33:40 -07:00
Albert Krewinkel 704f337697 [API Change] Export new module Text.Pandoc.Scripting
The module contains the central data structure for scripting engines.
2022-09-30 08:33:40 -07:00
Albert Krewinkel ddaadc88bc [API Change] Rename pandocVersion to pandocVersionText...
and add a new `pandocVersion` value with type `Version`. This is
consistent with the type used for `pandocTypesVersion` and allows to use
the value where a Version type is required.
2022-09-30 08:33:40 -07:00
John MacFarlane e099de1d4d Factor out xml-light into an internal library. 2022-09-29 10:53:16 -07:00
John MacFarlane 931ccd0376 Remove deprecated option --strip-empty-paragraphs. 2022-09-29 10:37:46 -07:00
John MacFarlane 6227144216 Remove deprecated --atx-headers option. 2022-09-29 10:29:29 -07:00
John MacFarlane 48d0bfc675 Add --list-tables option.
[API change] Add writerListTables to WriterOptions.

RST writer: Remove sensitivity to "list-table" class in table attributes.
Instead, just check `writerListTables` in writer options.

See #4564.
2022-09-29 10:20:58 -07:00
John MacFarlane 57fd3c4f81 cabal.project: move back to using flags:.
If we add the flag to constraints, it can't be overridden on
the command line.
2022-09-29 10:19:30 -07:00
danse c974ed0cae rST writer: list tables rendering, closes #4564
When a table is marked with a "list-table" attribute class, it will
now be rendered using the list table syntax documented here
http://docutils.sourceforge.net/docs/ref/rst/directives.html#list-table
2022-09-29 09:56:00 -07:00
John MacFarlane 45820e79f4 Makefile: remove 'stack clean' from clean target 2022-09-29 09:40:57 -07:00