summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/mtx-context-markdown.tex
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mkiv/mtx-context-markdown.tex')
-rw-r--r--tex/context/base/mkiv/mtx-context-markdown.tex92
1 files changed, 92 insertions, 0 deletions
diff --git a/tex/context/base/mkiv/mtx-context-markdown.tex b/tex/context/base/mkiv/mtx-context-markdown.tex
new file mode 100644
index 000000000..1bd57945f
--- /dev/null
+++ b/tex/context/base/mkiv/mtx-context-markdown.tex
@@ -0,0 +1,92 @@
+%D \module
+%D [ file=mtx-context-markdown,
+%D version=2011.07.24,
+%D title=\CONTEXT\ Extra Trickry,
+%D subtitle=Rendering Markdown Files,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+% begin help
+%
+% usage: context --extra=markdown [options] list-of-files
+%
+% --sort : sort filenames first
+% --paperoffset=dimension : left-top-offset
+% --duplex : doublesided (singlesided is default)
+% --backspace=dimension : extra left offset
+% --topspace=dimension : extra top offset
+% --bodyfont=specification : additional bodyfont specification
+% --contents : add table of contents
+%
+% end help
+
+\usemodule[markdown]
+
+\doifdocumentargument {paperoffset} {
+ \definepapersize
+ [offset=\getdocumentargument{paperoffset}]
+}
+
+\doifdocumentargument{duplex} {
+ \setuppagenumbering
+ [alternative=doublesided]
+} {
+ \setuppagenumbering
+ [alternative=singlesided]
+}
+
+\setdocumentargumentdefault {textwidth} {middle}
+\setdocumentargumentdefault {backspace} {2cm}
+\setdocumentargumentdefault {topspace} {2cm}
+\setdocumentargumentdefault {bodyfont} {}
+
+\setuptolerance
+ [verytolerant,stretch]
+
+\setuplayout
+ [width=middle,
+ height=middle,
+ backspace=\getdocumentargument{backspace},
+ topspace=\getdocumentargument{topspace},
+ footer=0pt]
+
+\setupbodyfont
+ [dejavu,10pt,\getdocumentargument{bodyfont}]
+
+\setupwhitespace
+ [big]
+
+% \enabletrackers[context.trace]
+
+\setuplist
+ [chapter,section,subsection]
+ [aligntitle=yes,
+ width=4em]
+
+\starttext
+
+\doifdocumentargument{contents} {
+ \starttitle[title={Table of contents}]
+ \placelist[chapter,section,subsection] % todo: levels
+ \stoptitle
+}
+
+
+\startluacode
+ if #document.files > 0 then
+ if document.arguments.sort then
+ table.sort(document.files)
+ end
+ for i=1,#document.files do
+ context.processmarkdownfile(document.files[i])
+ context.page()
+ end
+ end
+\stopluacode
+
+\stoptext