Add Chicken wiki page
This commit is contained in:
parent
06bb026a63
commit
c235a0e70e
|
@ -0,0 +1,83 @@
|
|||
[[tags: egg]]
|
||||
|
||||
== pandoc
|
||||
|
||||
[[toc:]]
|
||||
|
||||
=== Introduction
|
||||
|
||||
This egg provides a Scheme interface to
|
||||
[[https://pandoc.org/|Pandoc]], the universal document converter.
|
||||
|
||||
Pandoc can convert documents between several markup languages
|
||||
(Markdown, AsciiDoc, etc.) It fits all of those languages into a
|
||||
uniform syntax tree. This egg supplies JSON and SXML versions of the
|
||||
syntax tree.
|
||||
|
||||
=== Documentation
|
||||
|
||||
<parameter>(pandoc-command-line [string-list])</parameter>
|
||||
|
||||
This parameter lets the user customize the command line that is given
|
||||
to the operating system to run Pandoc. All Pandoc invocations start
|
||||
with this command line. The default is {{'("pandoc")}}.
|
||||
|
||||
Treat this parameter like RnRS {{command-line}}: shell syntax cannot
|
||||
be used, and command line arguments should not be shell-quoted.
|
||||
|
||||
<procedure>(pandoc-port->json input-format input-port)</procedure>
|
||||
<procedure>(pandoc-file->json input-format input-filename)</procedure>
|
||||
|
||||
These procedures return Pandoc's JSON parse tree. The JSON is decoded
|
||||
into the canonical Scheme JSON representation used by SRFI 180, the
|
||||
{{cjson}} and {{medea}} eggs, etc.: JSON arrays become Scheme vectors,
|
||||
JSON objects become Scheme association lists with symbol keys, and
|
||||
JSON null becomes the symbol {{'null}}.
|
||||
|
||||
The {{input-format}} argument is a symbol, and is supplied as Pandoc's
|
||||
{{--from}} argument.
|
||||
|
||||
An exception is raised if the conversion is not successful.
|
||||
|
||||
<procedure>(pandoc-port->sxml input-format input-port)</procedure>
|
||||
<procedure>(pandoc-file->sxml input-format input-filename)</procedure>
|
||||
|
||||
These procedures are like their {{->json}} counterparts, but instead
|
||||
of JSON they return an SXML conversion of Pandoc's parse tree using
|
||||
HTML tags. The parse tree is easy to turn into HTML using one of
|
||||
several Scheme libraries, e.g. Chicken's {{sxml-transforms}} egg.
|
||||
|
||||
=== Caveats
|
||||
|
||||
Pandoc can be quite slow, but its work could be easily parallelized by
|
||||
running one instance of Pandoc per document.
|
||||
|
||||
=== Version History
|
||||
|
||||
* 0.1: First release
|
||||
|
||||
=== Author
|
||||
|
||||
Lassi Kortela
|
||||
|
||||
=== Repository
|
||||
|
||||
[[https://github.com/lassik/scheme-pandoc|
|
||||
https://github.com/lassik/scheme-pandoc]]
|
||||
|
||||
=== License
|
||||
|
||||
Copyright 2020 Lassi Kortela
|
||||
|
||||
Permission to use, copy, modify, and distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
|
||||
WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
|
||||
AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
|
||||
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
|
||||
PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THIS SOFTWARE.
|
Loading…
Reference in New Issue