History
If Kondo seems a bit odd, it's because it is trying to replace (without breaking any old content) the following three legacy systems:
-
The original renderer took
.ucc
files that contained plain HTML. When Kondo was implemented it was found in/cgi-bin/ucc-parser.0
and was a Python script that:- Searched for
.conf
from the root up to the directory containing the.ucc
. - Read these .conf files, which simply contained "key = value" lines.
- Used the "template" setting to find a .template file.
- Used the Python
%
operator with the template on the left and the.conf
variables (plus a "content" variable containing the HTML) on the right. If you find.template
files with Python%(content)s
variable substitutions or.conf
files they likely belong to this system.
- Searched for
-
The
DOCTYPE grahame
renderer was a shell script (found at/cgi-bin/ucc-parser
) that rangrep
on the.ucc
looking forDOCTYPE grahame
. If it found it, the page was rendered with an XSLT processor using an.xsl
stylesheet. If it didn't find theDOCTYPE
, it called/cgi-bin/ucc-parser.0
. A large number of old documents are still in this format. There were some terse notes in the original README. -
A Markdown renderer was then also introduced into
/cgi-bin/ucc-parser
, triggered by the presence of@markdown
. It called a Rust binary,/cgi-bin/ucc-markdown
, which—impressively—outputDOCTYPE grahame
XML to then run through the same XSLT stylesheet. It included the following directives:@markdown
,@title
,@banner
,@style
,@page
, and@body
, which are supported by Kondo.@--
,@include
, and@exec
, which could be anywhere in the document and aren't supported in Kondo to save a bit of processing time.@nocache
, which will probably be supported once Kondo supports WSGI.
There were additional notes in the old /markdown.ucc.
These three renderers, nested inside of each other like rings of an ancient tree, did not spark joy.
Deprecated Formats
In old documents you may see one of the following directives:
@markdown
Or:
@grahame
Or even one or more of:
@github
@github-full
@ready-for-kondo
They no longer do anything at all, and you can safely remove them from any document.
Also, if you're editing old documents, you may see a @html
directive, marking the file as containing only regular HTML:
@html
<p>Hello, world!</p>
You should avoid writing new documents in HTML. Where a part of the page can't be expressed in Markdown, Markdown allows the use of HTML tags.