Настройка
Темы
Встроенные палитры, свои темы YAML, наследование и примеры оформления.
Выбор темы
Встроенные темы: terminal, solarized-dark, nord, tokyonight, kanagawa, gruvbox, monokai, material-ocean, catppuccin.
По умолчанию используется terminal. Код следует палитре документа, если другая палитра не выбрана через --code-theme. --theme-info показывает активные цвета; при переданном имени файла также отображает документ.
Палитра документа
mdv --no-config --theme terminal --cols 64 example.mdПример
Читайте Markdown через `mdv`.
╭─ Note ────────────────────────╮
│ Пример документа в терминале. │
╰───────────────────────────────╯
fn main() {
println!("hello, mdv");
}
Откройте руководство.
Исходный Markdown
# Пример
Читайте **Markdown** через `mdv`.
> [!NOTE]
> Пример документа в терминале.
```rust
fn main() {
println!("hello, mdv");
}
```
Откройте [руководство](https://example.org/guide).
Отдельная палитра кода
mdv --no-config --theme catppuccin --cols 64 --code-theme terminal example.md fn main() {
println!("hello, mdv");
}
Исходный Markdown
```rust
fn main() {
println!("hello, mdv");
}
```
Пользовательские темы
Положите один или несколько файлов *.yaml/*.yml в каталог <config_dir>/themes/, чтобы зарегистрировать собственные темы. Каталог ищется в том же порядке, что и config.yaml (флаг --config-file, переменная MDV_CONFIG_PATH, затем пользовательский каталог настроек ОС). В репозитории есть два готовых примера:
docs/examples/themes/theme-warm.yaml- используетextends: monokaiи переопределяет лишь несколько полей.docs/examples/themes/theme-custom.yaml- пример самостоятельной палитры.
# <config_dir>/themes/warm.yaml
name: warm
description: Тёплый красный акцент поверх monokai.
extends: monokai
pager:
transparent: true
h1: "#ff5577"
link: "#66ccff"
background: "#1c1c1c"
inline_style:
code:
backticks: false
underline: true
syntax:
keyword: "#ff5577"Основные поля файла темы:
name(обязательно) - значение, принимаемое параметром--theme.description(необязательно) - описание дляmdv --theme-info; наследуется от базовой темы.extends(необязательно) - встроенная тема или пользовательская тема, загруженная раньше по алфавиту. Без него пропущенные поля наследуются отterminal.pager- цвета нижней панели, прозрачность, выделение и подсветка поиска во встроенном pager.inline_style- начертания строчных элементов Markdown; цвета задаются в соответствующих цветовых секциях.
Цвета наследуются по отдельным полям.
- Явный
nullочищает унаследованное необязательное переопределение цвета рамки или фона;resetиспользует цвет терминала по умолчанию. - Полная схема и особые случаи описаны в справочнике полей и правилах наследования.
- Все поля можно посмотреть в файлах встроенных тем, а палитру по умолчанию - в terminal.yaml.
Пользовательская тема с тем же именем, что и встроенная, имеет приоритет и полностью её заменяет - это поддерживаемый способ сделать форк встроенной темы, не копируя каждое поле. Нечитаемые или повреждённые файлы пропускаются с предупреждением, поэтому одна битая тема не ломает остальные.