The theme utility takes a markdown(7)-formatted
textfile (or stdin if not specified,) compiles it, and combines it with a template (
page.theme by default) to produce a web page. If a path to the template is not specified, theme looks for
page.theme in the current directory, then each parent directory up to the
document root (set with -d or, if unset, the root directory of the system.) If
page.theme is found, theme copies it to the output, looking for <?theme action?> html tags and processing the embedded action as appropriate.
theme processes the following actions:
Prints the author name(s) from the mkd_doc_author(3) function.
Prints the formatted markdown(7) input file.
Prints the date returned by mkd_doc_date(3) or, if none, the date the input file was last modified.
Prints the directory part of the pagename
Prints the contents of
file. Markdown(7) translation will NOT be done on this file.
The filename part of the pagename.
Print any stylesheets (see mkd-extensions(7)) found in the input file.
Print the title returned by mkd_doc_title(3), or, if that does not exist, the source filename.
Print the version of discount(7) that this copy of theme was compiled with.
If input is coming from a file and the output was not set with the -o option, writes the output to
file-sans-text.html (if) file has a
.text suffix, that will be stripped off and replaced with
.html; otherwise a
.html will be appended to the end of the filename.)
The options are as follows:
- -d root
Set the document root to root
Normally theme will not expand
<?theme toc?>in the
<?theme style?>in the
<body>section, but the -E option overrides this and allows expansions everywhere.
Forcibly overwrite existing html files.
- -o filename
Write the output to filename.
- -p path
Set the pagename to path.
- -t filename
Use filename as the template file.
The theme utility exits 0 on success, and >0 if an error occurs.
markdown(1), markdown(3), markdown(7), mkd-extensions(7).
David Parsons (