サイト制作をするにあたり、どのような手法で制作するかは重要なポイントですよね。最近はコーディング知識の無い方でもそれっぽいサイトが作れるサービスがたくさんあるので、サイト制作の敷居はかなり下がっているように思います。それでもまだ個人発信はSNSが主流ですが。

当サイトは表題の通りHugoというGo言語製の静的サイトジェネレータで制作しています。テンプレートを作って、記事を書いて、ターミナルでコマンドを入力すると静的htmlファイルが自動生成されるというものです。作り慣れているWordpress製でも良かったのですが、個人サイトでくらい新しいことをやってみたかったのです。

また最低限のテンプレートしか作っていない状態ですが、いまのところの雑感を書いておきます。

Hugo(というか静的サイトジェネレータの)よいところ

  • 表示速度が速い
  • セキュリティリスクが少ない
  • ローカルプレビューもサクサク
  • DBが不要なので、Github pagesやクラウドを使えばサーバー代も必要ない

いまいちなところ

  • コマンド操作が必要なので、馴染みの無い人には敷居が高い
  • 公式ドキュメントが英語
  • (ディレクトリ構造にもよるけど)ファイル管理が面倒
  • 記事はMarkdownで書くので、aタグにtarget指定したい時とか面倒(ウチではJsで外部URLリンクに一括target指定するようにしました)
  • エディタを起動しないと更新できない(Netlify CMSなどの他サービスと連携したりすれば解決)
  • ファイルのアップロードが必要(デプロイ環境を用意すれば解決)

Netlify CMSForestry.ioの連携も試してみたのですが、別の煩わしさがあったので止めました。(画像の管理とかも記事が貯まると大変そうな予感がした。テキストサイトなら良いかも)
自分の場合GUIがあっても無くても、文章制作に時間が掛るので最終的な作業時間にそこまで差が出ないんです……。

今後の運用

すでにデザイン段階から削ったブロックがいくつかあるので、そこを反映しつつ記事を書き溜めていきたいと思います。

TODO

  • 記事の分類方法について再考
  • 各記事のタグの表示
  • 著者情報の表示
  • 関連記事の表示
  • Worksページの作成
  • Contactページの作成
  • .htaccessの設定

現状のテンプレート構造

root
├── archetypes
├── content
├── data
├── layouts
├── resources
├── static
├── themes
│    └── hkmw_v1
│         ├── archetypes
│         │    └── default.toml
│         ├── layouts
│         │    ├── _default
│         │    │     ├── baseof.html
│         │    │     ├── list.html
│         │    │     └── single.html
│         │    └── posts
│         │          └── single.html
│         ├── static
│         │    ├── css
│         │    ├── img
│         │    └── js
│         ├── LICENSE.md
│         └── theme.toml
└── config.toml