GitHub Pages+PelicanでつくるBlog:pelicanconf.pyのメモ

GitHub PagesとPelican利用時の設定ファイルの内容のポイントメモ(おまけ)

みずのり 2025-12-08(月) 1 mins

シリーズ全体のリンクはこちら

pelicanconf.pyの設定内容に対するメモです。自分が後で思い出すため程度の内容です。こちらの記載内容は、他の記事との重複あります。



pelicanconf.pyの設定メモ

基本情報

以下のような感じです。半分くらいはquickstartで入る内容です。

from datetime import datetime

AUTHOR = 'みずのり'
SITENAME = '雑メモ'
SITEURL = ""
SITEDESCRIPTION = '現場と酒好きなソフトウェア/システムをつくる人による雑なメモ'
SITELOGO = 'logo.png'
COPYRIGHT_YEAR = datetime.now().year

# DEFAULT_LANG = 'Japanese'
DEFAULT_LANG = 'en'
TIMEZONE = 'Asia/Tokyo'
DATE_FORMATS = {
    'en': ('jpn','%Y-%m-%d(%a)'),
}

ポイントメモ

  • SITEURLはpublishconf.py側で定義してるので、こっちは空欄
  • SITELOGOは設定する必要があるかわかんない
  • COPYRIGHT_YEARは、本Blogだと一番下に表示されるやつに対応
  • DEFAULT_LANGは、jp/Japaneseが使えなかったのでen設定、困ってない
  • DATE_FORMATSを定義しないと日付表示がイマイチになる
  • 元々SITETITLEがあったけど、SITENAMEとの違いが分からんかったので、テーマのHTMLを見てSITENAMEに統一させて削除した
  • SITESUBTITLEも同様にSITEDESCRIPTIONに統一させて削除した


カテゴリとタグの日本語変換

日本語のカテゴリやタグは追加するたびに設定にも反映させる運用としてます。

from unidecode import unidecode
CATEGORY_REGEX_SUBSTITUTIONS = [
    (unidecode("雑メモ"), "zatsumemo"),
    (unidecode("読書"),   "reading"),
    (unidecode("環境構築メモ"), "setup"),
    (r'[^\w\s-]', ''),   # remove non-alphabetical/whitespace/'-' chars
    (r'(?u)\A\s*', ''),  # strip leading whitespace
    (r'(?u)\s*\Z', ''),  # strip trailing whitespace
    (r'[-\s]+', '-'),     # reduce multiple whitespace or '-' to single '-'
]

TAG_REGEX_SUBSTITUTIONS = [
    (unidecode("雑メモ"), "zatsumemo"),
    (unidecode("実践ソフトウェアエンジニアリング"), "sepa"),
    (unidecode("翻訳"), "translation"),
    (r'[^\w\s-]', ''),   # remove non-alphabetical/whitespace/'-' chars
    (r'(?u)\A\s*', ''),  # strip leading whitespace
    (r'(?u)\s*\Z', ''),  # strip trailing whitespace
    (r'[-\s]+', '-'),     # reduce multiple whitespace or '-' to single '-'
]


スルーパスのファイル

STATIC_PATHSはcontentディレクトリの内容をそのままoutputへ出力してくれます。

STATIC_PATHS = [
    'images',
    'favicon.ico',
    'favicon-96x96.png',
    'apple-touch-icon.png',
    'web-app-manifest-192x192.png',
    'logo.png',
    '.htaccess',
    'robots.txt'
]


プラグインとサイトマップ設定

利用しているテーマで推奨していたものをそのまま使っている感じです。利用時にはpipで関連モジュールを入れる必要ありですね。

PLUGINS = [
    'sitemap', # generate sitemap document, see <https://www.sitemaps.org>
    'minchin.pelican.plugins.post_stats', # generate post statistics
    'related_posts', # find articles those share common tags
    'neighbors', # find next, previous article 
    'tipue_search', # generate data for searching
]

SITEMAP = {
    'format': 'xml',
    'priorities': {
        'articles': 0.6,
        'indexes': 0.5,
        'pages': 0.5
    },
    'changefreqs': {
        'articles': 'monthly',
        'indexes': 'daily',
        'pages': 'monthly'
    }
}

プラグインの内容はこんな感じ?

  • sitemap:サイトマップ(sitemap.xml)の作成
  • minchin.pelican.plugins.post_stats:記事最初の読み終わる時間目安の作成
  • related_posts:記事最後に出てくる関連記事の作成
  • neighbors:投稿順の前後記事の移動
  • tipue_search:ヘッダの検索機能


参考資料

まあ、Pelican公式のドキュメントを読みましょう、ですね。




Read more:

Related posts: