Docs as code
Docs as code - концепция подготовки документации наравне с программным кодом. Она не исключает использования визуальных (WYSWYG)-решений. Т.е. визуально подготовка документации может не отличаться от работы в Google Docs например. Сам текст документации размечен с помощью языков разметки Markdown или reStructuredText. Либо других иных (непринципиально).
Критерии DaC
правитьКак критерии концепции описываются следующие моменты[1]:
- Использование тикет-системы для работы с документацией
- Хранение текстов документации в системе контроля версий (например, в Git)
- Человекопонятная разметка текста, а не не XML/SGML
- Markdown,
- reStructuredText,
- Asciidoc
- Code Reviews
- Automated Tests
SSG-решения
правитьЭти решения для подготовки документации относятся к категории "SSG" - static site generators (англ. Википедия). Поскольку в результате их работы появляются неизменяемые файлы. И сам процесс поход на компиляцию программы из исходного кода.
- Sphinx. Используется для Read the docs - см. ниже.
- Docusaurus - использует node.js, для кастомизации React
- Hugo с системой шаблонизации Go. пример (Cloudflare)
- Jekyll с системой шаблонизации liquid. Используется в GitHub Pages.
- Doxygen - извлекает текст из программного кода и генерит документацию. Ряд платформ имеют встроенные такие функции, например, dart doc
- Antora пример, 2
- Foliant (для генерации pdf and docx, использует Pandoc или md-to-pdf, для веб-сайтов MkDocs, Aglio или Slate.)
- Material for MkDocs
- Готовые к использованию реализации
Эти реализация не требуют установки и можно пользоваться, выполнив инструкции по быстрому старту. Функционал можно увидеть в бесплатной версии.
- Read the Docs готовое веб-решение (использован Sphinx или [[w:en:MkDocs]MkDocs|])
- GitHub Pages[2] - готовое решение от Github, штатно поддерживает Jekyll, но через Github actions можно подключить другие SSG - Hugo, Gatsby, Next.js, Nuxt.js, MkDocs, VuePress, Docusaurus.
- Netlify - из коробки готов к использованию Hugo. Тема docsy (от Google) для Hugo имеет документацию на Netlify.
- Gitlab имеет сервис Gitlag Pages аналогичный тому что на Github
Кто какую SSG использует
правитьКакие SSG из коробки поддерживают Asciidoc-форматирование
править- Antora (Maintained by lead contributors to the Asciidoctor project)
- Список[12]
См. также
править- w:en:Documentation_generator - программные инструменты, генерящие документацию для конечных пользователей или для разработчиков (описание АПИ)
Ссылки
правитьПримечания
править- ↑ https://www.writethedocs.org/guide/docs-as-code/
- ↑ https://pages.github.com/
- ↑ contributors-guide
- ↑ https://linuxmint-user-guide.readthedocs.io/en/latest/lost-password.html
- ↑ Github
- ↑ https://docs.flutter.dev/cookbook/networking/authenticated-requests
- ↑ https://github.com/flutter/website/issues/10203
- ↑ https://docs.spring.io/spring-framework/reference/core/resources.html
- ↑ Github
- ↑ docs.gitlab.com
- ↑ https://gitlab.com/gitlab-org/gitlab-docs
- ↑ https://gist.github.com/briandominick/e5754cc8438dd9503d936ef65fffbb2d