記事したい(ablog

$ pip3 install ablog
1extensions = [
2    "ablog",
3    "sphinx.ext.intersphinx",
4]
5
6post_date_format = "%Y-%m-%d"
7post_date_format_short = "%Y-%m-%d"

ブログのように時系列で記事を作成する場合、ABlog for Sphinxを使うと便利です。 記事にはカテゴリやタグ、著者などのメタ情報も追加できます。 設定の詳細はABlog Configuration Optionsを参照してください。

ヒント

post_date_format_shortのようにドキュメントに記載がないオプションもありました。 sunpy/ablog - GitHubにあるソースコードも確認するとよさそうです。

1ページに1記事したい(blogpost

 1---
 2blogpost: true
 3date: 公開日
 4category: カテゴリ名
 5tags: タグ1, タグ2, タグ3
 6---
 7
 8# 記事のタイトル
 9
10記事の本文。記事の本文。記事の本文。記事の本文。記事の本文。
11記事の本文。記事の本文。記事の本文。記事の本文。記事の本文。

ページ全体を記事にする場合、フロントマターにblogpost: trueを設定し、必要なメタデータを設定します。

1ページに複数記事したい(post

 1# 1ページに複数記事したい
 2
 3:::{post} 公開日1
 4---
 5category: カテゴリ名
 6tags: タグ1, タグ2, タグ3
 7---
 8
 9## 記事1のタイトル
10
11記事1の本文。記事1の本文。記事1の本文。記事1の本文。記事1の本文。
12記事1の本文。記事1の本文。記事1の本文。記事1の本文。記事1の本文。
13
14:::
15
16:::{post} 公開日2
17
18---
19category: カテゴリ名
20tags: タグ1, タグ2, タグ3
21---
22
23## 記事2のタイトル
24
25記事2の本文。記事2の本文。記事2の本文。記事2の本文。記事2の本文。
26記事2の本文。記事2の本文。記事2の本文。記事2の本文。記事2の本文。
27
28:::

postディレクティブを使って、1ページに複数の記事を書くことができます。

記事一覧したい(postlist

1:::{postlist}
2---
3format: "{date} : {title}"
4sort: reversed
5---
6:::

postlistディレクティブを使って、記事の一覧を作成できます。 リストを作成するときの表示形式はformatで設定できます。

ヒント

サイドバーに表示するrecentsposts.html - GitHub{date}の表示形式はconf.pypost_date_format_shortが適用されます。 これは、ドキュメントに書かれてなくてハマったのでメモしておきます。