Commit graph

114 commits

Author SHA1 Message Date
Albert Krewinkel
786594b23b Lua: add pandoc.system module (#5468)
The `system` Lua module provides utility functions to interact with the
operating- and file system. E.g.

    print(pandoc.system.get_current_directory())

or

    pandoc.system.with_temporary_directory('tikz', function (dir)
      -- write and compile a TikZ file with pdflatex
    end)
2019-05-04 01:06:30 -04:00
Shim Myeongseob
73efef589a Fix broken links in documents (#5473)
Fix broken links in doc/epub.md, doc/getting-started.md,
doc/customizing-pandoc.md, doc/using-the-pandoc-api.md.
Also, use absolute links to pandoc.org when possible, so that
the links can be followed by people viewing these documents
on GitHub.
2019-05-01 20:09:36 -04:00
Matthew Doty
32e358bfe9 Improved sample lua tikz filter in lua-filters docs (#5445)
There are three changes:

- It only processes elements which begin with \begin{tikzpicture}
- It uses pdf2svg instead of imagemagick to preserve fidelity
- The images produced have transparent backgrounds
2019-04-15 21:39:03 -07:00
Albert Krewinkel
b11ad32605
doc/lua-filters.md: fixed typos in mediabag docs. 2019-02-16 12:12:42 +01:00
Albert Krewinkel
75c791b4fe Lua filters: load module pandoc before calling init.lua (#5287)
The file `init.lua` in pandoc's data directory is run as part of
pandoc's Lua initialization process. Previously, the `pandoc` module was
loaded in `init.lua`, and the structure for marshaling was set-up after.
This allowed simple patching of element marshaling, but made using
`init.lua` more difficult:

  - it encouraged mixing essential initialization with user-defined
    customization;

  - upstream changes to init.lua had to be merged manually;

  - accidentally breaking marshaling by removing required modules was
    possible;

Instead, all required modules are now loaded before calling `init.lua`.
The file can be used entirely for user customization. Patching
marshaling functions, while discouraged, is still possible via the
`debug` module.
2019-02-09 13:56:49 -08:00
Albert Krewinkel
9a9c138d9c
data/pandoc.lua: re-export all bundled modules
All Lua modules bundled with pandoc, i.e., `pandoc.List`,
`pandoc.mediabag`, `pandoc.utils`, and `text` are re-exported from the
`pandoc` module. They are assigned to the fields `List`, `mediabag`,
`utils`, and `text`, respectively.
2019-02-09 20:12:33 +01:00
John MacFarlane
403aafe983 Small fix in lua-filters doc. 2019-02-08 11:11:57 -08:00
Albert Krewinkel
713ed7c0c5
data/pandoc.lua: re-export List and utils module 2019-02-07 10:10:55 +01:00
Albert Krewinkel
b436087bc8
doc/lua-filters.md: fix docs for OrderedList items 2019-02-01 21:19:52 +01:00
John MacFarlane
4e6ef53295 More improvements on lua-filters docs. 2019-01-31 10:13:36 -08:00
Albert Krewinkel
7b7db934a8
doc/lua-filters.md: use 3rd level headers for module fields 2019-01-30 21:41:40 +01:00
Albert Krewinkel
4eb8a97a1c
doc/org.md: improve documentation of org features 2018-12-29 15:20:44 +01:00
Julien Kirch
cefb0886c3 Fix progit book url 2018-11-29 16:26:31 -05:00
Albert Krewinkel
c0d8b0abcb
Lua filters: test AST object equality via Haskell
Equality of Lua objects representing pandoc AST elements is tested by
unmarshalling the objects and comparing the result in Haskell. A new
function `equals` which performs this test has been added to the
`pandoc.utils` module.

Closes: #5092
2018-11-19 21:46:20 +01:00
Mauro Bieg
f07ae68558
cusomizing-pandoc.md: streamline template text 2018-11-17 14:39:26 +01:00
Mauro Bieg
0466c0a8b0
customizing-templates.md: variable options table 2018-11-17 14:23:49 +01:00
John MacFarlane
2f579193ae getting-started.md: Added title to test1.md to avoid warning. 2018-11-01 11:49:49 -07:00
Albert Krewinkel
096cbe6987 Lua: allow access to pandoc state (#5015)
* Lua: allow access to pandoc state

Lua filters and custom writers now have read-only access to most fields
of pandoc's internal state via the global variable `PANDOC_STATE`.

* Lua: allow iterating through fields of PANDOC_STATE

* Lua filters doc: describe CommonState

* Lua filters doc: mention global variable PANDOC_STATE

* Lua: add access to logs

Log messages can currently only be printed, but not decomposed.
2018-10-25 22:12:14 -07:00
Albert Krewinkel
00b0c4a57b
Lua filter doc: merge type references into main document 2018-10-19 08:14:10 +02:00
Albert Krewinkel
e3b85517d6
Lua filters doc: fix and add more links to types 2018-10-18 22:27:14 +02:00
John MacFarlane
63b3886bfe Added note to customizing-pandoc. 2018-10-16 10:42:48 -07:00
John MacFarlane
a552af612e customizing-pandoc: add suggestion about 'pandoc -t native'. 2018-10-16 09:57:10 -07:00
John MacFarlane
e32220ef4f Revised customizing-pandoc.md and included TODOs. 2018-10-16 09:54:59 -07:00
Mauro Bieg
a5fc46cb8f add docs about customizing pandoc (#4972)
closes #3288
2018-10-16 09:10:34 -07:00
Albert Krewinkel
b831bd9fc1 Lua filter docs: extend description of table fields 2018-10-16 08:01:59 +02:00
Albert Krewinkel
7e9e24b8bc Lua filter docs: describe Attr type 2018-10-15 23:01:23 +02:00
Albert Krewinkel
f6559e5def Lua filter docs: render field names as code 2018-10-15 22:52:02 +02:00
Albert Krewinkel
d9f179f7f2 Lua filter docs: fix typos 2018-10-15 22:17:12 +02:00
Albert Krewinkel
aed7aecfc3 Lua filter docs: complete, fix MetaValue documentation 2018-10-15 21:10:05 +02:00
Albert Krewinkel
1435d0b079
Lua filters doc: add ReaderOptions to list of objects 2018-10-15 07:56:35 +02:00
Albert Krewinkel
418f6e093c
Lua filter docs: add documentation for Element/Sec 2018-10-13 16:25:54 +02:00
Albert Krewinkel
1ac87b487f
Lua filter docs: document list attributes 2018-10-11 22:30:40 +02:00
Albert Krewinkel
5f6f2c69f5
data/pandoc.lua: add datatype ListAttributes
Make ListAttributes a datatype. The type is similar to Attr.
2018-10-11 22:28:24 +02:00
Albert Krewinkel
484056a4cd
Lua filter docs: document fields of Citation objects 2018-10-11 21:25:26 +02:00
Albert Krewinkel
2e63e2f2bc
Lua filter docs: document fields of inline objects 2018-10-11 20:51:54 +02:00
Albert Krewinkel
36a6a40ef7
Documentation: add draft for Lua objects reference 2018-10-06 21:48:25 +02:00
Albert Krewinkel
05efa5a0e6
Lua filter doc: fix description of Code.text 2018-10-06 21:48:24 +02:00
John MacFarlane
ba09d2942a lua-filters.md: add links to filters, and to lua-filters repository.
Closes #4874.
2018-09-07 16:29:21 -07:00
Albert Krewinkel
fb94c0f6a1 Lua Utils module: add function blocks_to_inlines (#4799)
Exposes a function converting which flattenes a list of blocks into a
list of inlines. An example use case would be the conversion of Note
elements into other inlines.
2018-07-30 10:55:25 -07:00
Alexander Krotov
41cf6d540f More spellcheck 2018-07-02 19:07:28 +03:00
HeirOfNorton
f5b89b5adb Fix example in lua-filters docs. Fixes #4459 (#4476) 2018-03-19 21:43:43 -07:00
Albert Krewinkel
b4717a6acb
doc/org.md: Add Org-mode documentation (very first draft) 2018-02-25 14:30:15 +01:00
Albert Krewinkel
eb16f3354f
doc/lua-filters.md: document global vars set for filters 2018-02-24 23:38:27 +01:00
Alexander Krotov
b818623d42 Fix Text.Pandoc.Builder link 2018-01-22 15:43:48 +03:00
Albert Krewinkel
8d5422f36b
Lua modules: add function pandoc.utils.run_json_filter
Runs a JSON filter on a Pandoc document.
2018-01-13 00:07:03 +01:00
Albert Krewinkel
b6cec3da3f
data/pandoc.lua: fix docstrings
Change: minor
2018-01-07 22:41:59 +01:00
Albert Krewinkel
7fa286fff1
Update tool which generates lua module docs
All "helper functions" are not part of the Lua code for module pandoc,
but are added in Haskell. The respective documentation section must
therefore be excluded from automatic regeneration.
2017-12-29 10:04:55 +01:00
Albert Krewinkel
9be2c7624c
data/pandoc.lua: drop function pandoc.global_filter
The function `global_filter` was used internally to get the implicitly
defined global filter. It was of little value to end-users, but caused
unnecessary code duplication in pandoc. The function has hence been
dropped. Internally, the global filter is now received by interpreting
the global table as lua filter.

This is a Lua API change.
2017-12-29 10:04:55 +01:00
Albert Krewinkel
820ee07f72
doc/lua-filters.md: re-add docs for helper functions
These docs are dropped, as the functions are no longer part of
data/pandoc.lua, from which this section is generated. This is only a
temporary fix: a proper fix will have to re-think how this section is
updated.
2017-12-29 09:04:21 +01:00
Albert Krewinkel
ec068f2318
data/pandoc.lua: fix documentation for global_filter 2017-12-29 09:02:25 +01:00