Hugo
でこのブログを立ち上げたので、Hugo
のインストールからGithub Page
で公開するまで。
環境
- windws11
Hugo
そもそもHugo
のことをよく知らずに技術選定をしてしまったので、ここでしっかり調べておくことにする。
Hugo
はGo
で記述された静的サイトジェネレータで 「ウェブサイトを構築するための世界最速のフレームワーク」 らしい。
The world’s fastest framework for building websites | Hugo
静的サイトジェネレータ
静的サイトジェネレーターとは、生(未加工)データとテンプレート群を基に、完全に静的なHTML Webサイトを生成するツールのことです。静的サイトジェネレーターは、基本的に個々のHTMLページをコーディングする作業を自動化し、それらのページをユーザーがすぐに使えるようにします。これらのHTMLページは事前作成されたものであるため、ユーザーはブラウザで即座に読み込むことができます。
上記の通り、事前にHTMLを生成するのでパフォーマンスがいいのがメリットのひとつ。
Hugoのインストール
公式サイトに詳しい。
Windows
なのでWindowsのインストール方法通りに行った。
パッケージ管理システムのChocolatey、ScoopとWingetを使うインストール方法が提供されていた。他にも2つインストール方法が記載されている。比較表があるのでわかりやすい。
パッケージ管理システム
ちなみにパッケージ管理システムとは、
コンピュータのプログラムを一貫した方法でインストールやアンインストール、ライブラリなどの依存関係を解決する流れをツールによって管理を自動化するシステム
のこと。
npm
とかComposer
とかも言語のパッケージ管理ツールにあたる。
Chocolatey
が有名っぽいけど、インストール方法がぱっと見わからなかったので、Scoop
を使用することにした。
調べるとMac
ではHomebrew
一択っぽい。Windowsではwinget
が公式っぽく、インストールも必要なく使えて便利そうだった。
インストール情報をエクスポートすることもできるので、パソコンの買い替え時とかにも重宝できそうだった。
Windowsのパッケージマネージャー「winget」を使ってみた
今思えばwinget
にすれば良かったと思うけど、Scoop
を選択したので、それで進めていく。
Scoopでインストールする
scoop install hugo-extended
上記コマンドを使用すれば、hugo
の拡張版をインストールすることができる。
'hugo-extended' (0.122.0) was installed successfully!
Hugoでサイトを構築する
Hugo
でサイトを構築するのは簡単で、下記コマンドを叩くだけでいい。
hugo new site site-name
上記を実行した後に、
hugo -D serve
で、サイトを確認することができる。
テーマを選んで適応する
Hugo
は沢山のテーマが提供されている。Wordpress
に通ずるものがある。
今回は一番上にあったPaperModを採用することにした。
テーマを導入する
git submodule add https://github.com/adityatelange/hugo-PaperMod.git themes/PaperMod
サブモジュールって?
外部の git リポジトリを、自分の git リポジトリのサブディレクトリとして登録し、特定の commit を参照する仕組み
どういうこと🤔?
とりあえず、上記コマンドでthemes
の中にPaperMod
がインストールされた。
最後にhugo.yaml
に
theme: PaperMod
を追加すればテーマが適用される。