Plain Text
Individual documents can be displayed:
$ doorstop publish TST
HTML
The collection of documents can be published as a webpage:
$ doorstop publish all ./dist/
LaTeX
Individual documents or the collection of all documents can be published as a LaTeX-format file that then can be typeset by running pdflatex
on the exported files. To ensure easy compilation of a complete collection with cross-references and generated plantUML diagrams, a compile.sh
-file is automatically created in the export folder.
Example individual document
$ doorstop publish TUT path/to/name_here_is_ignored.tex
building tree...
publishing document TUT to '<...>/path/to/name_here_is_ignored.tex'...
WARNING: LaTeX export does not support custom file names. Change in .doorstop.yml instead.
You can now execute the file 'compile.sh' twice in the exported folder to produce the PDFs!
published: <...>/path/to/name_here_is_ignored.tex
$ cd path/to/
$ . ./compile.sh
This is pdfTeX, Version <Lots of text cut out!>
$ . ./compile.sh
This is pdfTeX, Version <Lots of text cut out!>
Example collection of documents
$ doorstop publish --latex all path/to/
building tree...
loading documents...
publishing tree to '<...>/path/to'...
You can now execute the file 'compile.sh' twice in the exported folder to produce the PDFs!
published: <...>/path/to
$ cd path/to/
$ . ./compile.sh
This is pdfTeX, Version <Lots of text cut out!>
$ . ./compile.sh
This is pdfTeX, Version <Lots of text cut out!>
Additional formats
Or a file can be created using one of the supported extensions:
$ doorstop publish TST path/to/tst.md
publishing TST to path/to/tst.md...
Supported formats:
- Text:
.txt
- Markdown:
.md
- HTML:
.html
- LaTeX:
.tex
Templates
Each output format also has support for templates that can adjust the formatting of the output. Any folder named template
that is placed alongside the .doorstop.yml
configuration file will be copied during the publishing process into the output folder. Note: If multiple documents contain the template
_folder, they will all be copied, although no overwriting is performed.
A command line --template
flag is provided to allow choosing the template by name. By default, both LaTeX and HTML publishing formats require a template! Therefore, doorstop provides standard templates for these formats that will be used automatically if no template name is given during publishing.
The flag is used by providing the name of the template, i.e., --template sidebar
.
HTML templates
HTML template name will instruct the publisher to use the <name>.css
file in the template folder as formatting. E.g., the default HTML template name is sidebar
, which then will publish the HTML documents with the sidebar.css
included in the output.
LaTeX templates
LaTex template name will similarly instruct the publisher to use the <name>.yml
and the <name>.cls
files in the template folder for formatting the output documents.
Due to the rather high complexity of typesetting LaTeX documents, a configuration file <name>.yml
must be provided to allow doorstop to understand how to typeset the output documents as well as a normal LaTeX class template to provide the LaTeX specific formatting.
The default LaTeX template is doorstop
, and is included with doorstop. The doorstop.yml
file is commented to provided guidance on how to write your own LaTeX template.
Assets
In addition to the template
folder, an assets
folder placed next to the
.doorstop.yml
file for a document will also be copied in the same manner to
the output folder. The purpose of the assets
folder is to contain images or
other external artifacts that can be included in the published documents.