---
metadata:
  - name: generator
    content: Diplodoc Platform v5.54.3
alternate:
  - https://3y3.dev/en/tools/docs/content.md
  - https://3y3.dev/ru/tools/docs/content.md
  - href: ru/tools/docs/content.md
    type: text/markdown
    title: Markdown version
  - href: ../../llms.txt
    type: text/markdown
    title: llms.txt
updatedAt: '2026-07-07T07:20:06.000Z'
---
> **Documentation Index:** Fetch the complete configuration index at https://3y3.dev/ru/llms.txt

# Сборка одного файла

Команда `yfm content` обрабатывает **один** md-файл и выводит результат в `stdout` (или записывает в файл). В отличие от [`yfm build`](https://3y3.dev/ru/tools/docs/build.md), она не собирает полноценную страницу: для формата `html` выводится только **контент** — без оглавления, шапки и обвязки страницы.

Команда удобна, когда нужно быстро получить предобработанный контент одного файла — например, чтобы передать его в другой инструмент, отрендерить предпросмотр в редакторе или использовать в собственном пайплайне.

## Использование {#usage}

```shell
# self-contained markdown в stdout
yfm content -i ./page.md -f md

# html-фрагмент в файл
yfm content -i ./page.md -f html -o ./page.html
```

Полный список параметров можно вывести в консоли командой `yfm content --help`.

## Формат вывода {#output-format}

Формат задаётся параметром `--output-format` (`-f`):

* `md` — предобработанный Markdown. По умолчанию для одиночного файла.
* `html` — HTML-контент страницы (без оглавления, шапки и обвязки).

При обработке применяются те же преобразования, что и при [сборке YFM → YFM](https://3y3.dev/ru/tools/docs/build.md#yfm): проверка условий видимости, [подстановка переменных](https://3y3.dev/ru/syntax/vars.md#subtitudes), [инлайнинг SVG](https://3y3.dev/ru/syntax/media.md#img-inline), [вставка заголовков](https://3y3.dev/ru/syntax/links.md#autotitle) и [контента из файлов](https://3y3.dev/ru/syntax/includes.md).

## Корень проекта {#project-root}

Пресеты (`presets.yaml`), [вставки](https://3y3.dev/ru/syntax/includes.md), ссылки и [переменные](https://3y3.dev/ru/syntax/vars.md) ищутся относительно корня проекта:

* по умолчанию корнем считается **текущая рабочая директория**;
* передайте `--config` (`-c`) с путём до `.yfm` — корнем станет директория этого файла.

{% note info %}

Если обрабатываемый файл лежит вне выбранного корня, корнем становится директория самого файла.

{% endnote %}

## Потоки вывода {#streams}

Предупреждения и ошибки всегда пишутся в `stderr`. При любой ошибке сборки процесс завершается с ненулевым кодом возврата.

Собранный контент по умолчанию выводится в `stdout`, обрамлённый маркерами-разделителями, чтобы его можно было отделить от сопутствующего вывода (строка версии, таймер сборки):

```
<<<<<< YFM CONTENT START >>>>>>
...контент...
<<<<<< YFM CONTENT END >>>>>>
```

При использовании `--output` (`-o`) результат пишется в файл «сырым» — без маркеров.

## Режим `--raw` {#raw}

Флаг `--raw` выводит в `stdout` **только** контент — без маркеров-разделителей и без баннеров фреймворка (строка версии, таймер сборки, баннер завершения). Это удобно, когда результат нужно направить напрямую в файл или другой инструмент:

```shell
yfm content -i ./page.md -f md --raw > page.md
```

При этом диагностика (предупреждения, ошибки) по-прежнему идёт в `stderr`, а код возврата остаётся ненулевым при ошибке — так что `stdout` содержит только корректный контент.

Вместе с `-o` флаг `--raw` ничего не меняет: в файл всегда пишется «сырой» контент.

## Watch-режим {#watch}

С параметром `--watch` (`-w`) команда отслеживает изменения входного файла, его вставок и пресетов и перерисовывает результат при каждом сохранении.

## Параметры {#options}

| Параметр                            | По умолчанию | Описание                                                       |
| ----------------------------------- | ------------ | -------------------------------------------------------------- |
| `-i, --input <file>`                | —            | Путь до обрабатываемого md-файла (обязательный)          |
| `-o, --output <file>`               | stdout       | Записать результат в файл вместо stdout                        |
| `-f, --output-format <md \| html>`  | `html`       | Формат вывода                                                  |
| `--raw`                             | `false`      | Выводить в stdout только контент (без маркеров и баннеров)     |
| `-w, --watch`                       | `false`      | Пересборка при изменении файла, его вставок и пресетов         |
| `-c, --config <path>`               | `.yfm`       | Файл конфигурации; его директория становится корнем проекта    |
| `--vars-preset <name>`              | `default`    | Применяемый пресет переменных                                  |
| `-v, --vars <json>`                 | —            | Inline-переменные (JSON), переопределяющие пресеты             |
| `--allow-html` / `--no-allow-html`  | `true`       | Разрешать «сырой» HTML в Markdown                              |
| `--sanitize-html`                   | `true`       | Санитизировать полученный HTML                                 |
| `-s, --strict`                      | `false`      | Завершаться с ненулевым кодом при предупреждениях              |

Остальные параметры совпадают с параметрами [сборки](https://3y3.dev/ru/tools/docs/settings.md).
