LoginSignup
8
5

More than 3 years have passed since last update.

fastpagesを使ってJupyter Notebookを簡単にブログに変換する

Last updated at Posted at 2020-02-29

ディープラーニングの無料オンラインコースで有名なfastaiからfastpagesというブログ作成ツールが公開されたので、早速使ってみました。

初期設定の部分で多少面倒だと感じる人もいるかもしれないので、手順を日本語でまとめました。
英語の説明で問題ない人は、公式のreadmeを見てください。

対象読者

  • jupyter notebookをブログに変換するお手軽な方法を知りたい人
  • ブログを公開する場所がgithub pagesで問題ない人

注意

記事内容は、2020年02月29日時点でのものです。

今後、fastpages導入手順がより簡単になるかもしれないとのことです。
コメント欄にて@peaceirisさんから指摘いただきました。

本記事の内容をお試しになる際には、プルリクエストの文面を念のために確認してください。

fastpagesの特徴

fastpagesは、github pagesにて公開するブログをJupyter notebookから自動生成するためのツールです。
自動生成にはgithub actionsが使用されており、自分の手元のPCでnotebookからwebサイトをビルドする手間を省けます。

公式の説明によると、次のような特徴があります:

  • 記事の変更をgithubのmasterブランチにpushすると、自動でブログが生成される。
  • Jupyter Notebookをそのまま記事として投稿できる。
  • Jupyter Notebookのセルの表示・非表示の切り替えができる。
  • 画像、ツイッターカード、youtube動画を埋め込める

fastpagesを使うための初期設定

はじめにテンプレートを公式のリポジトリからコピーして使用します。
sshキーの設定が完了し、botからのプルリクエストをマージしたら、ブログの完成です。
以降は、記事を投稿・編集するたびに、masterブランチにpushしていきます。

リポジトリをテンプレートから新規作成

fastai/fastpages: An easy to use blogging platform, with enhanced support for Jupyter Notebooks. - Gyazo

まず、fastpagesのリポジトリのテンプレートを使って、新規のリポジトリを作成します。
fastpagesのリポジトリにて、"Use this template"をクリックします。

適当に名前をつけてリポジトリを作ります。

Create a New Repository from fastai/fastpages - Gyazo

リポジトリを作成してから1分程度待つと、自動的にリポジトリへのプルリクエストが届きます。
このプルリクエストの指示にしたがって設定を進めます。

Pull Requests · yuki-data/fastpages-sample - Gyazo

秘密鍵と公開鍵を登録

プルリクエストの指示内容は以下のとおりです。

  • ssh key-pairを作る。ここで生成した公開鍵と秘密鍵を次のステップで登録する。
  • リポジトリのSecretsという設定項目で、SSH_DEPLOY_KEYという名前で秘密鍵を登録する。
  • リポジトリのDeploy keysという設定項目で、公開鍵を登録する

これらを済ませれば、masterブランチに変更をpushするたびに、webサイトのビルドが実行されます。

具体的には、次のようにします。

プルリクエストで示されている説明によると、8gwifiというツールを使うように勧められますが、手元で作成しても問題ありません。8gwifiは、オンラインで無料で利用できるssh-key pair生成ツールだそうです。

Select: RSA and 4096 and leave Passphrase blankとあるので、

ssh-keygen -t rsa -b 4096

で秘密鍵と公開鍵を生成します。

$ ls /Users/your_name/.ssh/ | grep id_rsa
id_rsa
id_rsa.pub

秘密鍵(id_rsa)と公開鍵(id_rsa.pub)を、それぞれ、githubの設定項目にてコピー・アンド・ペーストします。

SSH_DEPLOY_KEYというNAMEは、この通りに入力します。

Secrets - Gyazo

公開鍵のTitleは適当に決めてもいいです。Allow write accessにチェックを入れてください。

Add deploy key - Gyazo

これで完了です。

プルリクエストをマージして、数分待つとgithub pagesにて初期状態のwebサイトにアクセスできる

ssh key-pairの登録が完了したら、最後にプルリクエストをマージします。

これでgithub pagesのurlにアクセスすると、webサイトを見ることができます。

ここまでの一連の流れをyoutube動画で確認できます。

How to create your Free Data Science Blog on Github with Fastpages from Fastai - YouTube

8
5
2

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
8
5