Создание стилей

Стиль оформления представляет собой директорию, в которой обязательно должен быть файл __style.html и не обязательная поддиректория __style.
Содержимое __style.html - это обычный HTML-файл в кодировке UTF-8, внутрь которого с помощью специальных макросов подставляется содержимое страницы и некоторые дополнительные параметры, о которых написано ниже. Для примера, так выглядит стиль по умолчанию:

    <html>
    <head>
        <meta http-equiv='content-type' content='text/html; charset=utf-8'/>

        <style type="text/css">
            body, div, p, table {
                font-size:${fontsize}pt;
                font-family:$fontfamily;
            }

            img{border:none}
            $userstyle
        </style>
        $userhead
    </head>

    <body>
    <P>$content</P>
    </body>
    </html>

В файле __style.html содержатся специальные макросы подстановки, которые начинаются с символа "$", за которым идет имя макроса, возможно окруженное фигурными скобками, например: $content или ${content}. Второй случай нужен, если сразу за макросом должен располагаться какой-то текст впритык к нему (без пробелов). На данный момент стили поддерживают следующие макросы подстановки:

- $content - заменяется содержимым страницы.
- $fontsize - размер шрифта, установленного в настройках. Измеряется в пунктах (pt).
- $fontfamily - имя шрифта, установленного в настройках.
- $userstyle - дополнительные стили, которые могут создаваться в процессе разбора викистраниц.
- $userhead - дополнительные теги внутри тега <head>...</head>, которые могут создаваться в процессе разбора викистраниц.

Директория __style является не обязательной. В ней могут располагаться картинки и файлы со стилями CSS. Однако хранить стили CSS в этой директории не желательно, лучше их помещать непосредственно в файл __style.html. В первую очередь это связано с кэшированием стилей при запуске программы под Linux. Если несколько стилей имеют файлы CSS с одинаковыми именами, то при переключении между этими стилями одноименные файлы CSS при рендеринге HTML могут обновляться не сразу.