HUGOとは?

HUGOとは一体何か?

HUGOは、静的なhtmlを生成する事ができる静的ページジェネレータです。HUGOの場合、ローカル環境ではHUGOの動的機能を使って動的にサイトを開発し、成果物の出力時に動的要素を全て静的要素(html,css,js,img等)として出力します。 生成された成果物にはサーバサイドの処理を含まないため、サイトの表示速度は高速になり、サーバサイドの処理が無い分セキュリティリスクが減ります。

ちなみに今見ているこのサイトはHUGOで作っています。テンプレートはフルスクラッチで記述しています。

初心者にも使える?

もしhtmlやjavascriptを書いた事が無い、コマンドラインでコマンドを実行した経験が無い、という状態であれば、HUGOは非常に敷居が高いものになると思います。静的ページジェネレータは最低限初歩的なプログラムが理解できている中級者向けであると私は考えています。単純に記事を書く事だけに集中したい方は、レンタルブログがいいかと思います。

何故高速なのか

高速な理由はサーバサイドの処理が無いからです。WordPressやPHPといったフレームワーク等を使ったサーバサイドが存在するサイトでは、サーバ側でデータベースへの参照や、フレームワークの処理、ビジネスロジック等、htmlを表示する前に行う処理が沢山あり、そのサーバサイドの処理が遅い事に起因して、画面の表示が遅くなる事があります。一方HUGO等の静的ページジェネレータは「完全に静的なhtml」であるため、そのサーバサイドに当たる処理がありません。そのおかげで非常に高速なレスポンスが変えるため、画面表示も高速になります。

何故セキュリティリスクが減るか

サーバサイドの処理が有る場合、データベースやライブラリ等、存在するだけでセキュリティリスクが発生するものがあります。サーバサイドが無ければそもそもそのリスクが発生しません。また、htmlでは仕様的にできる事が非常に限られてくるため、被害を受けにくくなっています。

レンタルブログとの違い

HUGOが向いているサイト形態

ブログ形態が最も向いています。ブログ形態であれば、ページネーションやタグなどで完全に動的に作成する事ができます。このサイトのようにブログでない形態でも問題ありませんが、リンクを動的に作れないので、あまり向いているとはいえません。

HUGOのメリット

HUGOのデメリット

当然デメリットもあります。

Markdownの弱点をそのまま引き継いでいます。

golangを知らなくてもHUGOで記事書ける?

自分でテンプレートを編集したりしなければ、golangの出番はありません。単純にMarkdownで記事を書くだけです。テンプレートを編集したりフルスクラッチしたい場合は、golangというかGo Templatesの知識が必要になりますが、基本的に公式サイトのリファレンスに詳細が記述されているので、英語さえ読めれば何とかなります。

広告
トップページに戻る

シェア

広告