%D \module %D [ file=x-markdown, %D version=2011.07.19, %D title=\CONTEXT\ Modules, %D subtitle=Processing MarkDown, %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. \writestatus{loading}{ConTeXt Modules / MarkDown Renderer} %D This module deals with markdown which is a document encoding that %D some \CONTEXT\ like much. It reminds me of the kind of minimal coding %D we used before we ran into \TEX\ and were using a somewhat simple %D rendering (pagination, etc) of documents. As I'm no user myself, it %D is up to others to provide documentation and examples. \registerctxluafile{m-markdown}{} \unprotect % basic interface \definebuffer[markdown] \unexpanded\def\stopmarkdown {\ctxlua{moduledata.markdown.typesetbuffer("\thedefinedbuffer{markdown}")}} \unexpanded\def\processmarkdownfile#1% maybe [] or both {\ctxlua{moduledata.markdown.typesetfile("#1")}} \unexpanded\def\markdown#1% maybe [] or both {\ctxlua{moduledata.markdown.typesetstring(\!!bs#1\!!es)}} % commands \defineitemgroup [markdownitemize] \definetyping [markdowntyping] \definetype [markdowntype] \definetype [markdowninlinehtml] \definetyping [markdowndisplayhtml] \definedelimitedtext [markdownblockquote] [quotation] \definehighlight [markdownemphasis] [style=\em] \definehighlight [markdownstrong] [style=\bf] \definestructurelevels [markdown] [\v!chapter, \v!section, \v!subsection, \v!subsubsection, \v!subsubsubsection, \v!subsubsubsubsection] \unexpanded\def\markdownrule {\hairline\par} \protect \continueifinputfile{m-markdown.mkiv} \starttext \startmarkdown % some examples needed \stopmarkdown \stoptext