Differences From
Artifact [4b83863e2a]:
1070 1070 * [*html]: emit HTML and CSS code to typeset the document. [!in progress]
1071 1071 * [*svg]: emit SVG, taking advantage of its precise layout features to produce a nicely formatted and paginated document. pagination can perhaps be accomplished through emitting multiple files (somewhat problematic) or by assigning one layer to each page. [!long term]
1072 1072 * [*groff]: the most important output backend, rivalling [*html]. will allow the document to be typeset in a wide variety of formats, including PDF and manpage. [!in progress]
1073 1073 * [*gemtext]: essentially a downrezzing of cortav to make it readable to Gemini clients
1074 1074 * [*ast]: produces a human- and/or machine-readable dump of the document's syntax tree, to aid in debugging or for interoperation with systems that do not support `cortav` direcly. mode [`ast:repr] wil allow selecting formats for the dump. [`ast:rel] can be [`tree] (the default) to emit a hierarchical representation, or [`flat] to emit an array of nodes that convey hierarchy [^flatdoc by naming one another], rather than being placed inside one another. [`tree] is easier for humans to parse; [`flat] is easier for computers. origin information can be included for each node with the flag [`ast:debug-syms], but be aware this will greatly increase file size.
1075 1075 ** [`tabtree] [!(default)]: a hierarchical tree view, with the number of tabs preceding an item showing its depth in the tree
1076 1076 ** [`sexp]
1077 -** [`binary]: emit a raw binary format that is easier for programs to read. maybe an lmdb or cdb file?
1077 +** [`binary]: emit a raw binary format that is easier for programs to read. maybe a msgpack file?
1078 1078 ** [`json]: obligatory, alas
1079 1079
1080 1080 flatdoc: ~~~flat sexp example output [scheme]~~~
1081 1081 (nodes
1082 1082 (section (id . "section1")
1083 1083 (anchor "introduction")
1084 1084 (kind . "ordinary")