Блоки кода

Ограждённые блоки

Три обратные кавычки, язык после открывающей ограды:

```python
def collatz(n: int) -> int:
    return n // 2 if n % 2 == 0 else 3 * n + 1
```
def collatz(n: int) -> int:
    return n // 2 if n % 2 == 0 else 3 * n + 1

Подсветка следует светлой или тёмной теме читателя. Все распространённые языки распознаются по обычным идентификаторам (python, js, ts, rust, cpp, haskell, r, julia, latex, sql, bash, json, yaml, ...). Неизвестный или пропущенный язык рендерится простым текстом – ошибок не бывает.

Тильды (~~~) работают как альтернативная ограда. Чтобы показать блок кода внутри блока кода (как в этом руководстве), у внешней ограды должно быть больше обратных кавычек, чем у внутренней.

Заголовки блоков

Имя файла или подпись добавляются после языка через двоеточие:

```python:collatz.py
def collatz(n: int) -> int:
    return n // 2 if n % 2 == 0 else 3 * n + 1
```
collatz.py
def collatz(n: int) -> int:
    return n // 2 if n % 2 == 0 else 3 * n + 1

Строчный код

Обратные кавычки внутри предложения: `f(x)` рендерится как f(x). Внутри ничто не интерпретируется – ни математика, ни выделение, ни директивы, – поэтому строчный код заодно служит способом показать синтаксис буквально.

Если фрагмент сам содержит обратную кавычку, разделителем служат две обратные кавычки: ``слово в `кавычках``.

Строчный код – для идентификаторов, имён файлов, команд и коротких выражений в тексте. Для математической нотации лучше математика: $O(n \log n)$ читается лучше, чем O(n log n).

Чем блоки кода не являются

  • Блок кода только отображается; никакого выполнения нет.
  • Для LaTeX/TikZ, который должен отрендериться диаграммой, есть блок TikZ; блок ```latex просто показывает подсвеченный исходник.
  • Чтобы сгруппировать альтернативные версии фрагмента (один алгоритм на двух языках), есть вкладки.