NotionのAPIを使ってブログを作りたいと考えていたのですが,ReactやNext.jsを使ったものだとAPIを読み込むのに時間がかかったのと,シンプルなものがなかったのですが,notablogはシンプルでかつAPIにリクエストを送らないのでとても便利だったので書き残しておきます
全体はREADMEにある通り,以下のような感じで,タグが使えてメニューも作りやすいです.
作り方
まずnotablogの仕組みはコマンドを打ったときにAPIへリクエストを行いhtmlを生産するというものです.この作業を以下のような構成でgithub actionsを用いて自動化します.
リポジトリをクローン・またはフォーク
まずは次のリポジトリをクローン・またはフォークしてください.notablogの作成者が提供しているスターターキットです.
https://github.com/dragonman225/notablog-starter
Notionの設定
このテンプレートを複製して自分のNotionに導入してWebで公開をしておいてください.
https://www.notion.so/b6fcf809ca5047b89f423948dce013a0?v=03ddc4d6130a47f8b68e74c9d0061de2
config.jsonの設定
config.jsonの"url"
の部分にNotionの公開用urlを入れてください. ここが正しくできていないとAPIのリクエストができません.
.github/workflowsの設定
次にクローンしたフォルダの中に.github/workflows/deploy.yml
というファイルを追加してください.
その中に次のように記載します
name: Deploy to GitHub Pages on: workflow_dispatch: schedule: - cron: '0 0 * * *' jobs: build: runs-on: ubuntu-latest strategy: matrix: node-version: [15, 16] steps: - uses: actions/checkout@v3 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v1 with: node-version: ${{ matrix.node-version }} - run: npm i -g notablog - run: notablog generate . - name: Deploy uses: peaceiris/actions-gh-pages@v3 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./public
この状態だとページの更新はRuns at 00:00 UTC every day.
になっています日本時間ではないので注意です.
変更はcron:
の部分の値を変更すすことでできます.詳しくはcron 定期実行
で調べてください
push
ここまでできたらgithubにコミットしてpushしましょう.
Notionにブログを書いておいて,定時になれば自動的に別ブランチにデプロイされます.
デプロイ先はgh-pages
ブランチになっているのでgihub pagesのブランチ設定をすれば公開も完了です.
さらに詳しい内容はnotablogのREADME.mdに書いてあるので参照してください
では!