Sphinx関係の小ネタです。
初めて知って、ちょっと感動しました。
目次
reStructuredTextで画像を表示
『Sphinxをはじめよう 第3版』 A.10より
- reSTで画像を埋め込むには
figure
ディレクティブ - インライン画像は
image
ディレクティブ
これらはdocutilsのディレクティブです。
画像のサイズはオプションで変えられます。
- height
- width
- scale
サイズのオプションは、tk0miyaさんのブログが詳しいです。
targetというオプションでリンクにできる!
サイズのオプションの他に、target
というオプションがあることを知りました。
.. figure:: _static/pyconjp2019.jpg :target: https://www.flickr.com/photos/pyconjp/48743997848/in/album-72157710870622516/ .. image:: _static/breakfast.jpg :target: https://www.flickr.com/photos/pyconjp/48818171768/in/album-72157710870622516/
imageディレクティブ
https://docutils.sourceforge.io/docs/ref/rst/directives.html#image
target
: URI or reference name
Nest the image in a hyperlink reference element (make it "clickable").
以下のように書けるんです!
.. image:: <画像のパス> :target: <リンク先のURL>
figureディレクティブ
https://docutils.sourceforge.io/docs/ref/rst/directives.html#figure
The "figure" directive supports all options of the "image" directive.
imageディレクティブのオプションはtargetも含めて、figureディレクティブにもあります。
終わりに
reStructuredTextのfigureやimageディレクティブのtargetオプションを知りました。
画像がリンクになります。
今回作ったSphinxプロジェクトはこちら
知ったきっかけは、自作のSphinx拡張 sphinx-new-tab-link のissueです。
issueは使っている方がいると分かって嬉しいですし、今回のtargetオプションのような知らないことを知る機会にもなってとてもありがたいです。
こちらのissue1にも対応していくぞ💪
-
issueは設定値
new_tab_link_show_external_link_icon=True
の挙動のバグです。デフォルト(この設定がオフ)ではimageディレクティブのtargetオプションのリンクは別のタブで開く動きをしました。https://github.com/ftnext/sphinx-new-tab-link/commit/9aed3cca9eb2833880f8436ed8e374ca8f63851d↩