Hugo に Gruvbox テーマをインストールする
以前 Hugo の Stack というテーマのインストール手順について書いた。
しかし、最初に作った Hugo のサイトということもあり、手探りで作業したので不具合のようなものが起きるようになった。
例えば hugo コマンドでの書き出しに 80 秒もかかってしまう。記事数が 2000 もあるからこんなものだろうとおもったが、記事数が 3000 近い別のサイトでは 10 秒弱で書き出せる。それと hugo server コマンドでのプレビューでのサイト表示ができなくもなった。
再度 Stack テーマを再インストールしてもよかったが、これを機に新たに Gruvbox というテーマを使うことにした。
Gruvbox | Hugo Themes
https://themes.gohugo.io/themes/hugo-theme-gruvbox/
Stack テーマと違ってインストールがややこしかったのでメモをしておく。
(1)新規 Hugo サイトの作成をする(mySite というプロジェクト名とする)。
$ hugo new site mySite
(2)テーマのファイルをダウンロードする。
$ cd mySite
$ git clone https://github.com/schnerring/hugo-theme-gruvbox themes/gruvbox
(3)npm コマンドを実行可能にするため、以下のサイトに従い node.js をインストールする。
Macでnode.jsをインストール、npmコマンドも使用可にする【2021.1月最新版】 #Node.js - Qiita
https://qiita.com/non0311/items/664cf74d9ff4bad9cf46
(4)Gruvbox テーマのディレクトリへ移動。
$ cd themes/gruvbox
(5)依存関係のインストール。
$ npm ci
(6)Go のインストール。
$ brew install go
$ go version
(7)1つ上のディレクトリ(mySite のルートディレクトリ)へ移動。
$ cd ..
(8)Hugo モジュールの初期化をする。
$ hugo mod init mySite
(9)Gruvbox 公式サイトに書かれた Add the following to the config.toml file: 以下の設定を hugo.toml に 追記する。
Gruvbox | Hugo Themes
https://themes.gohugo.io/themes/hugo-theme-gruvbox/
(10)テーマのインストール。
$ hugo mod get
(11)NPM の package.json を初期化し、依存関係をインストールする。
$ hugo mod npm pack
$ npm install
(12)hugo.toml に以下を追記。
theme = 'gruvbox'
(13)サンプルの /themes/gruvbox/content の中身を mySite 直下の /content へコピーする。
(14)以下のコマンドで Hugo のサイトのプレビューを立ち上げる。
$ hugo server
*
しかしデフォルトで個々の投稿にカテゴリーが表示できない。日本語のタグが文字化けする。それらを自力で解決するのは大変なので、このテーマを使うのをやめた。
参考:
MacにGoをインストールする #Mac - Qiita
https://qiita.com/sanogemaru/items/cabc700e6d9a28219cc8
Hugoのテーマをモジュール化する – さぶろぐ!
https://sublog.zinntikumugai.com/post/2020/03/hugo_modules/