# 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 (больше не нужен) |