Настройка

Пресеты

Встроенные наборы настроек, свои пресеты и частичные переопределения.

Встроенные и пользовательские пресеты

В mdv встроены четыре пресета:

  • reader - перенос по словам, переформатирование абзацев, прикреплённые сноски, инлайн-таблица ссылок и тема nord для чтения длинных текстов.
  • compact - плоские заголовки, простые блоки кода и callout, скрытые подписи кода и ссылки в конце документа для плотного вывода в терминале.
  • pretty - рамки для таблиц и блоков кода, иконки списков и чекбоксов. Для иконок требуется Nerd Font.
  • showcase - центрированные заголовки, тема tokyonight, расширенные рамки кода и callout, чекбоксы и иконки списков. Для иконок требуется Nerd Font.

Выберите пресет командой mdv --preset reader README.md. Явные параметры CLI имеют приоритет: например, mdv --preset compact --cols 100 README.md применит пресет compact с шириной 100 столбцов.

Пользовательские пресеты - это файлы *.yaml или *.yml в каталоге <config_dir>/presets/. Каталог определяется в том же порядке, что и config.yaml: --config-file, MDV_CONFIG_PATH, затем пользовательский каталог настроек ОС. Он необязателен, а --no-config не отключает его.

# <config_dir>/presets/project-docs.yaml
name: project-docs
theme: monokai
wrap: word
reflow: true
table_wrap: wrap
link_style: inlinetable
inline_style:
  code:
    backticks: false

В пресете доступны те же ключи и значения, что и в docs/examples/config.yaml, а также обязательное непустое поле name.

  • Пресеты являются частичными слоями: пропущенные настройки остаются без изменений, а явно заданные значения - включая false, значения по умолчанию и null - переопределяют нижележащую конфигурацию.
  • Пользовательский пресет с именем встроенного заменяет его.
  • Команда mdv --preset-info выводит активный каталог.
  • Если одновременно переданы файл и пресет, mdv --preset-info FILE --preset NAME рендерит файл со строкой Current preset: NAME; без --preset этот флаг не меняет рендеринг файла.

Пресеты чтения

mdv --no-config --cols 64 example.md
Вывод mdvВерсия 6.1.1
Пример
 
 Читайте Markdown через `mdv`.
 
 ╭─ Note ────────────────────────╮
 │ Пример документа в терминале. │
 ╰───────────────────────────────╯
 
   fn main() {
       println!("hello, mdv");
   }
 
 Откройте руководство.
Исходный Markdown
# Пример

Читайте **Markdown** через `mdv`.

> [!NOTE]
> Пример документа в терминале.

```rust
fn main() {
    println!("hello, mdv");
}
```

Откройте [руководство](https://example.org/guide).