若葉の技術メモ

コンピュータやプログラミングに関して調べたり、取り組んだりしたことをまとめる若葉のノート📓。コンピュータ・プログラミング初めてって方も一緒に勉強していきましょう!初心は大事!いつでも若葉☘のような意気込みで!

  • No.   

若葉の技術メモ

コンピュータやプログラミング・数理に関して調べたり、取り組んだりしたことをまとめる若葉のノート。

コンピュータ・プログラミング・数理が初めてって方も一緒に勉強していきましょう!

初心は大事!いつでも若葉☘のような意気込みで!

【Jupyter Labを使っている方必見!】HTMLをJupyter Lab内でプレビューする方法!

f:id:wakaba-mafin:20181203005532p:plain

Jupyter Lab。

まだβ版ではありますが、Pythonをベースとした統合開発環境で、コーディングや対話的なデータ解析、さらにはシェルを扱ったり、おおよそやりたい操作は全て行うことができます! 非常にリリースが待ち遠しいツールの1つであります。

しかしながら、デフォルトのJupyterLab(2018/12/19時点)ではHTMLのプレビューはブラウザのタブを別途開いて行うしかありませんでした。

ここで朗報です!

この問題点を解決するプロジェクトが現在進行中のようです!

今回はこのプロジェクトの1つ、HTMLのプレビューをJupyter Lab内で開く方法をご紹介します!

※この記事の内容をご自身で試される場合は自己責任でお願いします


Jupyter Labとは

jupyter.org

以前の記事でJupyterについては書かせていただきました。

wakaba-mafin.hatenablog.com

Jupyterとは、簡単に言ってしまうと、対話的にデータ解析を進めることができるウェブアプリケーションです。 この「対話的」というのが非常に重要で、思考の過程を残しておくことができるので、まさにデータ解析の必需品となっています。

その中でも、現在もプロジェクトが着々と進んでいるのがJupyterLab

こちらはまだ(2018年12月19日時点で)β版ではありますが、Jupyter Notebookとは異なり、対話的なデータ解析だけではなく、ファイル管理やコーディング、シェルの管理などを一括に行うことができるPythonをベースとしたプラットホームです。

今回はこのJupyter Labに関する問題点の1つとその解消方法についてご紹介します!

Jupyter Lab内でHTMLのプレビューを表示できない問題

Jupyter Lab。

普通のエディタとしての機能もあります。 つまり、テキストファイルやMarkdownファイルなどの編集を行うことができます。 特にMarkdownファイルに関してはMarkdownのプレビューも見ることができ、さらにそれがすぐにリダイレクトされるので、プレビューを見ながらMarkdownファイルの編集といった作業も行うことができます!

しかしながら、デフォルトのJupyter Labでは、HTMLの編集を行うことはできるのですが、そのプレビューをJupyter Lab内で開くことができません...

たとえ、ファイル名を右クリックして「Open With」を選んでも、選択肢は「Editor」しかありません...

f:id:wakaba-mafin:20181219005551p:plain

もちろん、無理矢理、「Open in New Browser Tab」を選択して、ブラウザのタブでプレビューを開くことはできます。

f:id:wakaba-mafin:20181219010335p:plain

しかし、これではプレビューを見ながらHTMLファイルを編集することができなくて非常に不便です...

やはり、プレビューを見ながら編集はしたいですよね...

というわけで、次の節でこの問題の解決方法についてご紹介します!

Jupyter Lab内でHTMLのプレビューを表示する方法

実はというと先ほどの問題、すでにJupyterLabのプロジェクト内でissueとして上がっています。

github.com

そして、このissueにおいてJupyter Lab内でHTMLをプレビューする拡張について議論・実装がなされています。 特にJupyter Lab内でHTMLをプレビューする拡張はMax Levineさんによって実装されているようです。

github.com

問題の解決方法

というわけで、Jupyter Lab内でHTMLがプレビューできない問題を解決する手順は簡単。 Max Levineさんのjupyterlab_htmlをインストールするだけ。

方法は簡単で

$ jupyter labextension install @mflevine/jupyterlab_html

でOK。もし、ここでnodejsがないなどのエラーが出た場合は

$ conda install nodejs

を叩いてから、先ほどのコマンドを打てばOK。

そして、

$ jupyter lab

として、Jupyter Labを開くと..

f:id:wakaba-mafin:20181219005749p:plain

のようにjupyterlab_htmlでビルドするかどうか尋ねてきます。 これを「BUILD」と答えれば自動でビルドが始まり、終わればJupyter Labをリロードするかどうか尋ねてきます。 これを「RELOAD」と答えて終了です!

簡単でしょ?

HTMLのJupyterLab内でのプレビュー

さて、実際にHTMLがJupyter Lab内でプレビューできるのか確かめてみましょう! Jupyter LabでHTMLファイルを右クリックして、「Open With」の選択肢の「View HTML」をクリックすれば...

f:id:wakaba-mafin:20181219011939p:plain

この通り!HTMLがJupyter Lab内でプレビューできます!

HTML+CSSのJupyterLab内でのプレビュー

もちろん、HTMLのプレビューだけでは物足りません。 実際はCSSなどでスタイルを指定したいのですが、実はそれもできちゃいます。

このHTML+CSSについては

github.com

で議論されていました。

簡単に言ってしまうと、HTMLファイルの頭に

<link rel="stylesheet" type="text/css" href='http://localhost:8888/files/${cssファイルのJupyterにおける絶対パス}'>

を入れるだけ。CSS絶対パスであることには注意してください!(ポート番号が8888でない方は適宜変更お願いします)

実際にやってみると、

f:id:wakaba-mafin:20181219010016p:plain

この通り!うまくCSSが反映されていますね!

まとめ

今回の記事ではJupyter Lab β版(2018/12/19時点)において、HTMLファイルをプレビューする方法をご紹介しました。

issueの方を見ていると、ver.1ではHTMLはプレビューできるものとしてリリースされる可能性がありますね! 非常に楽しみです😆

というわけで今回はここまで!

ご質問やご意見などございましたら、どんなに些細なことでも結構ですので、ぜひコメントよろしくお願いします!