概要
表題の通り、asciidoc で書いた index.adoc を index.html に変換して、Github Pages でサイトにする。
mainブランチに index.adoc をコミットすると Github Actions で変換からデプロイまでやってくれるパイプラインも組む。
背景
Markdown で自分のスキル一覧などを書いていたのだが、テーブル作成で細かいことができない(セルの結合とか)ため、Asciidoc にしたかった。
ステップ
Github Actions パイプラインの作成
まず、Actions で変換からデプロイをやってくれるパイプラインを組む。 正確にはデプロイはGithub Pagesが勝手にやってくれるから、以下のパイプラインはhtmlに変換してgh-pagesブランチにpushするだけ。
name: CI
on:
push:
branches: [ main ]
jobs:
asciidoctor_job:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Build AsciiDoc step
id: documents
uses: Analog-inc/asciidoctor-action@master
with:
shellcommand: "asciidoctor -D docs index.adoc"
- name: Save AsciiDoc step
uses: actions/upload-artifact@v1
with:
name: Output-document
path: ./docs/index.html
- name: publish
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs
工夫した点
- asciidoctor コマンドで /docs 配下に index.html を出力した。これにより、gh-pagesブランチ以下に無駄なファイルを push しなくて済んだ。
Github Pages の設定
- source: Deploy from a branch
- branch: gh-pages /(root)
index.adoc の作成
あとは main ブランチのルートディレクトリに適当に Asciidoc ファイルを作る。 main ブランチに push すると、ジョブが走ってデプロイまでされる。
思ったこと
- asciidoctor コマンドって同名のhtmlにしかしてくれなさそう。本当は README.adoc -> index.html にしたかったけど。
- Github Actions 初めて使ったがビルドとか実行が結構早い。無料でどこまで使えるのだろうか。
- Github Token とか勝手にやってくれるので便利。