Конфигурация
Параметры темы
| Вариант | По умолчанию | Описание |
|---|---|---|
logo | null | Изображение отображается рядом с названием сайта относительно docs_dir. |
favicon | img/favicon.svg | Значок сайта. |
icon | octicons | Набор значков для управления темой: octicons или lucide. |
font.text | null | Значение семейства шрифтов CSS для интерфейса и текста. |
font.code | null | Значение семейства шрифтов CSS для встроенного и блочного кода. |
font.source | null | URL-адрес внешней таблицы стилей или локальной таблицы стилей в docs_dir. |
direction | ltr | Направление документа: ltr или rtl. |
include_sidebar | true | Отобразите боковую панель навигации. |
show_footer | true | Отобразите нижний колонтитул «Улучшите эту страницу». |
toc | auto | Оглавление «На этой странице»: auto, expanded, collapsed или hidden. |
color_mode | auto | Исходный цветовой режим: auto, light или dark. |
light_theme | light | Тема Primer используется в облегченном режиме. |
dark_theme | dark | Тема Primer используется в темном режиме. |
color_mode устанавливает только начальный режим. Посетители могут изменить его с помощью заголовка переключиться, и их выбор сохраняется в localStorage.
toc определяет, куда попадёт оглавление, построенное из заголовков страницы. auto кладёт его в правую колонку, если окну хватает ширины на третий столбец, и под заголовок страницы, если нет, — там он раскрывается по нажатию, а не стоит списком между заголовком и первым абзацем. expanded держит его в потоке и не пускает в колонку, collapsed превращает в раскрываемый блок, а hidden — или false — убирает совсем.
Иконки
Навигация по заголовку, управление цветовым режимом и кнопка возврата вверх используют встроенный SVG. из одного набора иконок. octicons — значение по умолчанию; выбрать значки Люцида с:
theme:
name: primer
icon: lucide
Оба набора включены в тему, поэтому ни один из вариантов не добавляет запрос CDN. Значок выбор применяется только к HTML-элементам управления темы. Выбор языка всегда использует глобус Octicon. Синтаксис значков Markdown и произвольные сторонние пакеты значков намеренно не поддерживаются.
Шрифты
Шрифты не являются обязательными: тема по умолчанию не запрашивает CDN шрифтов. Установите текст и кодируйте семейства независимо, затем укажите source на внешнюю таблицу стилей. или файл CSS в docs_dir:
theme:
name: primer
font:
text: 'Inter, sans-serif'
code: '"JetBrains Mono", monospace'
source: https://fonts.googleapis.com/css2?family=Inter:wght@400;600&family=JetBrains+Mono&display=swap
Для самостоятельного сайта поместите файлы шрифтов и таблицу стилей в docs_dir, затем используйте относительный исходный путь:
theme:
name: primer
font:
text: 'Atkinson Hyperlegible, sans-serif'
code: 'Atkinson Hyperlegible Mono, monospace'
source: fonts/fonts.css
@font-face {
font-family: "Atkinson Hyperlegible";
src: url("AtkinsonHyperlegible-Regular.woff2") format("woff2");
font-display: swap;
}
Браузер обычно кэширует эти файлы. Самостоятельный хостинг позволяет избежать стороннего запросить и сохранить возможность использования сайта в автономном режиме после кэширования его ресурсов.
Макеты справа налево
Установите direction: rtl для документа с письмом справа налево. В теме ставится dir="rtl" в корневом элементе HTML и отражает его заголовок, боковую панель, мобильную навигацию, нумерация страниц, нижний колонтитул, меню и элементы управления с логическими свойствами CSS. Код и диаграммы намеренно остаются слева направо.
theme:
name: primer
direction: rtl
Направление — это настройка для всего сайта; тема не выводит это из страницы или языковая локаль.
!!! предупреждение «light_theme и dark_theme в настоящее время принимают только light и dark» Primer публикует четырнадцать тем (dark_dimmed, light_high_contrast, dark_tritanopia и т. д.), но в этой теме жетоны цвета поставляются только для двух их — полный набор добавит более мегабайта CSS. Именование любой другой темы отображает страницу вообще без цветов, а не с ошибкой. Поддержка большего количества тем отслеживается как будущее дополнение.
Привязки заголовков
Чтобы разместить привязку GitHub рядом с каждым заголовком, включите расширение toc с помощью ведущая постоянная ссылка, содержащая класс Primer anchor:
markdown_extensions:
- toc:
permalink: ""
permalink_class: anchor
permalink_leading: true
permalink_title: Permanent link
Тема сама рисует октикон, поэтому для permalink задана пустая строка. чем обычный true. Это важно не только для внешнего вида: поисковый плагин MkDocs этого не делает. удалите глифы постоянных ссылок, чтобы в противном случае в результатах поиска отображался ¶.
Без этой конфигурации постоянная ссылка по-прежнему работает, она просто отображается как простой глиф. чем октикон.
Подсветка синтаксиса
Цвета кода берутся из переменных prettylights Primer, поэтому они следуют за активными. цветовой режим автоматически. Стиль No Pygments выбирать не нужно:
markdown_extensions:
- pymdownx.highlight
- pymdownx.superfences
Обе оболочки .highlight и .codehilite имеют стили, поэтому codehilite тоже работает.
Тема добавляет кнопку копирования в каждый блок Pygments .highlight. Он копирует видимый источник и сообщает, была ли операция буфера обмена успешной. Блоки визуализируемые плагинами, такими как Mermaid и Vega-Lite, намеренно исключены.
Элементы управления навигацией
После прокрутки на 400 пикселей в правом нижнем углу появляется кнопка возврата наверх. страницы. Он возвращает посетителя в начало документа и перемещает Фокус клавиатуры на ссылке в названии сайта. Движение происходит мгновенно, когда посетитель попросил уменьшить движение.
Расширения Markdown
Ничего из этого не требуется, но тема имеет стиль, который окупается только один раз. они на:
markdown_extensions:
- admonition # !!! note blocks, colored with Primer's alert palette
- def_list
- footnotes
- tables
- pymdownx.highlight
- pymdownx.superfences
- pymdownx.tilde
admonition заслуживает внимания: расширение генерирует разметку и не использует CSS. сам по себе, и @primer/css не имеет для него никаких правил, поэтому нестилизованный увещевание – обычная неожиданность. Тема восполняет этот пробел — см. примеры.
Пользовательский CSS и JavaScript
extra_css загружается после каждой таблицы стилей, поставляемой в теме, поэтому ваши правила выигрывают. без необходимости !important:
extra_css:
- css/overrides.css
extra_javascript:
- js/site.js
# MkDocs 1.5+ also takes the mapping form.
- path: js/chart.js
type: module
Styling рассказывает, что в неё писать: собственные переменные раскладки темы и почему переопределение цветового токена Primer в :root отбрасывается, а то же правило под двумя селекторами атрибутов срабатывает.
extra_javascript генерируется в конце <body>, после собственного имени темы. сценарии.
!!! обратите внимание: «Плагины, которые внедряют свои собственные ресурсы» Плагин, который записывает теги <link> в HTML страницы, а не добавляет их в extra_css — mkdocs-glightbox — один из них — появляется после ваших переопределений. Стиль те, у кого более конкретный селектор, а не полагающиеся на порядок.
Редактировать ссылки
Нижний колонтитул ссылается на исходный файл, если установлены repo_url и edit_uri:
repo_url: https://github.com/you/your-project
edit_uri: edit/main/docs/