Skip to Content
⚙️ Сайт находится в стадии разработки.

Sphinx

Sphinx – это генератор документации. Его можно использовать для совместной работы над документами. Ниже описано, как организовать рабочий процесс с использованием сервиса Github.

Ссылки

Подготовка окружения

Подготовить окружение на macOS можно с помощью пакетного менеджера Homebrew. Это можно сделать только один раз. На глобальном уровне для всей системы в целом.

  1. Git
# Установить brew install git
# Проверить версию git --version
# Обновить brew update brew upgrade git
  1. Python 3.x
# Установить brew install python
# Проверить версию python3 --version
# Обновить brew upgrade python
  1. Pipx
# Установить pipx brew install pipx
# Проверить версию pipx pipx --version
# Обновить pipx python3 -m pip install --upgrade pipx
# Установить приложение pipx install <название_приложения>
# Проверить установленные приложения pipx list
# Обновить все приложения pipx ensureversions
# Удалить приложение pipx uninsall <название_приложения>
  1. Sphinx
# Установить brew install sphinx-doc # или pipx install sphinx-doc
# Проверить версию sphinx-build --version
# Обновить pipx upgrade sphinx

Быстрый старт

1. Создать репозиторий

  1. Зарегистрироваться на Github. Войти в аккаунт.
  2. Создать новый Github-репозиторий. Например, myrepo-docs.
  3. Склонировать созданный репозиторий на компьютер:
git clone <SSH>

Подробнее о работе с Github – в официальной документации.

2. Инициализировать проект

  1. Внутри склонированного репозитория создать папку docs, чтобы файлы Sphinx-проекта располагались в отдельной директории:
myrepo-docs
mkdir docs
  1. В терминале перейти в созданную директорию myrepo-docs/docs. Выполнить команду для инициализации sphinx-проекта:
myrepo-docs/docs
cd myrepo-docs/docs sphinx-quickstart

В процессе инициализации система задаст вопросы:

ВопросыОтветы
Разделить каталоги исходных файлов и результатов сборки (y/n) [n]:y
Название проекта*:myrepo-docs
Имя(ена) автора(ов)*:author
Релиз проекта []*:1.0.0
Язык проекта [en]*:ru

Примеч.: сведения, отмеченные *, можно будет изменить в файле conf.py.

  1. Запушить изменения в удаленный репозиторий:
myrepo-docs
git status git add . git commit -m "build: initialize sphinx, add file structure" git push -u origin main

Примеч.: пустые папки в удаленный Github-репозиторий не отправляются. Они остаются только в локальном репозитории.

3. Установить расширения

В папке с проектом выполнить команду:

myrepo-docs/docs
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Файл с описанием проекта (репозитория)

Сборка документации

Ручная сборка

В папке с проектом выполнить команду:

myrepo-docs
sphinx-build -M html 'docs/source/' 'docs/build/'

Эта команда сгенерирует документацию в формате html. Возьмет исходные файлы из директории docs/source/ и поместит результат в целевую директорию docs/build/.

Если в браузере открыть файл docs/build/html/index.html, то отобразится сайт с документацией.

Автоматическая сборка

Обновлено