Используемые технологии#
Sphinx#
Sphinx – инструмент для создания и генерации документации в различных форматах. Этот сайт тоже создан с помощью Sphinx.
Расширения Sphinx#
В проекте используются расширения Sphinx.
sphinx_tabs.tabs: Позволяет создавать вкладки с различным содержанием в документации, что делает ее более интерактивной и информативной.
sphinx.ext.graphviz: Позволяет использовать в документации графику, созданную с помощью Graphviz.
sphinxcontrib.plantuml: Интегрирует PlantUML со Sphinx.
sphinxcontrib.googleanalytics: Интегрирует Google Analytics со Sphinx для сбора статистики о посещении документации.
Ссылки:
Официальный сайт Sphinx.
Руководство по Sphinx на русском языке от Дмитрия Мажарцева.
ReStructured Text (RST)#
ReStructured Text (RST) – язык разметки, используемый в Sphinx для написания документации. Он предоставляет простой и понятный синтаксис для структурирования текста и включения различных элементов документации.
PlantUML#
PlantUML – инструмент для создания графических диаграмм, таких как диаграммы классов, диаграммы последовательности и другие. С помощью дополнения интегрируется со Sphinx и позволяет вставлять графические диаграммы в документацию. Мы используем PlantUML для визуализации структуры и взаимодействия компонентов в нашей документации, например, для структурной схемы проекта.
Git#
Git – система контроля версий, используемая для управления файлами проекта.
Официальный сайт Git.
GitHub#
GitHub – это платформа для хранения и управления исходным кодом и документацией проекта. Мы используем GitHub для хранения всех файлов проекта, включая исходный код документации и исходный код самого проекта.
CI/CD с использованием GitHub Actions#
Для автоматизации процесса сборки и развертывания (CD/CD) документации мы используем GitHub Actions. Это позволяет нам автоматически обновлять документацию при каждом коммите в репозиторий и выпускать новые версии документации при необходимости.
Google Analytics#
Для сбора статистики о посещении сайта мы используем Google Analytics. Этот инструмент собирает информацию о том, как пользователи взаимодействуют с сайтом: на какие страницы переходят, где проводят больше времени, а где меньше, совпадают ли их впечатления от контента с ожиданиями от результатов поисковой выдачи и так далее.
Docker#
Docker – средство запуска контейнеризованных приложений.
Мы используем его для сборки и тестирования документации в преднастроенном окружении, одинаковом для всех участников проекта. Это позволяет значительно упростить и сократить по времени процесс настройки рабочего окружения – достаточно загрузить нужный образ и выполнить несколько команд.