Skip to content

Hugo

harbor試してみた

ローカルサーバーでやってみた。

検索は問題なく導入できて動作も問題なさそうだけど、見た目がだいぶ印象変わってしまうのがちょっと悩ましい。

あと、一覧で日付が出てるのに個別ページに遷移すると日付が出ないのはなぜだろう。デモサイトでは個別ページにも出てるのに。

乗り換えはいったん保留。

Hugoテーマharbor

matsuyoshi30/harbor: Simple and minimal personal blog theme.

このテーマ、全文検索対応しているようなので気になっている。

検索に使われているのはnextapps-de/flexsearch: Next-Generation full text search library for Browser and Node.jsらしい。

flexsearch.jsは日本語だと半角英数字が検索できないとかあるみたいだけど、簡単に使うだけなら問題ないのではないか、問題あったとしても先人の工夫で乗り切れるのではないか。

HugoにAlgoliaを導入してみる

Hugo + Algolia + Instantsearch.jsで静的サイトに全文検索を導入 - OTTANXYZを見ながらやってみた。

とりあえずローカルでできることを確認してから、GitHub Actionsに組み込もうかと。

で、上記サイトは設定ファイルがYAMLだったのでTOMLで書くところで躓いた。

[outputFormats.Algolia]
  baseName = "algolia"
  isPlainText = true
  mediaType = "application/json"
  notAlternative = true

これで動いた。

Read more

Hugoのバージョンアップ

しばらく追っていなかったら、Hugoのバージョンが結構上がっていたので、最新を使ってみることにした。

とはいえ、デプロイにGitHub Actionsを使っているので、設定ファイルの更新だけで完了した。

差分

Hugoのバージョン変更より、ついでに更新したactionsの変更で躓いてしまった。 今はDEPLOY_KEYを作る必要はなく、自動的にGITHUB_TOKENが作られるようになっていた。

Read more

パイプラインをGitHub Actionsに移行

AWS Amplifyとか、Netlify試したりしていたら、Azure Pipelineでのこのページのビルドが通らなくなってしまったので、設定し直しのついでにGitHub Actionsに移行してみた。

手順はQiitaの記事を見ながらそのままで。

思ったより簡単にできてしまって、最初からこれでよかった感が。。

hugoのテーマを変えてみる

  • HermitからInkblottyへ。
  • ちょっと使い勝手が合わないところがあったのでforkして改造。

変更したところ

  • カテゴリとアーカイブ使ってないのにサイドバーに表示されているのを非表示に

ハマったところ

  • 最近の投稿が表示されないのはpostSectionsパラメータが違っていた
  • config.toml で設定したら表示された

Hugoの導入

  • やってみよう

インストール

https://gohugo.io/getting-started/installing/#linux を見たら apt でいけるらしいので

$ apt install hugo
$ hugo version
Hugo Static Site Generator v0.18.1 BuildDate: 2016-12-31T01:01:10+09:00

v0.18.1 ってだいぶ古い。。

$ sudo apt remove hugo
$ wget https://github.com/gohugoio/hugo/releases/download/v0.57.2/hugo_extended_0.57.2_Linux-64bit.tar.gz
$ sha256sum hugo_extended_0.57.2_Linux-64bit.tar.gz 
f4ce91d6909d489fe5461633f6b6bd689ed14c9e06b1b7af110024420aa8fd91  hugo_extended_0.57.2_Linux-64bit.tar.gz
$ tar zxvf hugo_extended_0.57.2_Linux-64bit.tar.gz 
LICENSE
README.md
hugo
$ sudo cp hugo /usr/local/bin/
$ hugo version
Hugo Static Site Generator v0.57.2-A849CB2D/extended linux/amd64 BuildDate: 2019-08-17T17:57:54Z

OK。

サイト作成

$ hugo new site blog

テーマ追加

$ cd blog
$ git clone https://github.com/Track3/hermit.git themes/hermit
$ echo 'theme = "hermit"' >> config.toml

コンテンツ追加

$ hugo new posts/my-first-post.md

表示確認

$ hugo server -D
Building sites … ERROR 2019/08/21 11:29:11 render of "section" failed: execute of template failed: template: _default/list.html:21:50: executing "main" at <.Site.Params.dateformshort>: invalid value; expected string
ERROR 2019/08/21 11:29:11 render of "taxonomyTerm" failed: execute of template failed: template: _default/list.html:21:50: executing "main" at <.Site.Params.dateformshort>: invalid value; expected string
ERROR 2019/08/21 11:29:11 render of "taxonomy" failed: execute of template failed: template: _default/list.html:21:50: executing "main" at <.Site.Params.dateformshort>: invalid value; expected string
Total in 167 ms
Error: Error building site: failed to render pages: render of "page" failed: "/home/umemak/blog/themes/hermit/layouts/posts/single.html:22:54": execute of template failed: template: posts/single.html:22:54: executing "main" at <.Site.Params.dateform>: invalid value; expected string

なんかエラーでた。。 hermit/exampleSite/config.tomlconfig.tomlにコピーして解消。 [params]セクションがないとだめらしい。

Read more