2024.08.26
HUGO+GitHubPagesデプロイ時にDartSassを使う
ワークフロー内チェックアウト前に以下の処理を記述することで、実行環境でDartSassのコンパイルが実行できるようになります。
- name: Install Dart Sass
run: sudo snap install dart-sass
最終的には以下のようになります。
config.yml
name: github pages
on:
push:
branches:
- master
# Actionタブからこのワークフローを手動で実行できる
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Install Dart Sass
run: sudo snap install dart-sass
- name: Checkout
uses: actions/checkout@v3
with:
submodules: true
fetch-depth: 0
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: 'latest'
extended: true # 拡張機能にアクセスするか
- name: Build
run: hugo --minify
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
deploy_key: ${{ secrets.DEPLOY_SECRET }}
external_repository: OrangeCocoa/OrangeCocoa.github.io
publish_branch: master
ローカル環境へのScoopのインストールとDartSassのインストール
Macではhomebrewでインストールできますが、今回はWindowsでインストールします。
Windows PowerShellを開き、以下の2つのコマンドを実行します。
Set-ExecutionPolicyでは同意を求めらえれるのでYを入力。
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
続けて、PowerShellで以下のコマンドを実行します。
こっちはコマンドプロンプトでも実行できますが、実行後どっちにしろ環境変数の適用のために終了させないといけないのでそのまま実行。
scoop install main/sass
これでhugo server
コマンド実行時、transpilerにdartsassを指定してToCSSを使っていた場合にDartSassによるコンパイルが走ります。