HugoとそのテーマLoveIt について
静的サイトエンジン「Hugo」と、そのテーマLoveItについて
このサイトは、静的サイトエンジン「Hugo」とそのテーマLoveITを使わせていただいています。
何故Hugoか?
色々な静的サイトエンジンがありますが、その中でHugoを選んだ理由は以下の通りです。
- 1つの「hugo.exe」だけで、特殊な実行環境などが不要で動作するシンプルさ
- 他の静的サイトエンジンの多くは、何らかの実行環境やラインタイムが必要な者が多い
- 動作の軽さ(瞬時にサイトを構築出来る)
- Go言語の構文や考え方がそのまま使えるため、覚えやすく、参考資料も多い
特に、実行ファイル一つだけで動くと言うメリットは、長期間同じサイトを作り続ける上では大切です。 依存が少ないと言うことなので、そのファイルをローカルでもっていさえすれば、環境を維持することができます。
できるだけ技術にはついていきたいと思っていますし、色々試してはみたいとは思うのですが、手段と目的を考えた時、この場では試すのではなく安定させる事のできる技術を採用しました。
静的サイト生成エンジンとは?
私の理解では、簡単にいうと、プログラミングするようにあらかじめ作ったサイトの「素」データを、まるでコンパイルするように、一定の形のサイトにするもの、と言うものです。
一般に公開されているサイトの多くは、現在では動的サイトであることが殆どです。各種ブログサービスや、Wixなどのサイトを簡単に作れるサービスなどはもちろん、個人や企業サイトでも、Wordpressに代表されるソフトウエアをサーバにインストールして、それによってサイトを構築するという事が行われます。
この動的サイトは、言わばサーバで動くアプリケーションですから、例えばユーザごとに最適化したデータを送ったり、様々な情報を得たり、サイトの更新を楽にする仕組を入れる事もできます。
しかし、問題もあります。それは、サーバ以上でシステムを動かすので、どうしても動作がおもたくなります。また、セキュリティの問題もあります。複雑なことをしようとすればするほど、不具合が増えるのは補の常。セキュリティ問題も出てきますので、ずっとメンテナンスしつづける必要があります。ソフトウエアは、何もしないとどんどん「老朽化して」いくのです。
一方で、静的サイトエンジンで作ったものは、固定的に書き出されたデータだけで構築されていて、Webサーバに特別なソフトウエアがいりません。そのため
- スピードが速い
- ソフトウエアの脆弱性などの影響を受けにくい
- CDNなどと相性が良い
と言った特徴を持ちます。
フローとストックについて
Web系の技術は、どんどん新しい物が入ってきます。それに追いついていくことは非常に大切です。しかし、一方で安定して残しておきたいものもあります。
ストックとフローという考え方があります。フローとは、時代ごとに流れていく情報。リアルタイムであることや、その時その時の感情や感覚に率直である事に価値があると思っています。
SNSなどがこれにあたりますね。そしてフローは、常に見る事が大切ですから、個人が自分で構築しても仕方がありません。
一方で、ストックとは、記録として残しておくこと、基礎的な情報を安定的に提供するものです。例えば多くの企業サイトはこれにあたるでしょう。
そういった「ストック」を物を乗せるには、この静的サイト生成エンジンが相応しいと感じています。 例えば私に何かあってメンテナンスが出来なくなっても残り、また単純に全部のコンテンツをダウンロードして保存しておけば完全な形でデータを得ることができるからです。
と言う事で、このサイトは私に関する「ストック」側のサイトになる事を目標に、まずは静的サイトエンジンを使わせてもらうことにしました。
また、できるだけ長い間、アドレスが変わらない事を目標に、価格が安く維持しやすい「.net」ドメインで「mtsm.net」を取得して、できたら長い間運営したいと思っています。
Loveit のthemeについて
Hugoは「theme」というものを適用します。これは単に見栄えを整えるだけではなく、サイト構造や、カテゴリやタグ分けなど、様々な部分を決めるものです。言わば、Hugoは実行エンジンで、themeはその上で動くアプリケーションに相当する…とも言えるかも知れません。
私は、
- 自己紹介
- 自分が調べた事や技術メモなどを掲載する
- 日々の記録を残す
と言う事を目的としていたため、それらがシンプルにできるこのthemeを選びました。
ただ、使い方はシンプルですが、実際には最新のWebに関するテクノロジをフォローしているところもメリットですね。
Hugoはあくまでも実行環境で、その上に載ってくるthemeによって全く動作が変わります。blog風のテーマから、企業サイト、そして各種ドキュメンテーションのサイトまで、目的に応じて様々なテーマがあります。
また、テーマはHugoとGo Langの流儀に従って書かれているので、簡単にカスタマイズすることができます。私も一部手を入れて使わせていただいています。ありがとうございます!