Перейти к содержанию

Шпаргалка Markdown

На каждой вкладке «Как пишется» — исходный текст, «Как выглядит» — результат. Исходник этой страницы лежит в docs/cheatsheets/markdown.md: откройте его и сравните с тем, что видите в браузере.

Заголовки

Количество # — уровень заголовка. После # обязательно пробел.

# Заголовок страницы (один на страницу)
## Раздел
### Подраздел

Заголовки ## и ### автоматически попадают в оглавление справа.

Абзацы и переносы

Первая строка
продолжает тот же абзац.

Пустая строка начинает новый абзац.

Первая строка продолжает тот же абзац.

Пустая строка начинает новый абзац.

Главное правило

Один перенос строки ничего не делает, абзацы разделяются пустой строкой. Пустые строки также нужны вокруг списков, таблиц и блоков кода.

Выделение текста

**жирный**, *курсив*, `show bgp summary` — команда в тексте

жирный, курсив, show bgp summary — команда в тексте

Списки

- eBGP
- iBGP
    - route reflector
    - confederation

1. Настроить интерфейс
2. Настроить BGP
3. Проверить сессию
  • eBGP
  • iBGP

    • route reflector
    • confederation
  • Настроить интерфейс

  • Настроить BGP
  • Проверить сессию

Вложенные списки — 4 пробела

В MkDocs вложенный пункт сдвигается ровно на 4 пробела. С двумя пробелами вложенность не сработает.

Ссылки и картинки

[Заметка про VRRP](../protocols/vrrp.md)
[RFC 4271 — BGP-4](https://www.rfc-editor.org/rfc/rfc4271)

![Схема сети](../img/topology.png)

Заметка про VRRP

RFC 4271 — BGP-4

(картинка появится, когда положите файл в docs/img/)

  • Ссылка на свою заметку — путь к .md-файлу относительно текущего файла. ../ означает «подняться на папку выше».
  • Картинка — то же самое, что ссылка, но с ! в начале.

Блоки кода и конфигов

Самое важное для заметок. Конфиг обрамляется тремя обратными кавычками (клавиша Ё в английской раскладке). После кавычек можно указать язык для подсветки.

```
set protocols bgp group Customers neighbor 192.0.2.1 peer-as 64501
```

```python
vlan = 100
print(f"set interfaces ae0 unit {vlan} vlan-id {vlan}")
```
set protocols bgp group Customers neighbor 192.0.2.1 peer-as 64501
vlan = 100
print(f"set interfaces ae0 unit {vlan} vlan-id {vlan}")

Внутри блока кода Markdown не действует: ** и # останутся как есть. Поэтому любые конфиги и выводы команд кладите только в такие блоки.

Таблицы

| Протокол | Порт | Транспорт |
|---|---|---|
| BGP | 179 | TCP |
| LDP | 646 | TCP/UDP |
| VRRP | — | IP proto 112 |
Протокол Порт Транспорт
BGP 179 TCP
LDP 646 TCP/UDP
VRRP — IP proto 112

Вторая строка |---|---| обязательна, она отделяет шапку. Ровнять столбцы пробелами не нужно. Если в ячейке нужна вертикальная черта (например show | match), пишите её как \|.

Цитата и разделитель

> Из RFC: speaker MUST NOT advertise...

---

Из RFC: speaker MUST NOT advertise...


Возможности MkDocs Material

Этого нет в обычном Markdown, это расширения нашей темы (они включены в mkdocs.yml, раздел markdown_extensions). Содержимое внутри сдвигается на 4 пробела.

Плашки (admonitions)

!!! note "Заметка"
    Обычное пояснение.

!!! tip "Совет"
    Используйте commit confirmed.

!!! warning "Осторожно"
    Эта команда сбросит BGP-сессию.

!!! danger "Опасно"
    Не выполнять в рабочее время.

Заметка

Обычное пояснение.

Совет

Используйте commit confirmed.

Осторожно

Эта команда сбросит BGP-сессию.

Опасно

Не выполнять в рабочее время.

Сворачиваемый блок

Удобно для длинных выводов команд: ??? вместо !!!.

??? note "Полный вывод show bgp summary"
    Здесь длинный вывод...
Полный вывод show bgp summary

Здесь длинный вывод...

Вкладки

Как на этой странице — например, один и тот же сервис на разных вендорах.

=== "Junos"

    ```
    show bgp summary
    ```

=== "Cisco"

    ```
    show ip bgp summary
    ```
show bgp summary
show ip bgp summary