Настройки YFM-проекта
В зависимости от используемого инструмента вы можете задать стандартные настройки YFM-проекта одним из способов:
- в файле конфигурации;
 - через ключи запуска команды 
yfm. 
Файл конфигурации
По умолчанию используется файл .yfm в корне документа. При сборке можно указать путь до другого файла с помощью ключа запуска --config.
Файл конфигурации содержит список всех параметров в формате YAML:
parameter: value
parameter: value
        
    parameter— имя задаваемой настройки;value— значение настройки.
Параметры
Корневая секция
| 
 Параметр  | 
 Описание  | 
 Тип и значение по умолчанию  | 
| 
 
  | 
 Разрешить загрузки пользовательских ресурсов в статически сгенерированные страницы.  | 
 
 
  | 
| 
 
  | 
 Разрешить использование html-элементов в разметке.  | 
 
 
  | 
| 
 
  | 
 Применять ли пресеты переменных.  | 
 
 
  | 
| 
 
  | 
 Включить отображение автора статьи. Работает при включенном параметре   | 
 
 
 Пример: 
        
     | 
| 
 
  | 
 Переносить строки по символу перевода каретки.  | 
 
 
  | 
| 
 
  | 
 Включить отображение контрибьюторов в статье. Работает при включенном параметре   | 
 
 
 Пример: 
        
     | 
| 
 
  | 
 Список расширений Diplodoc, используемых для сборки проекта. Объекты в списке могут содержать два параметра: 
 
        
    Строками в списке можно в упрощенном формате задавать названия расширения: 
        
     | 
 
 —  | 
| 
 
  | 
 Массив языков, участвующих в сборке.  | 
 — —  | 
| 
 
  | 
 Преобразовывать ссылкоподобные строки в ссылки.  | 
 
 
  | 
| 
 
  | 
 Подключить файл линтера.  | 
 
 
  | 
| 
 
  | 
 Включить отображение даты изменения статьи. Работает при включенном параметре   | 
 
 
  | 
| 
 
  | 
 Формат файлов итоговой сборки.  | 
 
 
  | 
| 
 
  | 
 Убрать из оглавления все объекты, отмеченные атрибутом   | 
 
 
  | 
| 
 
  | 
 Включает очистку HTML-разметки от потенциально опасных элементов в   | 
 
 
  | 
| 
 
  | 
 Собирать одностраничную сборку. Будет создан файл  Страница будет доступна по адресу 
        
     | 
 
 
  | 
| 
 
  | 
 Разрешить использовать статический контент (например, файлов изображений, CSS или JS).  | 
 
 
  | 
| 
 
  | 
 Cтрогий режим сборки, все предупреждения YFM отображаются как ошибки. С полным список правил YFM можно ознакомиться здесь.  | 
 
 
  | 
| 
 
  | 
 Генерировать дополнительные якоря, совместимые с GitHub.  | 
 
 
  | 
| 
 
  | 
 Имя пресета переменных, который необходимо использовать при сборке.  | 
 
 —  | 
| 
 
  | 
 Настройка подключения к vcs системе. Её включение позволяет использовать функциональности  Требует подключения втроенного расширения   | 
 
 
  | 
Секция analytics
| 
 Название  | 
 Описание  | 
 Тип и значение по умолчанию  | 
| 
 
  | 
 Настройки аналитики Google Tag Manager.  | 
 
 
  | 
| 
 
  | 
 Идентификатор Google Tag Manager в формате GTM.  | 
 
 
  | 
| 
 
  | 
 Тип уведомления перед отправкой событий   | 
 
 
  | 
Секция interface
| 
 Название  | 
 Описание  | 
 Тип и значение по умолчанию  | 
| 
 
  | 
 Иконка во вкладке браузера.  | 
 
 —  | 
| 
 
  | 
 Скрывает оглавление (Table of contents, ToC). Если не указан, ToC считается включенным.  | 
 
 
  | 
| 
 
  | 
 Скрывает заголовок в ToC. Если не указан, заголовок считается включенным.  | 
 
 
  | 
| 
 
  | 
 Скрывает фидбэк в конце страницы. Если не указан, фидбэк включенным.  | 
 
 
  | 
| 
 
  | 
 Скрывает поиск. Если не указан, поиск считается включенным.  | 
 
 
  | 
Секция pdf
Для генерации pdf-версии документации необходимо использовать сервис @diplodoc/pdf-generator согласно инструкции. Секция содержит параметры предобработки данных для работы сервиса.
| 
 Название  | 
 Описание  | 
 Тип и значение по умолчанию  | 
| 
 
  | 
 Включить предобработку данных для сервиса   | 
 
 
  | 
| 
 
  | 
 При значении  При значении   | 
 
 
  | 
Секция resources
Управление подключаемыми к проекту ресурсами.
| 
 Название  | 
 Описание  | 
 Тип и значение по умолчанию  | 
| 
 
  | 
 Управление Content Security Policy (CSP). Пример структуры
        
    Данная конфигурация преобразуется в HTML-тег вида: 
        
    Ключи объекта соответствуют поддерживаемым директивам CSP. Система не проверяет корректность указанных значений — они берутся из   | 
 
 —  | 
| 
 
  | 
 Список подключаемых ко всем страницам проекта javascript-файлов. 
        
    Для подключения скриптов должен быть установлен параметр   | 
 
 —  | 
| 
 
  | 
 Список подключаемых ко всем страницам проекта css-файлов. 
        
    Для подключения стилей должен быть установлен параметр   | 
 
 —  | 
Секция template
Управление поддерживаемыми конструкциями синтаксиса шаблонов.
| 
 Параметр  | 
 Описание  | 
 Тип и значение по умолчанию  | 
| 
 
  | 
 Включает обработку синтаксиса шаблонов в документации. Если не указан, шаблонизация считается включенной.  | 
 
 
  | 
| 
 
  | 
||
| 
 
  | 
 Включает обработку синтаксиса условных операторов в блоках кода.  | 
 
 
  | 
| 
 
  | 
 Включает обработку синтаксиса условных операторов в тексте документа.  | 
 
 
  | 
| 
 
  | 
||
| 
 
  | 
 Включает обработку синтаксиса циклов.  | 
 
 
  | 
| 
 
  | 
 Включает обработку синтаксиса условных операторов.  | 
 
 
  | 
| 
 
  | 
 Включает обработку синтаксиса переменных.  | 
 
 
  | 
Секция docs-viewer
| 
 Название  | 
 Описание  | 
 Тип и значение по умолчанию  | 
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 
  | 
 Иконка во вкладке браузера.  | 
 
 —  | 
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 
  | 
 Язык по умолчанию для локализации.  | 
 
 
  | 
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 
  | 
 Массив языков, отображаемых в интерфейсе документации. Язык по умолчанию при открытии страницы — первый элемент в массиве. Пример структуры проекта с несколькими языками
        
    Полный список поддерживаемых языков
 Важно Языки, не включенные в список, отображаться не будут. Если структура проекта содержит языковые папки, то указывать параметр обязательно, даже если в проекте используется только один язык.  | 
 
 —  | 
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 
  | 
 Настройки логотипа: 
 Если логотип для темной темы не указан, используется изображение для светлой темы. Для указанных выше параметров можно настроить определенные логотипы для разных языков документации. ПримерыОдин логотип для всех языков: 
        
    Отличающиеся логотипы для разных языков: 
        
    В этом примере при переходах по ссылкам с указанием языкового каталога будут отображаться  Примеры ссылок и отображаемых логотипов: 
  | 
 — —  | 
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 
  | 
 Номер счетчика Яндекс Метрики. Можно подключить несколько счетчиков: 
        
     | 
 
 
  | 
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 
  | 
 Запрет на индексирование внешними роботами. Рекомендуется использовать до публичных запусков, чтобы документ не отображался в поисковиках.  | 
 
 
  | 
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 
  | 
 Формирует URL-адрес проекта. Требования: 
 Важно Есть три зарезервированных имени, которые нельзя указывать в качестве значения  
  | 
 
 —  | 
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 
  | 
 Выбор темы оформления: светлая или темная. По умолчанию доступны обе. Можно отключить одну из них, указав используемую по умолчанию, например: 
        
    Важно Параметр поддерживается только в серверной версии.  | 
 
  | 
Секция search
Чтобы добавить поиск в документацию, явно пропишите секцию search в файле .yfm.
Diplodoc поддерживает в режиме статической сборки документации два типа интеграции поиска:
По умолчанию поиск отключен, для его появления настройте секцию search.
Общие параметры
| 
 Название  | 
 Описание  | 
 Тип и значение по умолчанию  | 
| 
 
  | 
 Выбор поисковой системы. 
  | 
 
 — (поиск не подключен)  | 
Параметры для локального поиска (provider: local)
| 
 Название  | 
 Описание  | 
 Тип и значение по умолчанию  | 
| 
 
  | 
 Глубина расширения совпадений: 
  | 
 
 
  | 
| 
 
  | 
 Режим ранжирования результатов: 
  | 
 
 
  | 
Параметры для поиска через Algolia (provider: algolia)
| 
 Название  | 
 Описание  | 
 Тип и значение по умолчанию  | 
| 
 
  | 
 Algolia App ID.  | 
 
 —  | 
| 
 
  | 
 Секретный Admin API Key для индексации.  | 
 
 —  | 
| 
 
  | 
 Имя индекса в Algolia.  | 
 
 
  | 
| 
 
  | 
 Если   | 
 
 
  | 
| 
 
  | 
 Search API Key.  | 
 
 
  | 
| 
 
  | 
 Путь к js-API поиска на клиенте.  | 
 
 
  | 
| 
 
  | 
 
 —  | 
|
| 
 
  | 
 
 —  | 
Примеры настройки поиска
Локальный поиск:
search:
  provider: local
  tolerance: 2
  confidense: phrased
        
    Поиск через Algolia:
search:
  provider: algolia
  appId: <ВАШ_APP_ID>
  indexName: docs
  index: true
  searchApiKey: <ВАШ_SEARCH_API_KEY>
  indexSettings:
    searchableAttributes:
      - title
      - content
      - headings
  querySettings:
    hitsPerPage: 10
    attributesToRetrieve:
      - title
      - content
      - url
        
    Примечание
- Для активации поиска обязательно добавьте секцию 
searchи укажитеprovider. - Для больших проектов рекомендуется облачный поиск Algolia.
 - Не публикуйте 
apiKeyот Algolia в публичных репозиториях или продакшн-конфигурациях — используйте переменные среды либо CLI-параметры. 
Пример файла .yfm
    # Корневая секция параметров
strict: true
breaks: false
apply-presets: true
varsPreset: 'external'
needToSanitizeHtml: true
langs: ['en', 'ru']
# Настройки интерфейса документации
interface:
  favicon-src: https://raw.githubusercontent.com/yandex-cloud/yfm-documentation/master/_images/logo_blue_32x32.png
# Секция параметров вьюера (docs-viewer)
docs-viewer:
  project-name: project-name
  no-index: true
  langs: ['en', 'ru']
  metrika: 678489
  # Настройки логотипа
  logo-options:
    url: https://diplodoc.com/docs/{lang}/
    src: https://storage.yandexcloud.net/docs-external/yfm-documentation/_images/logo.svg
    src-dark: https://storage.yandexcloud.net/docs-external/yfm-documentation/_images/logo.svg
    src-mobile: https://storage.yandexcloud.net/docs-external/yfm-documentation/_images/logo.svg
    src-mobile-dark: https://storage.yandexcloud.net/docs-external/yfm-documentation/_images/logo.svg
    src-preview: https://storage.yandexcloud.net/docs-external/yfm-documentation/_images/share-logo-dark.svg
    # Если логотипа нет, то вместо него можно задать текст
    title: Yandex Flavored Markdown
# Секция ресурсов
resources:
  csp:
    - "frame-src":
        - "https://test.site"