ディープラーニングの無料オンラインコースで有名な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していきます。
リポジトリをテンプレートから新規作成
まず、fastpagesのリポジトリのテンプレートを使って、新規のリポジトリを作成します。
fastpagesのリポジトリにて、"Use this template"をクリックします。
適当に名前をつけてリポジトリを作ります。
リポジトリを作成してから1分程度待つと、自動的にリポジトリへのプルリクエストが届きます。
このプルリクエストの指示にしたがって設定を進めます。
秘密鍵と公開鍵を登録
プルリクエストの指示内容は以下のとおりです。
- 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は、この通りに入力します。
公開鍵のTitleは適当に決めてもいいです。Allow write accessにチェックを入れてください。
これで完了です。
プルリクエストをマージして、数分待つとgithub pagesにて初期状態のwebサイトにアクセスできる
ssh key-pairの登録が完了したら、最後にプルリクエストをマージします。
これでgithub pagesのurlにアクセスすると、webサイトを見ることができます。
ここまでの一連の流れをyoutube動画で確認できます。
[](http://www.youtube.com/watch?v= L0boq3zqazI)