mdv 2.0.0

Terminal Markdown Viewer
Documentation
<h1 align="center">πŸ—’οΈmdv</h1>
<p align="center">
  <b>Быстрый ΠΈ настраиваСмый просмотрщик Markdown для Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°</b><br>
  <i>ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΠΉΡ‚Π΅, настраивайтС ΠΈ отслСТивайтС Markdown, Π½Π΅ покидая ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку</i>
</p>

> [!TIP]
> **English version:** [README.md](README.md)

> [!NOTE]
> mdv β€” Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Π°Ρ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° для Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° Markdown Π² ANSI-совмСстимых Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°Ρ…. Π’ Π΅Ρ‘ арсСналС:
>
> - **Π Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ для Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°** β€” ΠŸΠΎΠ΄ΡΠ²Π΅Ρ‚ΠΊΠ° синтаксиса, ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ HTML-Π²Ρ‹Π²ΠΎΠ΄ ΠΈ аккуратная Ρ€Π°Π±ΠΎΡ‚Π° с ΠΈΠ½Π»Π°ΠΉΠ½ΠΎΠ²Ρ‹ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.
> - **Π“ΠΈΠ±ΠΊΠΈΠ΅ схСмы вСрстки** β€” УправляйтС ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ, стратСгиСй пСрСноса, отступами Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Ρ‚Π°Π±Π»ΠΈΡ† ΠΏΠΎΠ΄ ваш Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π».
> - **ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ ссылок** β€” ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ΡΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠΊΠ°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ, ΠΈΠ½Π»Π°ΠΉΠ½- ΠΈ Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ссылками, Π²Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΎΠ±Ρ€Π΅Π·ΠΊΠΈ Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… URL.
> - **Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ΅ Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅** β€” ВстроСнныС ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρ‹ ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ пСрСопрСдСлСния Ρ†Π²Π΅Ρ‚ΠΎΠ² интСрфСйса ΠΈ подсвСтки ΠΊΠΎΠ΄Π°.
> - **Π–ΠΈΠ²ΠΎΠΉ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³** β€” Π‘Π»Π΅Π΄ΠΈΡ‚Π΅ Π·Π° Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ с `--monitor`, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ обновлСния сразу послС сохранСния.
> - **CLI, ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ для скриптов** β€” Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ· stdin, ΠΏΡ€Ρ‹ΠΆΠΊΠΈ ΠΊ Ρ€Π°Π·Π΄Π΅Π»Π°ΠΌ Ρ‡Π΅Ρ€Π΅Π· `--from`, пСрСнос ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ машинами.

> [!IMPORTANT]
>
> ### ВрСбования
>
> - УстановлСнный Rust
> - Π’Π΅Ρ€ΠΌΠΈΠ½Π°Π» с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ANSI-Ρ†Π²Π΅Ρ‚ΠΎΠ² для ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ³ΠΎ отобраТСния

<div style="text-align: center;">
  <img src="docs/images/overview.webp" alt="Overview" width="900px">
</div>

## Установка

### Установка с crates.io

```bash
cargo install mdv
```

Π’Π°ΠΊ Π²Ρ‹ установитС послСднюю ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΈΠ· crates.io Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊΠΎΠ² Cargo.

### Установка ΠΈΠ· исходников

```bash
git clone https://github.com/WhoSowSee/mdv.git
cd mdv
cargo install --path .
```

Команда собСрёт mdv ΠΈ установит Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Cargo (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ `~/.cargo/bin`).

### Запуск Π±Π΅Π· установки

```bash
cargo build --release
./target/release/mdv README.md
```

МоТно Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊ ΠΈΠ· `target/release` Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ Π½Π΅ΠΌΡƒ Π² `PATH`.

## ИспользованиС

```text
mdv [OPTIONS] [FILE]
```

Π’Π°ΠΊΠΆΠ΅, mdv ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ· стандартного Π²Π²ΠΎΠ΄Π° (stdin) ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π°Ρ… (pipe)

```text
mdv [OPTIONS] -
mdv [OPTIONS] | mdv
```

### Π’Ρ‹Π²ΠΎΠ΄ ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс

- `-H, --html` β€” ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ HTML вмСсто Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ форматирования.
- `-A, --no-colors` β€” ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ANSI-стилСй нСзависимо ΠΎΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΡ‹.
- `-C, --hide-comments` β€” скрытиС Markdown-ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² Π² ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠΌ Π²Ρ‹Π²ΠΎΠ΄Π΅.
- `-i, --theme-info [FILE]` β€” ΠΏΠΎΠΊΠ°Π· Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρ‹; ΠΏΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ `FILE` Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ вмСстС со свСдСниями ΠΎ Ρ‚Π΅ΠΌΠ΅.
- `-f, --from <TEXT>` β€” Ρ€Π΅Π½Π΄Π΅Ρ€ начиная с ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки, содСрТащСй `<TEXT>`. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ `:<lines>` ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ число строк (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, `--from "Install:20"`).
- `-r, --reverse` β€” Ρ€Π΅Π½Π΄Π΅Ρ€ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° с ΠΊΠΎΠ½Ρ†Π°, сохраняя Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΎΠ².
- `-m, --monitor` β€” наблюдСниС Π·Π° Ρ„Π°ΠΉΠ»ΠΎΠΌ ΠΈ автоматичСский ΠΏΠ΅Ρ€Π΅Ρ€Π΅Π½Π΄Π΅Ρ€ ΠΏΡ€ΠΈ измСнСниях.
- `-F, --config-file <CONFIG_PATH>` β€” Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ настроСк ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°.
- `-n, --no-config` β€” ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ CLI ΠΈ значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ).

### Π’Π΅ΠΌΡ‹

- `-t, --theme <NAME>` β€” Π²Ρ‹Π±ΠΎΡ€ встроСнной Ρ‚Π΅ΠΌΡ‹ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ `terminal`).
- `-T, --code-theme <NAME>` β€” Π²Ρ‹Π±ΠΎΡ€ ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρ‹ подсвСтки ΠΊΠΎΠ΄Π° (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ `terminal`).
- `-s, --style-code-block <simple|pretty>` β€” ΡΡ‚ΠΈΠ»ΡŒ оформлСния Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π°: одинарная Π³Ρ€Π°Π½ΠΈΡ†Π° ΠΈΠ»ΠΈ Ρ€Π°ΠΌΠΊΠ° (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ `pretty`).
- `-y, --custom-theme <key=value;...>` β€” ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ†Π²Π΅Ρ‚ΠΎΠ² интСрфСйса ΠΏΠΎΠ²Π΅Ρ€Ρ… Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΡ‹.
- `-Y, --custom-code-theme <key=value;...>` β€” ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ†Π²Π΅Ρ‚ΠΎΠ² подсвСтки ΠΊΠΎΠ΄Π° Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΈ `--custom-theme`.

### Π Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° ΠΈ пСрСносы

- `-c, --cols <N>` β€” фиксированная ΡˆΠΈΡ€ΠΈΠ½Π° Π²Ρ‹Π²ΠΎΠ΄Π°. Если Π½Π΅ Π·Π°Π΄Π°Π½Π°, mdv ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡˆΠΈΡ€ΠΈΠ½Ρƒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΈΠ»ΠΈ запасноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 80.
- `-b, --tab-length <N>` β€” Π·Π°ΠΌΠ΅Π½Π° символов табуляции Π½Π° `N` ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ 4).
- `-W, --wrap <char|word|none>` β€” Ρ€Π΅ΠΆΠΈΠΌ пСрСноса тСкста (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ `char`).
- `-w, --table-wrap <fit|wrap|none>` β€” Π»ΠΎΠ³ΠΈΠΊΠ° отобраТСния ΡˆΠΈΡ€ΠΎΠΊΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ† (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ `fit`).
- `-d, --heading-layout <level|center|flat|none>` β€” схСма выравнивания Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ `level`).
- `-I, --smart-indent` β€” сглаТиваниС скачков отступов ΠΌΠ΅ΠΆΠ΄Ρƒ уровнями Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ `level`.

### Π’ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ элСмСнтов

- `-L, --no-code-language` β€” скрытиС подписи языка Π½Π°Π΄ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΠΊΠΎΠ΄Π°, Ссли ΠΎΠ½Π° доступна.
- `-e, --show-empty-elements` β€” ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ пустых списков, Ρ†ΠΈΡ‚Π°Ρ‚ ΠΈ Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ.
- `-g, --no-code-guessing` β€” ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ эвристики опрСдСлСния языка; нСизвСстныС Π±Π»ΠΎΠΊΠΈ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ тСкстом.

### Бсылки

- `-u, --link-style <clickable|fclickable|inline|inlinetable|hide>` β€” способ отобраТСния ссылок (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ `clickable`).
- `-l, --link-truncation <wrap|cut|none>` β€” стратСгия укорочСния Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… ссылок (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ `wrap`).

### Бправочная информация

- `-h, --help` β€” Π²Ρ‹Π²ΠΎΠ΄ справки.
- `-V, --version` β€” ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ вСрсии.

## ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ

mdv ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ настройки ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… источников Π² порядкС ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π°:

1. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки (ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚).
2. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ окруТСния `MDV_CONFIG_PATH` ΠΈΠ»ΠΈ Ρ„Π»Π°Π³ `--config-file`.
3. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² `~/.config/mdv/` (`~\.config\mdv\` Π² Windows).

Π€Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ YAML (`.yaml` ΠΈΠ»ΠΈ `.yml`). Π’ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ `docs/examples/config.yaml` располоТСн ΠΏΠΎΠ»Π½Ρ‹ΠΉ шаблон с коммСнтариями:

```yaml
# docs/examples/config.yaml
theme: "monokai"
code_theme: "monokai"
wrap: "char"
table_wrap: "fit"
heading_layout: "level"
smart_indent: true
link_style: "inlinetable"
link_truncation: "wrap"
```

## ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния

- `MDV_CONFIG_PATH` β€” кастомный ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ.
- `MDV_NO_COLOR` β€” ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ `True` ΠΈΠ»ΠΈ `False` ΠΈ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ†Π²Π΅Ρ‚Π° нСзависимо ΠΎΡ‚ Ρ‚Π΅ΠΌΡ‹ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² CLI.

## Π’Π΅ΠΌΡ‹

Доступны встроСнныС Ρ‚Π΅ΠΌΡ‹:

<details>
  <summary><code>terminal</code></summary>

  <div style="text-align: center;">
    <img src="docs/images/theme_terminal_1.webp" alt="Theme Terminal preview" width="900px">
  </div>
  <div style="text-align: center;">
    <img src="docs/images/theme_terminal_2.webp" alt="Theme Terminal preview" width="900px">
  </div>
  <div style="text-align: center;">
    <img src="docs/images/theme_terminal_3.webp" alt="Theme Terminal preview" width="900px">
  </div>
</details>

<details>
  <summary><code>monokai</code></summary>

  <div style="text-align: center;">
    <img src="docs/images/theme_monokai_1.webp" alt="Theme Monokai preview" width="900px">
  </div>
  <div style="text-align: center;">
    <img src="docs/images/theme_monokai_2.webp" alt="Theme Monokai preview" width="900px">
  </div>
  <div style="text-align: center;">
    <img src="docs/images/theme_monokai_3.webp" alt="Theme Monokai preview" width="900px">
  </div>
</details>

<details>
  <summary><code>solarized-dark</code></summary>

  <div style="text-align: center;">
    <img src="docs/images/theme_solarized-dark_1.webp" alt="Theme Solarized Dark preview" width="900px">
  </div>
  <div style="text-align: center;">
    <img src="docs/images/theme_solarized-dark_2.webp" alt="Theme Solarized Dark preview" width="900px">
  </div>
  <div style="text-align: center;">
    <img src="docs/images/theme_solarized-dark_3.webp" alt="Theme Solarized Dark preview" width="900px">
  </div>
</details>

<details>
  <summary><code>nord</code></summary>

  <div style="text-align: center;">
    <img src="docs/images/theme_nord_1.webp" alt="Theme Nord preview" width="900px">
  </div>
  <div style="text-align: center;">
    <img src="docs/images/theme_nord_2.webp" alt="Theme Nord preview" width="900px">
  </div>
  <div style="text-align: center;">
    <img src="docs/images/theme_nord_3.webp" alt="Theme Nord preview" width="900px">
  </div>
</details>

<details>
  <summary><code>tokyonight</code></summary>

  <div style="text-align: center;">
    <img src="docs/images/theme_tokyonight_1.webp" alt="Theme Tokyonight preview" width="900px">
  </div>
  <div style="text-align: center;">
    <img src="docs/images/theme_tokyonight_2.webp" alt="Theme Tokyonight preview" width="900px">
  </div>
  <div style="text-align: center;">
    <img src="docs/images/theme_tokyonight_3.webp" alt="Theme Tokyonight preview" width="900px">
  </div>
</details>

<details>
  <summary><code>kanagawa</code></summary>

  <div style="text-align: center;">
    <img src="docs/images/theme_kanagawa_1.webp" alt="Theme Kanagawa preview" width="900px">
  </div>
  <div style="text-align: center;">
    <img src="docs/images/theme_kanagawa_2.webp" alt="Theme Kanagawa preview" width="900px">
  </div>
  <div style="text-align: center;">
    <img src="docs/images/theme_kanagawa_3.webp" alt="Theme Kanagawa preview" width="900px">
  </div>
</details>

<details>
  <summary><code>gruvbox</code></summary>

  <div style="text-align: center;">
    <img src="docs/images/theme_gruvbox_1.webp" alt="Theme Gruvbox preview" width="900px">
  </div>
  <div style="text-align: center;">
    <img src="docs/images/theme_gruvbox_2.webp" alt="Theme Gruvbox preview" width="900px">
  </div>
  <div style="text-align: center;">
    <img src="docs/images/theme_gruvbox_3.webp" alt="Theme Gruvbox preview" width="900px">
  </div>
</details>

<details>
  <summary><code>material-ocean</code></summary>

  <div style="text-align: center;">
    <img src="docs/images/theme_material-ocean_1.webp" alt="Theme Material Ocean preview" width="900px">
  </div>
  <div style="text-align: center;">
    <img src="docs/images/theme_material-ocean_2.webp" alt="Theme Material Ocean preview" width="900px">
  </div>
  <div style="text-align: center;">
    <img src="docs/images/theme_material-ocean_3.webp" alt="Theme Material Ocean preview" width="900px">
  </div>
</details>

<details>
  <summary><code>catppucin</code></summary>

  <div style="text-align: center;">
    <img src="docs/images/theme_catppucin_1.webp" alt="Theme Catppucin preview" width="900px">
  </div>
  <div style="text-align: center;">
    <img src="docs/images/theme_catppucin_2.webp" alt="Theme Catppucin preview" width="900px">
  </div>
  <div style="text-align: center;">
    <img src="docs/images/theme_catppucin_3.webp" alt="Theme Catppucin preview" width="900px">
  </div>
</details>

Π’Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ ΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ `--theme` ΠΈΠ»ΠΈ Π·Π°Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Для Ρ‚ΠΎΡ‡Π½ΠΎΠΉ настройки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ `--custom-theme` ΠΈ `--custom-code-theme`. ΠŸΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ `ΠΊΠ»ΡŽΡ‡=Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅`, ΠΏΠ°Ρ€Ρ‹ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ с запятой. ΠšΠ»ΡŽΡ‡ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ полям ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρ‹ (`text`, `h1`, `border`, `keyword`, `function` ΠΈ Ρ‚.Π΄.). ЗначСния ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ `#rrggbb`, `r,g,b`, ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ†Π²Π΅Ρ‚Π° ANSI (`red`, `darkgrey`) ΠΈ индСксы 256-Ρ†Π²Π΅Ρ‚Π½ΠΎΠΉ ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρ‹ (`ansi(42)`).

Команда `mdv --theme-info` ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½ΡƒΡŽ ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρƒ; Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡƒΡ‚ΠΈ (`mdv --theme-info README.md`) позволяСт ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ Ρ†Π²Π΅Ρ‚Π° ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρƒ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ `examples/config.yaml` ΠΊΠ°ΠΊ ΠΎΡ‚ΠΏΡ€Π°Π²Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ для своих Ρ‚Π΅ΠΌ ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚Π΅ настройки Π² систСмС контроля вСрсий.

## Π˜ΡΡ‚ΠΎΡ€ΠΈΡ Π·Π²Ρ‘Π·Π΄

[![Π˜ΡΡ‚ΠΎΡ€ΠΈΡ Π·Π²Ρ‘Π·Π΄](https://api.star-history.com/svg?repos=WhoSowSee/mdv&type=Date)](https://star-history.com/#WhoSowSee/mdv&Date)

## ЛицСнзия

ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ‚ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT. Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с Ρ„Π°ΠΉΠ»ΠΎΠΌ [LICENSE](LICENSE)