Sphinx
Sphinx – это генератор документации. Его можно использовать для совместной работы над документами. Ниже описано, как организовать рабочий процесс с использованием сервиса Github.
Ссылки
Подготовка окружения
Подготовить окружение на macOS можно с помощью пакетного менеджера Homebrew . Это можно сделать только один раз. На глобальном уровне для всей системы в целом.
- Git
# Установить
brew install git# Проверить версию
git --version# Обновить
brew update
brew upgrade git- Python 3.x
# Установить
brew install python# Проверить версию
python3 --version# Обновить
brew upgrade python- Pipx
# Установить pipx
brew install pipx# Проверить версию pipx
pipx --version# Обновить pipx
python3 -m pip install --upgrade pipx# Установить приложение
pipx install <название_приложения># Проверить установленные приложения
pipx list# Обновить все приложения
pipx ensureversions# Удалить приложение
pipx uninsall <название_приложения>- Sphinx
# Установить
brew install sphinx-doc
# или
pipx install sphinx-doc# Проверить версию
sphinx-build --version# Обновить
pipx upgrade sphinxБыстрый старт
1. Создать репозиторий
- Зарегистрироваться на Github . Войти в аккаунт.
- Создать новый Github-репозиторий. Например,
myrepo-docs. - Склонировать созданный репозиторий на компьютер:
git clone <SSH>Подробнее о работе с Github – в официальной документации .
2. Инициализировать проект
- Внутри склонированного репозитория создать папку
docs, чтобы файлы Sphinx-проекта располагались в отдельной директории:
mkdir docs- В терминале перейти в созданную директорию
myrepo-docs/docs. Выполнить команду для инициализации sphinx-проекта:
cd myrepo-docs/docs
sphinx-quickstartВ процессе инициализации система задаст вопросы:
| Вопросы | Ответы |
|---|---|
| Разделить каталоги исходных файлов и результатов сборки (y/n) [n]: | y |
| Название проекта*: | myrepo-docs |
| Имя(ена) автора(ов)*: | author |
| Релиз проекта []*: | 1.0.0 |
| Язык проекта [en]*: | ru |
Примеч.: сведения, отмеченные *, можно будет изменить в файле conf.py.
- Запушить изменения в удаленный репозиторий:
git status
git add .
git commit -m "build: initialize sphinx, add file structure"
git push -u origin mainПримеч.: пустые папки в удаленный Github-репозиторий не отправляются. Они остаются только в локальном репозитории.
3. Установить расширения
В папке с проектом выполнить команду:
pipx install <название_расширения>| Расширение | Назначение |
|---|---|
| sphinx-autobuild | Позволяет отслеживать изменения генерируемых html-файлов. Использует горячую перезагрузку браузера |
Файловая структура проекта
Файловая структура проекта после выполнения всех предыдущих шагов:
- conf.py
- index.rst
- make.bat
- Makefile
- .gitignore
- README.md
| Наименование | Назначение |
|---|---|
docs | Папка с документацией Sphinx-проекта |
build | Папка для генерации выходных документов в форматах: HTML, PDF, LaTeX |
source | Папка для размещения исходных файлов |
_static | Папка для размещения исходных файлов, не содержащих исходный код (например, изображения). После генерации выходных документов эта папка служит источником для вложений |
_templates | Папка для размещения шаблонов документов |
conf.py | Конфигурационный файл. Содержит ключевые параметры Sphinx-проекта |
index.rst | Корневой документ. Объединяет документацию в единую иерархию. Служит мастер-документом или страницей приветсвия. Содержит оглавление |
make.bat | Скрипт для упрощения некоторых распространенных операций Sphinx-проекта |
Makefile | Файл, содержащий инструкции для выходных документов, генереруемых командой make |
.gitignore | Файл с исключениями. Указанные в нем файлы и папки не будут публиковаться в удаленном репозитории |
README.md | Файл с описанием проекта (репозитория) |
Сборка документации
Ручная сборка
В папке с проектом выполнить команду:
sphinx-build -M html 'docs/source/' 'docs/build/'Эта команда сгенерирует документацию в формате html. Возьмет исходные файлы из директории docs/source/ и поместит результат в целевую директорию docs/build/.
Если в браузере открыть файл docs/build/html/index.html, то отобразится сайт с документацией.