@applejxd

雑記帳

Sphinx メモ

目次

セットアップ & ビルド

関連ライブラリをインストール。 sphinx_rtd_themesphinx のバージョン互換性に注意。

pip install "sphinx>=8.2,<9" sphinx_rtd_theme sphinx_mdinclude sphinx_autobuild

Graphviz を使う場合はそれも。

# Linux の場合
sudo apt-get install graphviz
# Windows の場合
winget install Graphviz.Graphviz

初期設定

# bash, zsh の場合
sphinx-quickstart docs/sphinx --sep -l en --ext-autodoc --ext-viewcode
# git/uv をベースにした powershell の場合の例
sphinx-quickstart docs/sphinx --sep -l en `
  -p $((uv version --output-format json | ConvertFrom-Json).package_name) `
  -a $(git config --get user.name) `
  -r $((uv version --output-format json | ConvertFrom-Json).version) `
  --ext-autodoc --ext-viewcode `
  --ext-githubpages `
  --extensions sphinx.ext.apidoc `
  --extensions sphinx_mdinclude `
  --extensions sphinx.ext.graphviz `
  --extensions sphinx.ext.inheritance_diagram

初期化後に以下を設定。リンク先には例。:

ビルドは sphinx-build。 上記の conf.py の通り設定しておけば sphinx-apidoc は不要。

# see 
sphinx-build ./docs/sphinx/source ./docs/sphinx/build

拡張機能

reStructuredText

class Hoge:
  """
  テストクラス
  """
  #: 保存した文字列
  member: str

  def fuga(self, arg: str) -> int:
    """
    テストメソッド

    :param arg: カウントする文字
    :return: 文字数
    """
    self.member = arg
    return len(arg)

Tips

トラブルシューティング

各種リンク