uki00a.github.io

このブログについて

#pagic #deno #GitHubActions

使っている技術

このブログはpagicを使って作成しています。

この記事を書いた時点でのバージョンは次の通りです。

pagicとは?

  • Denoで実装されたスタティックサイトジェネレータ
  • 記事をReactコンポーネントまたはmarkdown形式で記述できる
  • プラグインシステムにより拡張することが可能

pagicの使い方

TBD

デプロイ

GitHub Actionsを使って、ビルド及びデプロイを自動化しています。

.github/workflowsディレクトリ内に以下のようなyamlファイルを用意します。

name: build
on:
  push:
    branches:
      - master
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@master
    - uses: denolib/setup-deno@master
      with:
        deno-version: 1.3.1
    - name: Build
      run: |
        deno run --unstable --allow-read --allow-write --allow-net https://deno.land/x/pagic@v0.8.6/mod.ts build
    - name: Deploy
      uses: peaceiris/actions-gh-pages@v3
      with:
        github_token: ${{ secrets.GITHUB_TOKEN }}
        publish_dir: ./dist

これにより、masterブランチへのpush時に、以下の処理が実行されます。

  1. pagic buildによる静的サイトの生成
  2. peaceiris/actions-gh-pagesによるGitHub Pagesへのデプロイ

このサイトのソース

https://github.com/uki00a/blogに置いています