メインコンテンツへスキップ

Sphinxでサイトマップを作る

·812 文字·2 分
目次

はじめに
#

Sphinxでサイト構造を示すサイトマップ (sitemap.xml) を作成する方法をまとめました。sphinx-sitemapという拡張機能を使用します。

環境
#

OSはWindows 10 Home Ver. 21H1です。

  • Python v3.9.7
  • Sphinx v4.2.0
  • sphinx-sitemap v2.2.0

Sphinxとsphinx-sitemapのインストール
#

Pythonは既にインストールされているものとして、Sphinxとsphinx-sitemapをインストールします。

condaとpipのどちらでもインストール可能です。conda環境ではAnaconda Prompt(またはAnaconda PowerShell Prompt)から以下を実行します。-cオプションによって、インストール元のチャンネルを指定します。

conda install -c anaconda sphinx
conda install -c conda-forge sphinx-sitemap

pipの場合は以下を実行します。

pip install sphinx
pip install sphinx-sitemap

プロジェクトテンプレートの作成
#

適当な空フォルダを作成し、sphinx-quickstartコマンドを実行してプロジェクトテンプレートを作成します。

sphinx-quickstart

詳細は以下の記事を参考にしてください。

Sphinxを使ったHTMLドキュメント作成 – Helve Tech Blog

設定ファイルの編集
#

Sphinxの設定ファイルconf.pyを開き、extensionsのリストに"sphinx_sitemap"を追加します。

extensions = ["sphinx_sitemap"]

次に、conf.pyに以下の行を追加します。URLは公開するアドレスに合わせて変更します。

html_baseurl = 'https://example.com/'

サイトマップの生成
#

バッチファイルmake.batがあるフォルダで、.\make.bat htmlというコマンドを実行してサイトをビルドします。すると、sitemap.xmlというファイルも同時に生成されます。 sitemap.xmlの中身は以下のようになります(読みやすいように改行しています)。

<?xml version='1.0' encoding='utf-8'?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <url>
        <loc>https://example.com/ja/index.html</loc>
    </url>
    <url>
        <loc>https://example.com/ja/genindex.html</loc>
    </url>
    <url>
        <loc>https://example.com/ja/search.html</loc>
    </url>
</urlset>

まとめ
#

Sphinxでsphinx-sitemapという拡張機能を使用し、サイトマップを生成する方法をまとめました。

参考
#

Helve
著者
Helve
関西在住、電機メーカ勤務のエンジニア。X(旧Twitter)で新着記事を配信中です

関連記事

Sphinxで生成するHTMLにSNSシェア用のOGPタグを設定する
·1359 文字·3 分
Sphinxで生成する記事のHTMLに、SNSで詳細情報を伝えるためのOGP (Open Graph Protocol) を導入する方法をまとめました。
SphinxでMarkdown拡張言語のMySTを扱う
·1768 文字·4 分
SphinxでMarkdownの拡張言語であるMyST (Markedly Structured Text) を導入する方法をまとめました。
SphinxのモダンテーマFuroを導入する
·1008 文字·3 分
Python製ドキュメント生成ツールSphinxのモダンテーマFuroの導入方法をまとめました。
Sphinxを使ったHTMLドキュメント作成
·1623 文字·4 分
ドキュメント生成ツールSphinxを導入し、HTMLファイルを生成するまでの方法をまとめました。
SphinxでPython docstringからドキュメントを自動生成する
·2014 文字·5 分
ドキュメント生成ツールSphinxを使って、Pythonスクリプトのクラスや関数のdocstringからHTMLドキュメントを自動生成する方法を解説する。
PythonでSQLiteを扱う
Pythonのsqlite3ライブラリを使ってSQLiteを扱う方法をまとめました。