%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
