Jupyterはすごい便利なんですが、この機能があったらなーと思うことがあります。
そんなときにはextensionです。
JupyterにはNotebook extensionsとかいうのがあって、機能の拡張ができるようになっています。
公式サイトにもextensionsがあるということはちょこっと載ってるんですが、いくつか使用してみると結構便利。
Jupyterは使っているけどextensionは使っていないというひとに是非試して欲しいです。
Jupyter notebook extensions
Jupyterに機能を追加するextensionを集めたレポジトリがGitHub上に公開されています。
このレポジトリを利用すると、ブラウザからextensionのactivate/deactivateの切り替えが可能で便利です。
IPythonの公式デベロッパーチームとは関係ないグループで開発されているようです。
インストール
pip install pyyaml
git clone https://github.com/ipython-contrib/IPython-notebook-extensions
cd IPython-notebook-extensions
sudo python setup.py install
コンフィグレーション画面
インストールが完了したらコンフィグレーション画面を開き、気に入ったextensionを有効にしましょう。
コンフィグレーション画面はJupyter notebookを実行してブラウザからlocalhost:8888/nbextensions/
にアクセスすると開くことが出来ます。
jupyter-vim-binding extension
普段vimを使っている人にとってvimのキーバインドが使えないとストレスを感じます。
そういう人のためにjupyter-vim-bindingというextensionがあります。
さきほどのレポジトリには入っていませんが、以下のレポジトリから単独で入れることが出来ます。デモ画像もGitHubの方にあります。
直接インストールする方法とさきほどのIPython-notebook-extensionsに組み込んでインストールする方法があります。
今回は後者でインストールします。
cd $(jupyter --data-dir)/nbextensions/usability
git clone https://github.com/lambdalisue/jupyter-vim-binding.git vim_binding
chmod -R go-w vim_binding
インストールしたらlocalhost:8888/nbextensions/
から有効にしましょう。
もともとのキーボードショートカットで使用できなくものもあるので注意してください。
お気に入りのextension
NbExtensions menu item
Editメニューにlocalhost:8888/nbextensions/
を開くボタンを追加します。
とりあえずこれを有効にしましょう。
Code Font Size
コードのフォントサイズを大きく/小さくすることができるボタンをツールバーに追加します。
Codefolding
セル内のコードを折りたたむことが出来ます。
Comment/Uncomment Hotkey
コメント/アンコメントを行うショートカットを追加します。
Drag and Drop
画像をドラッグ・アンド・ドロップすると画像をノートに挿入します。
画像はノートブックと同じ階層のディレクトリにコピーされ、それを参照する形での挿入となります。
youtubeにデモ動画があります。
Equation Auto Numbering
数式に式番号を入れます。式番号の表示/非表示ボタンも追加されます。
Table of Content
こんな感じでコンテンツテーブルが表示されます。
zenmode
メニューバーとかが邪魔なときに使います。