静的サイトジェネレーター Hugoについてのメモ

ネットで書かれていることでも、出来ないことが結構多くて、独自で実装したのもあります。


ローカルサーバー起動

他のサイトでは”-D”を付けているのを見かけるが、
ドラフト設定しているのも表示するという意味。自分は付けない。

$ hugo server



公開用ページ作成

$ hugo



各フォルダの役割・目的

各フォルダがどの役割となっているのか。
なかけんのHugoノート Hugoフォルダの構成

上記ページが参考になったが、念の為(リンク切れとかのため)自分用の簡易メモとして

  • archetypesフォルダ : 記事のテンプレートがあるフォルダ
  • contentフォルダ : 記事があるフォルダ
  • publicフォルダ : 公開用ページがあるフォルダ
  • resourcesフォルダ : ユーザは利用しないフォルダ
  • themesフォルダ : サイトテーマを格納するフォルダ

他にもdataフォルダなどの記載があるが、自分の環境では見当たらない。
バージョン違いによるものか、自分の設定が不足しているのか、テーマのせいなのか。


記事の管理方法

記事をどのように管理するか、結構悩んだ。
Hugoのデメリットの一つだと思う。

一番良いのは、タイトルをファイル名にする
と思うのだけど、
書き始める時に決まっているとも限らないし、後から変えたくなった時面倒だし。
フォルダの分け方もどうしようか とか。

それで、
ニャゴスハンテン Hugoの記事管理方法を考えてみた

この方の管理方法とシェルをそのまま流用させてもらっている。
こんな方法思いつくとか偉大!
記事作成の時hugoコマンドではなく、このシェルを叩くようにする。
ただ、
これだと、ファイル名からは内容が推測つかないので、修正時に不便となる。
なので、
修正したいときはWebのページ見て、タイトルから辿るようにしている。

でも
やっぱり不便な時ある。フォルダ名とかファイル名をタイトルにするシェルとか作るかな。

|-2019
 |-07
  |-[ios]記事タイトル
   |-index.md
   |-xxxx.png

とかにしたい


記事作成時のデフォルトの記載の修正

記事作成時のmdファイルに、デフォルトでその記事の設定が記載されるが、
その記載内容を修正したい場合

archetypes/default.md

の内容を修正する。

Ï

検索機能の追加が難しい

Hugoに検索機能を追加したい場合
- Google製検索APIを設置 - JavaScriptで検索システムを追加(grunt-hugo-lunrjs.md)[https://gist.github.com/sebz/efddfc8fdcb6b480f567] の二つがあるらしいんだけど。
Googleのは検索結果に広告が載ってうざい。
なので、JavaScript製のにしたいのだけど、敷居が少し高く。勉強中。


使い勝手はどうか

wordpressからの移行で、Hugoを使ってみたが
管理画面が無いので、運用や管理がしづらくなった。
ただ、その管理画面があるせいで、運用や管理に手間がかかるのも事実

その手間がなくなるので、個人的には移行してよかったと思う。