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

Стиль оформления страниц заметок представляет собой директорию, в которой обязательно должен быть файл __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 могут обновляться не сразу.

См. также:

- Стили страниц