# MAN Format Fix — 2026-08-10 **Проблема:** `service_man` из YAML содержит Markdown (`#`, `##`, `---`, `**`) + HTML (`
`, `"`), но рендерился как сырой текст. Теги `##`, `**`, `---` выводились буквально, не форматируя текст. **Корень проблемы:** `md_in_html` расширение mkdocs не обрабатывает Markdown внутри `
` и `
` — всё содержимое выводится как plain text. **Решение:** использовать **нативный mkdocs admonition** `??? note` вместо HTML-тегов. ### Было (сломано) ```go b.WriteString("
\nСправка (MAN)\n\n") b.WriteString(htmlToMarkdown(man)) b.WriteString("\n\n
\n") ``` ```html # Инструкция --- ## 1. Общая информация **текст** ``` ### Стало (работает) ```go b.WriteString("??? note \"Справка (MAN)\"\n\n") md := htmlToMarkdown(man) for _, line := range strings.Split(md, "\n") { b.WriteString(" " + line + "\n") } b.WriteString("\n") ``` ```markdown ??? note "Справка (MAN)" # Инструкция по развертыванию --- ## 1. Общая информация **текст** ``` ```html
Справка (MAN)

Инструкция по развертыванию


1. Общая информация

текст

``` ### Ключевые требования `???` admonition 1. **Пустая строка** после `??? note "Заголовок"` — ОБЯЗАТЕЛЬНА 2. **Все строки контента** с отступом ровно 4 пробела — включая пустые строки 3. `pymdownx.details` должен быть в `markdown_extensions` (уже есть) ### Затронутые файлы | Файл | Изменение | |------|-----------| | `writers/writers.go:buildManualPage()` | `??? note` вместо `
` | | `extra.css` | Убран `.man-content` CSS (больше не нужен) |