2022年9月2日金曜日

Sphinx で markdown のファイルを include する方法で躓く

Python のプロジェクトで sphinx の autodoc を使おうと努力?していて、 プロジェクトの文書は docs ディレクトリに入れている。

プロジェクトトップの README.md というファイルに 概要を記載することにしているのだが、 こいつを sphinx の文書に include させたくなったのだが、 markdown を変換してくれない、という問題が発生した。 extension には myst_parser を加えている。

REASME.rst にするとか、docs ディレクトリにコピーして使うとかで問題ないのだが、 markdown の方が市民権が強いみたいだし、釈然としない。で、調べてみると、 以下の記事をみつけた。

プロジェクトトップのファイルを autodoc で直接利用する方法について、 昔から話はあるようだが、 markdown ファイルの include には、課題が残っていたようだ。

解決方法は、以下のふたつ。

  1. markdown を reStructured に変換する m2r2 という extension を追加して、 mdinclude というディレクティブを使う。

    .. mdinclude:: ../README.md
    
  1. extension に myst_parser 追加して、 include 時に parser を指定する。ただし、新しいバージョンでないとだめ。

    .. include:: ../README.md
       :parser: myst_parser.sphinx_
    

両方とも、markdown ファイルを include してくれたので、よしとしよう。

しかし、肝心なのは中身なのに、それがまだまだ。 python は、gpx がらみがほとんどで、自転車封印2.5年越えで、 モチベーションが既に維持できてない。

0 件のコメント:

コメントを投稿

麻のボディタオル

2018年の秋(まだ、自転車を封印してない)、 近江上布伝統産業会館 で、興味からボディタオルを購入した。 お、よかった。: 自然派パン工房 ふるさとの道 ほぼ毎日風呂で使ってきて、ついに寿命がきたようだ。 お店の方に、「糸が痩せて破れてくる」まで使える、と...