0
0

More than 1 year has passed since last update.

【Sphinx拡張】動画などの埋め込み

Last updated at Posted at 2021-09-29

埋込み型のコンテンツを :emb:`コンテンツの種類<コンテンツのID>` という書式でrstファイルに書くとコンテンツが表示されるロールを作りました。

まだまだ作り込みが甘いαー版ですが、紹介させてください。

1.セットアップ

インストール

pip install sphinxcontrib.embedding

設定

 extensions = ['sphinxcontrib.embedding',]

書き方(Youtubeの場合)

:emb:`youtube<bJU9xdAZGQM>`
:emb:`yt<bJU9xdAZGQM>`

2.追加機能

現在はYoutube, Vimeo, Nicovideoに対応していますが、設定で任意の埋込み型コンテンツを追加することができます。これを思いついて「面白そう」と思ったのが作った動機です。

html_embedding = {'youtube': '<iframe width="560" height="315" src="https://www.youtube.com/embed/{0}" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>'

上記の例のように、IDの部分を {0} に変えて設定します。

3.補足

今はIDを一箇所に指定することしかできませんが、次のようなことに対応するつもりです。

  • 同じIDを2箇所で使う埋め込み。
  • ID以外の指定。(例、Youtubeでの開始時刻)
  • ロールだけでなく、ディレクティブにも対応。
    • 細かくオプションを指定するなら、ディレクティブの方が使い勝手が良さそうなので。

以上

何か要望・アイデアがあれば教えてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0