Files
2026-07-27 12:58:44 +03:00

5.8 KiB

Встроенная справка

Модуль help показывает Markdown-документацию из корневого каталога help/ в панели управления AVE.cms. Исходные материалы остаются обычными файлами: их можно редактировать в репозитории, просматривать без базы данных и поставлять отдельно от кода модуля.

Установка и доступ

Модуль находится в modules/help и управляется через раздел «Модули». После установки он добавляет отдельный пункт «Справка» и право view_help. Деинсталляция убирает право и интерфейс, но не удаляет каталог help/.

Пользователь видит раздел только при наличии права view_help. Редактирования файлов из панели нет: справочник намеренно работает в режиме только для чтения.

Структура материалов

Каждый Markdown-файл становится отдельным материалом. README.md задаёт страницу каталога, остальные файлы становятся дочерними пунктами:

help/
├── README.md               # обзор справки
└── example/
    ├── README.md           # страница раздела
    ├── installation.md
    └── settings.md

Заголовок берётся из первого # H1. Если его нет, используется имя файла. Папки и материалы сортируются естественным образом, а раздел текущего документа автоматически раскрывается в левом дереве.

Справка установленных модулей

Каталог help/ содержит полный комплект документации, в том числе руководства по необязательным модулям. Это нужно для разработки и автономной поставки справочника, но не перегружает панель: оглавление и поиск показывают страницу конкретного модуля только тогда, когда модуль установлен.

Отключённый, но установленный модуль остаётся в справке. После деинсталляции его страница автоматически исчезает из оглавления и результатов поиска. Общие руководства по разработке, ZIP-установке, репозиторию, хукам и интерфейсным расширениям доступны независимо от состава установленных модулей.

Ссылки между материалами

Относительные Markdown-ссылки пишутся как обычно:

[Настройки](settings.md)
[Назад к разделу](README.md)
[Другой раздел](../core/auth.md)

При выводе модуль преобразует их в адреса текущего каталога панели управления. Поэтому переименование adminx/ не требует менять документацию. Внешние HTTP-ссылки открываются в новой вкладке.

Поддерживаемая разметка

Рендерер поддерживает заголовки, абзацы, ссылки, изображения, выделение, строчный код, fenced code blocks, списки, цитаты, разделители и таблицы. Для блоков кода показывается язык и кнопка копирования.

Сырой HTML экранируется и не исполняется. Это защищает панель от случайной вставки скрипта в документацию. Для сложной интерактивной страницы следует создать обычный модульный Twig-шаблон, а не помещать HTML в Markdown.

Поиск и кеш

Поиск учитывает заголовок, подзаголовки и полный текст. Совпасть должны все слова запроса; совпадения в заголовках получают больший вес. Живые результаты появляются только после ввода двух символов.

Индекс хранится в штатном файловом кеше AVE.cms. На запросе модуль сравнивает пути, время изменения и размер .md-файлов. После изменения документа индекс перестраивается автоматически, вручную очищать кеш не требуется.

Ограничения безопасности

  • индексируются только обычные .md-файлы внутри help/;
  • симлинки и скрытые пути пропускаются;
  • пользователь выбирает документ только из готового индекса;
  • ../ и произвольный путь за пределами help/ возвращают 404;
  • право проверяется и для страницы, и для JSON-поиска.