english | русский
Yfm-docs позволяет собрать полноценный документационный проект: с навигацией, внутренними переходами и полной поддержкой Yandex Flavored Markdown (YFM).
Node 22+
npm i @diplodoc/cli -gnpm run start -- -i ./input-folder -o ./ouput-folder -v "{\"name\":\"Alice\"}"Инициализация нового проекта документации Diplodoc.
yfm init [options]Запуск без флагов в терминале запускает интерактивный визард. Передайте --skip-interactive чтобы использовать флаги и дефолтные значения.
minimal
<output>/
├── .yfm
├── toc.yaml
└── index.mdfull — дополнительно создаёт presets.yaml, pc.yaml и расширенный .yfm с конфигурацией pdf, search, vcs, authors.
Для многоязычных проектов (--langs en,ru) контент размещается в поддиректориях по языку:
<output>/
├── .yfm
├── presets.yaml
├── en/
│ ├── toc.yaml
│ └── index.md
└── ru/
├── toc.yaml
└── index.mdОбрабатывает один Markdown-файл и выводит результат в stdout (или пишет в файл).
В отличие от yfm build, не обходит весь проект и не собирает целую страницу —
для html отдаётся только контентный фрагмент (без toc, шапки и обвязки страницы).
# self-contained markdown в stdout
yfm content -i ./page.md -f md
# html-фрагмент в файл
yfm content -i ./page.md -f html -o ./page.htmlРезультат в stdout обрамляется маркерами-разделителями, чтобы его можно было отделить от сопутствующего диагностического вывода:
<<<<<< YFM CONTENT START >>>>>>
...контент...
<<<<<< YFM CONTENT END >>>>>>Предупреждения и ошибки идут в stderr; при любой ошибке сборки процесс завершается с ненулевым кодом.
При использовании -o в файл пишется «сырой» контент (без маркеров).
Флаг --raw выводит в stdout только контент — без маркеров-разделителей и без баннеров
фреймворка (строка версии, таймер сборки, баннер завершения). Удобно, когда результат нужно
направить напрямую в другой инструмент или файл:
yfm content -i ./page.md -f md --raw > page.mdВместе с -o флаг --raw ничего не меняет (в файл всегда пишется «сырой» контент).
Пресеты (presets.yaml), инклуды и переменные резолвятся относительно корня проекта:
- по умолчанию корень — текущая рабочая директория;
- передайте
-c, --config <path>с путём к.yfm— его директория станет корнем.
Необходимо добавить .env файл в рут репозитория с данными ниже:
GITHUB_OWNER=
GITHUB_REPO= # docs
GITHUB_TOKEN= # personal access token
GITHUB_BASE_URL= # for ex: https://api.github.com
VCS_CONNECTOR_TYPE= # githubили обновить .yfm файл в docs репозитории:
connector:
type:
github:
endpoint:
token:
owner:
repo:cd cli
npm ci && npm run buildMIT

