Jupyter Notebook で実行した結果や、matplotlib や seaborn で生成した図を、そのまま WordPress に表示して、記事にしたいとする。

調べてみると、以下の やり方があるようだ。

  1. gist に アップロードして公開したものを WordPress に 埋め込む。
  2. Jupyter Notebook を html 形式で、ダウンロードする。
  3. .ipynb ファイルを nbconvert で html ファイルにして WordPress に入力する。
  4. jupy2wp を使う。

gist を埋め込む

Jupyter Notebook には、Gist-it という extentions がある。 extentions の有効方法については、以下の README を参照。

これを有効にすると、ツールバーに gist のマークが現れる。ポチルだけで、gist に ipynb がアップロードされて、公開される。

注意点は、gist-it の設定画面から Github personal access token を入力することだ。そうしないと、anonymous として gist が公開される。

しかし、この方法は自分は好まない。なぜなら、gist を WordPress に 埋め込んだとき、コードの高さが固定されてスクロールバーが出てきてしまうからだ。この回避方法がわからなかった。もし、この問題が回避できれば、gist はいいかもしれない。

どういう仕組みかわからないけれども、図表も表示される。

HTML 形式でダウンロードする

Jupyter Notebook の notebook を開いて、 File > Download as > HTML から html 形式でダウンロードする。

出来た html ファイルを WordPress のテキスト画面に貼り込む

この作戦も、自分は好まない。なぜなら、Jupyter Themes を使っているのだけれども、 Themes が反映された状態で HTML がダウンロードされるからだ。

黒背景を使っているので、真っ黒な画面になった、よくない。

nbconvert をつかう

以下のサイトで紹介されている方法。

1.Jupyter Notebook でコンテンツを作り、Save する 2.nbconvert で html ファイルに変換する

$ jupyter nbconvert --to html --template basic 出来たファイル.ipynb

3.出来た html ファイルを WordPress のテキスト画面に貼り込む 4.WordPress の CSS ファイルに最後に示した CSS を追加する。

これはいいかもしれない。しかし、もっといい方法を見つけた。

jupy2wp を使う

jupy2wp というツールを使う。

インストール方法は README 参照。ちょっとコマンドオプションが長いけれども、以下のように使う。

python -m jupy2wp.jupy2wp --xmlrpc-url https://futurismo.biz/xmlrpc.php --user username --password hogehoge --nb titanic-cnn.ipynb --title "Kaggle: Titanic 問題データ分析" --categories [Python, 統計] --tags keras

こうすると、下書きの状態で、ipynb で表示されていた内容がそのまま記事として投稿される。

さらに、画像は、/upload フォルダ配下に自動でアップロードされて保存される。これはいい。