API документация

Документация по классам и методам движка.

Класс DocsEngine

Основной класс для работы с документацией.

Методы

__construct()

Инициализирует движок документации. `php $engine = new DocsEngine(); `

render($page)

Рендерит страницу документации. Параметры:
  • $page (string) - имя страницы или путь к файлу
Пример: `php $engine->render('installation'); // Отобразит docs/installation.md `

getAllDocs()

Возвращает список всех документов. Возвращает: array - массив путей к документам Пример: `php $docs = $engine->getAllDocs(); print_r($docs); `

Защищенные методы

sanitizePath($path)

Очищает путь от опасных символов.

findDocFile($page)

Ищет файл документации.

extractMetadata($content)

Извлекает метаданные из Front Matter.

renderTemplate($content, $meta, $currentPage)

Рендерит HTML шаблон.

buildNavigation($currentPage)

Строит навигационное меню.

Класс MarkdownParser

Парсер Markdown в HTML.

Методы

parse($markdown)

Конвертирует Markdown в HTML. Параметры:
  • $markdown (string) - текст в формате Markdown
Возвращает: string - HTML код Пример: `php $parser = new MarkdownParser(); $html = $parser->parse('# Hello World'); // Вернет:

Hello World

`

Поддерживаемые элементы

  • Заголовки (H1-H6)
  • Параграфы
  • Жирный и курсивный текст
  • Ссылки и изображения
  • Списки (упорядоченные и неупорядоченные)
  • Блоки кода
  • Inline код
  • Цитаты
  • Горизонтальные линии

Конфигурация

Файл config.php содержит настройки: `php return [
// Название сайта
'site_name' => 'Документация',

// Описание для SEO
'site_description' => 'Описание',

// Тема оформления
'theme' => 'default',

// Язык
'language' => 'ru',

// Навигация
'navigation' => [
'Название' => 'page-slug',
],

// Показывать ссылку на редактирование
'showeditlink' => true,

// Показывать дату изменения
'showlastmodified' => true,

// Подсветка синтаксиса
'syntax_highlight' => true,
]; `

Константы

Определены в index.php: `php // Корневая директория define('BASE_PATH', DIR); // Папка с документацией define('DOCSPATH', BASEPATH . '/docs'); // Папка для кэша define('CACHEPATH', BASEPATH . '/cache'); `

Расширение функционала

Добавление своего парсера

Создайте класс, наследующий MarkdownParser: `php class CustomParser extends MarkdownParser {
public function parse($markdown)
{
$html = parent::parse($markdown);
// Ваша дополнительная обработка
return $html;
}
} `

Создание своей темы

  1. Создайте CSS файл в assets/css/
  2. Скопируйте templates/layout.php
  3. Настройте в config.php:
`php 'theme' => 'my-theme', `

Добавление плагинов

Можно добавить хуки в DocsEngine.php: `php // После парсинга if (functionexists('afterparse_hook')) {
$html = afterparsehook($html);
} `

Примеры использования

Программный рендеринг

`php require_once 'src/DocsEngine.php'; require_once 'src/MarkdownParser.php'; $engine = new DocsEngine(); $engine->render('api'); `

Получение списка документов

`php $engine = new DocsEngine(); $docs = $engine->getAllDocs(); foreach ($docs as $doc) {
echo "- $doc\n";
} `

Парсинг Markdown

`php $parser = new MarkdownParser(); $markdown = <<Заголовок Это пример текста. MD; echo $parser->parse($markdown); ` --- Следующий раздел: FAQ