Hugoでブログをサクっと作った話

- #hugo #css #github-pages #github-actions #cloudflare #dns

作ってみたのでその作業ログを置いておきます


まずサイトを作る

特に意識したいポイント

利用するツール・サービス

Hugoテーマを選ぶ

今回は Manis を使ってみることにした

ローカルでHugoサイト新規作成

Hugoはインストール済みなのでインストール方法は省略

$ cd PATH_TO_HUGO_DIR
$ hugo new site myblog
$ cd myblog && git init
$ cd themes
$ git submodule add https://github.com/yursan9/manis-hugo-theme

編集ブランチと機能追加ブランチを分ける

$ git branch -a

  custom-manis
* edit
  main

サイトの見た目を変える

/* Custom */
.sep {
  width: 100%;
}
hr:not(.sep) {
  border: dashed 1px #999;
  width: 90%;
}

これでテーマ弄りは終了


記事を作成する

記事管理の方針

投稿する記事を用意


サイトを公開する

リポジトリ管理の方針

GitHub Actionsで自動デプロイ

最初だけは手動でデプロイしようと思ったがGitHub Actionsでやっちゃった方が早そうなので先にActionsの設定をすることにした

name: GitHub Pages

on:
  push:
    branches:
      - main  # Set a branch name to trigger deployment

jobs:
  deploy:
    runs-on: ubuntu-22.04
    permissions:
      contents: write
    concurrency:
      group: ${{ github.workflow }}-${{ github.ref }}
    steps:
      - uses: actions/checkout@v3
        with:
          submodules: true  # Fetch Hugo themes (true OR recursive)
          fetch-depth: 0    # Fetch all history for .GitInfo and .Lastmod

      - name: Setup Hugo
        uses: peaceiris/actions-hugo@v2
        with:
          hugo-version: '0.111.3'

      - name: Build
        run: hugo --minify

      - name: Deploy
        uses: peaceiris/actions-gh-pages@v3
        with:
          deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
          external_repository: roodolv/roodolv.github.io
          publish_branch: main
          publish_dir: ./public
          cname: roodolv.dev

カスタムドメインを設定

独自ドメインを取得

独自ドメインを設定

192.30.252.153
192.30.252.154
185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
XXX.ns.cloudflare.com
YYY.ns.cloudflare.com

DNSのサーバが切り替わるのを待つ

❯ dig roodolv.dev +nostats +nocomments ns

; <<>> DiG 9.16.16 <<>> roodolv.dev +nostats +nocomments ns
;; global options: +cmd
;roodolv.dev.                   IN      NS
roodolv.dev.            21600   IN      NS      ns-cloud-a3.googledomains.com.
(省略)
ns-cloud-a4.googledomains.com. 238999 IN A      216.239.38.106
ns-cloud-a4.googledomains.com. 239116 IN AAAA   2001:4860:4802:38::6a
(省略)
❯ dig roodolv.dev +nostats +nocomments ns

; <<>> DiG 9.16.16 <<>> roodolv.dev +nostats +nocomments ns
;; global options: +cmd
;roodolv.dev.                   IN      NS
roodolv.dev.            262     IN      NS      xxxxxxxxx.ns.cloudflare.com.
roodolv.dev.            262     IN      NS      xxxxxx.ns.cloudflare.com.

wwwサブドメインからのリダイレクト

設定する必要はないと思うが自分は何となく気になったので設定


おわりに

サクっと出来てよかった


  1. なんとこのブログにも維持費が発生してしまった ↩︎