nikkie-ftnextの日記

イベントレポートや読書メモを発信

sphinx-revealjsで作るスライドで、リンクをブラウザの別タブで開くようにする(なんとsphinx-new-tab-linkと一緒に使うだけ!🦋)

目次

attakeiさんによるsphinx-revealjs

sphinx-revealjsは、SphinxでReveal.js製スライドを生成できるライブラリです。
生みの親のattakeiさんによる記事があります。

私はsphinx-revealjsを愛用しています。
月一ペースで登壇しているので、ひょっとすると日本一(まさか世界一!?)sphinx-revealjsを使っているのかもしれません(挑戦者求ム)

さてこのたび、自作のSphinx拡張 sphinx-new-tab-link(v0.3.0以降)が sphinx-revealjs と一緒に使えるようになりました!1
sphinx-revealjsで作ったスライドの中にある外部のサイトに遷移するリンクが、ブラウザの別のタブで開きます

必要な設定

https://zenn.dev/attakei/books/presentation-sphinx/viewer/getting-started から始まります

  1. pip install sphinx-new-tab-link
  2. conf.pyのextensionsに追加
extensions = [
   # 使用する拡張としてsphinx-revealjsを新規追加
   'sphinx_revealjs',
+   # 合わせてsphinx-new-tab-linkも追加して、外部リンクがブラウザの別タブで開くスライドに
+   'sphinx_new_tab_link',
]

reST原稿の例

source/index.rst

======================================
Sphinxでのプレゼンテーションを体験する
======================================

準備
====

https://zenn.dev/attakei/books/presentation-sphinx/viewer/getting-started より

このURLはブラウザの別タブで開くんです!!

ファイル一式はこちらのリポジトリにあります:

終わりに

sphinx-revealjsだけでなくsphinx-new-tab-linkも非常に簡単に設定できてますよね?(わずか2行。ふふーん♪)
sphinx-revealjsで発表資料を作っている方は、ぜひsphinx-new-tab-linkも一緒に試してみてください!

触ってみた感想や「こういうユースケースで使いたいんだけどサポートしてくれないか」といった要望、そしてリポジトリへのスターも、お待ちしています!

sphinx-revealjsもsphinx-new-tab-linkも、応援ください

P.S. コマンドアップデート版

Python 3.12.0 で以下のコマンドで動かしました

% pip install 'sphinx==7.2.6' 'sphinx-revealjs==3.0.0' 'sphinx-new-tab-link==0.3.0'
% sphinx-quickstart \
  -q \
  -p 'My presentation' \
  -a nikkie \
  -v '' \
  -l ja \
  --sep \
  --extensions sphinx_revealjs \
  --extensions sphinx_new_tab_link

このコマンドで対話的に設定しなくてよくなり2、conf.pyの編集が不要になっています。

此処から先は index.rst を変えてmake revealjsに合流します


  1. 仕組みについてはこちらで言及しています
  2. 詳しくは