Your company here ā€” click to reach over 10,000 unique daily visitors

discount-theme - Man Page

create a web page from a template file


theme[-C option-flags] [-c options] [-d root] [-E] [-f] [-o file] [-p pagename] [-t template] [-V] [textfile]


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 body?> or <?theme toc?> in the <head> section, or <?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.

Return Values

The theme utility exits 0 on success, and >0 if an error occurs.

See Also

markdown(1), markdown(3), markdown(7), mkd-extensions(7).


David Parsons (orc@pell.portland.or.us)


January 23, 2008