Markdown導入の検討と、reStructuredText継続の判断#

Sphinx + ablog において、記事を reStructuredText ではなく Markdown で書く運用を検討した。

MyST-Parser を導入することで、Sphinx は Markdown を理解可能となり、以下のような設定を行うことで .md ファイルでの投稿も実現できることが確認された。

extensions = [
    "ablog",
    "myst_parser",
]

myst_enable_extensions = [
    "colon_fence",
    "deflist",
    "attrs_block",
    "html_admonition",
    "html_image",
    "substitution",
    "replacements",
]

Markdown 側では、以下のような front-matter を冒頭に記述することで .. post:: 相当の意味を持たせることができる。

---
title: Markdownで書いた記事
date: 2025-06-03
tags: [ablog, myst, markdown]
author: mtakagishi
---

さらに、MyST記法を用いることで notewarningtoctree といった Sphinx ディレクティブの一部も Markdown 上で再現可能であることも確認された。

:::note
これは注意書きです。
:::

しかし、ChatGPT上でMarkdown形式の記事案を得ようとした場合、チャット欄がMarkdownを自動的にレンダリングしてしまうという問題に直面した。

たとえば :::{note} のような構文は、ユーザーがコピーペーストしようとした段階で展開表示されてしまい、正しく貼り付けることができない。 これはUI設計上の仕様であり、ユーザー側からの回避は困難である。

このため、Markdownでの編集やテンプレート設計をChatGPTと協調して行うには現時点で限界があると判断した。

よって、今後の記事運用については、引き続き .rst 形式をベースとした運用を継続する方針とする。

Markdown記法に関しては、今後 Sphinx 本体や ablog、MyST 側の進化や、ChatGPTのMarkdown出力制御手段が改善された段階で、再度検討の余地があるだろう。

---

この検討記録は、自身の技術的試行錯誤と選択のログとして、ブログ上に残しておく。

記事情報

著者:

mtakagishi

公開日:

2025-06-03