Экосистема технического письма
Экосистема технического письма
Языки разметки
Современная техническая документация пишется в текстовых форматах с лёгкой разметкой — не в бинарных редакторах вроде Microsoft Word. Это позволяет хранить документацию в системах контроля версий, интегрировать её в CI/CD и обрабатывать автоматически.
Markdown
— Стандарт де-факто для большинства IT-проектов.
Даже Вселенная IT использует Markdown.
Простой, читаемый даже в исходном виде, идеально подходит для README, wiki, блогов и внутренних гайдов.
Варианты:
- CommonMark — строгая спецификация, обеспечивающая совместимость между парсерами.
- GitHub Flavored Markdown (GFM) — расширение с поддержкой таблиц, задач (
- [x]), автоссылок на issue и код. - Markdown Extra — используется в некоторых генераторах (например, в MkDocs) для расширенных возможностей.
reStructuredText (reST)
— Инструмент Python-сообщества и основа Sphinx.
Более выразителен, чем Markdown: поддерживает условные блоки, сложные перекрёстные ссылки, автоматические оглавления и глубокую интеграцию с кодом.
Используется в официальной документации Python, Django, Read the Docs.
AsciiDoc
— Мощная альтернатива для масштабных проектов.
Поддерживает сложную структуру, включение внешних файлов, переменные, условную компиляцию.
Генерирует HTML, PDF, EPUB, man-страницы. Используется в документации Red Hat, Kubernetes (ранние версии).
DITA (Darwin Information Typing Architecture)
— Enterprise-стандарт на базе XML.
Позволяет создавать модульную, многоканальную, локализуемую документацию.
Контент разбивается на «темы» (концепции, задачи, справочники), которые можно повторно использовать в разных сборках.
Широко применяется в авиации, медицине, промышленном ПО, где требуется строгая трассируемость и соответствие стандартам.
DocBook
— Классический XML-формат для технических книг и стандартов.
Старше DITA, но по-прежнему используется в академической и регуляторной документации.
Поддерживает сложную структуру: главы, разделы, библиографии, глоссарии.
Выбор языка разметки зависит от:
- масштаба проекта (личный блог vs регулируемая индустрия),
- требований к повторному использованию,
- интеграции с существующей инфраструктурой,
- аудитории (разработчики предпочитают Markdown, инженеры — AsciiDoc).
Инструменты
Язык разметки — только основа. Чтобы превратить текст в интерактивный сайт, PDF или API-портал, нужны генераторы и системы публикации.
MkDocs
— Простой, быстрый генератор на основе Markdown.
Идеален для небольших и средних проектов. Поддерживает темы (Material for MkDocs), поиск, плагины.
Интегрируется с GitHub Pages, GitLab CI, Read the Docs.
Sphinx
— Мощная система, изначально созданная для документации Python.
Работает с reST, но поддерживает и Markdown через расширения.
Автоматически генерирует API-документацию из кода (через autodoc), поддерживает математические формулы (LaTeX), глоссарии, многоязычность.
Стандарт для научных и инженерных проектов.
Docusaurus
— Современный генератор от Meta (Facebook), построенный на React.
Кстати, Вселенная IT использует Docusaurus.
Оптимизирован для open source: поддержка версионирования документации, локализация, блог, search через Algolia.
Идеален для проектов с большой внешней аудиторией (например, библиотек, фреймворков).
GitBook
— Комбинация редактора и хостинга.
Удобен для внутренней документации, учебных курсов, продуктовых гайдов.
Менее гибок для сложных интеграций, но требует минимум настройки.
LaTeX
— Не инструмент для повседневной документации, но незаменим для научных, академических и формальных текстов.
Позволяет верстать сложные документы с формулами, теоремами, перекрёстными ссылками, библиографиями.
Используется в математике, физике, теоретической информатике.
Obsidian
— Локальное приложение для создания «персональной вики».
На основе Markdown с поддержкой внутренних ссылок, графа знаний, шаблонов.
Отлично подходит для черновиков, ADR, личных заметок и систематизации знаний перед публикацией.
Также отличное решение для построения своих локальных баз знаний на Markdown.
Форматы спецификаций
Современная документация часто существует как машиночитаемый формат, который можно использовать для генерации, тестирования и интеграции.
OpenAPI (Swagger)
— Стандарт описания RESTful API.
Описывает endpoint’ы, параметры, тела запросов/ответов, схемы данных, коды ошибок в YAML или JSON.
Из одного файла можно:
- сгенерировать интерактивную документацию (Swagger UI),
- создать клиентские SDK,
- запустить mock-сервер,
- проверить соответствие реализации спецификации.
AsyncAPI
— Аналог OpenAPI для event-driven систем (Kafka, RabbitMQ, AWS SNS/SQS).
Описывает каналы, сообщения, схемы, протоколы.
Позволяет автоматизировать документирование микросервисов, обменивающихся событиями.
Pandoc
— «Универсальный конвертер» текстовых форматов.
Поддерживает более 50 входных и выходных форматов: Markdown → PDF (через LaTeX), reST → HTML, DOCX → Markdown и т.д.
Незаменим при необходимости публикации в нескольких каналах: веб, печать, электронная книга.
Системы хранения и совместной работы
Где живёт документация — определяет её судьбу. Слишком централизованная система тормозит обновление, слишком децентрализованная — ведёт к фрагментации.
Confluence
— Корпоративный стандарт для многих компаний.
Мощный редактор, права доступа, интеграция с Jira.
Риск: без чёткой архитектуры превращается в «кладбище страниц», где ничего нельзя найти.
Notion
— Гибкая, визуально привлекательная платформа.
Хорошо подходит для стартапов и небольших команд.
Ограничение: закрытая экосистема, сложная интеграция с Git, отсутствие версионирования.
Read the Docs
— Хостинг для документации с автоматической сборкой из Git.
Поддерживает Sphinx и MkDocs, версионирование, поиск, локализацию.
Стандарт для open source проектов.
GitHub/GitLab Wiki
— Простое решение, где документация хранится рядом с кодом.
Редактируется через те же pull request’ы, что и код.
Плюс: полная прозрачность, контроль версий.
Минус: ограниченный функционал редактирования.
См. также
Другие статьи этого же раздела в боковом меню (как на странице «О разделе»). Техническое письмо - это когда мы объясняем сложную штуку (кнопки, код, болты, законы) так, чтобы другой человек понял её с первого раза и не накосячил. Документация — это совокупность документов, созданных для описания, объяснения, сопровождения или управления продуктом, системой, процессом или проектом. Её целью является обеспечение понимания,… В традиционной инженерной практике (особенно в машиностроении, энергетике, оборонке) эксплуатационная документация — это часть конструкторской документации, регламентированная стандартами, такими как… В крупных корпорациях и регулируемых отраслях (финансы, здравоохранение, энергетика) документация — это требование compliance. Аудиторы, регуляторы, внутренние контролёры требуют полной… Хорошая документация — это та, которую не нужно объяснять устно. Если команда постоянно уточняет — А в документе это имеется в виду так-то? — значит, документация недостаточно ясна. Архитектура документации — это целенаправленное проектирование структуры, содержания, форматов, потоков и взаимосвязей всех документов, сопровождающих продукт или систему на всех этапах её жизненного… Паттерны стиля возникают как реакция на хаос. В отсутствие общих ориентиров коммуникация распадается — одни разработчики пишут код с магическими числами и без комментариев, другие — с избыточной… Техническое задание (ТЗ) — это документ, в котором заказчик и исполнитель договорились о правилах игры до того, как кто-то начал что-то делать. Спецификация - это список всех деталей и инструкций к ним, которые входят в поставку программы. Опись того, за что платят и что получают. ПМИ - это документ, в котором написано, как будут проверять, работает ли программа так, как надо. 📌 Если используется open-source компонент — указать — название, версия, - лицензия (MIT, Apache 2.0, GPL-3 и т.п.), - источник (GitHub URL, релиз). Руководство системного программиста — это инструкция для того, кто ставит и настраивает программу на сервере.Техническое письмо
Документация
Виды документации
Технический писатель
Качество документации
Архитектура документации
Стилевые паттерны технической документации
Техническое задание по ГОСТ
Спецификация по ГОСТ
ПМИ по ГОСТ
ПЗ по ГОСТ
Руководство системного программиста по ГОСТ