記念すべき最初の投稿
本ウェブサイトがいかに構築されたか
はじめのはじめに
この時代にも拘わらず、私は個人ウェブサイトを開設した。
この時代にもなどとわざわざ言うのは、個人でウェブサイトを持つことの意義があまりにも希薄になってきているからだ。
ちょっとした発信をしたいだけであれば、当然だがウェブサイトを用意するまでもないのが今の世の中である。
なんらかの都合で実際にウェブサイトを必要とする場合であっても、パッと思いつくようなほとんどの形式のそれには、企業製のちゃんとしたプラットフォームが存在している。このようなブログであれば尚更だ。
なお、そうした企業製プラットフォームに乗っかったとすれば、初めから最低限の信頼性が確保されるという莫大なメリットを得ることもできる。ランキングやトレンドのようなプラットフォーム固有の機能による新規流入が見込める場合さえある。
それにも拘わらず、私は個人ウェブサイトを開設したのだ。
————まぁ、たいして深い理由はないのだが。
強いて挙げるとするならば、このような形式のブログ、とくに技術ブログ系のプラットフォームにおいて、
- 自前のレイアウト・デザインを持ち込めること
- 適当なファイルを置くスペースが確保できること
- コメントシステムがないこと
などの面倒くさい要求を満たす最大公約数的な存在を見つけることができなかったためである。
————つらつらとそれっぽい理由を並べたが、単純に私がウェブサイトというものを構築してみたかったから、と言い換えることもできる。
閑話休題。
ウェブサイト基盤
さて、本ウェブサイトが現時点でどのように構築されているかを記しておく。
本ウェブサイトは技術ブログであるため、運用するにあたって事前に生成されたページのみで構成されるウェブサイトのこと。サーバ通信を必要以上に利用しないため、読み込みが高速な一方複雑なことはできない。 [annotation: 事前に生成されたページのみで構成されるウェブサイトのこと。サーバ通信を必要以上に利用しないため、読み込みが高速な一方複雑なことはできない。] であれば要件を満たすことができる。
静的サイトを生成するためのツールを一般に静的サイトジェネレーターと呼ぶが、本ウェブサイトもその中の1つであるZolaを使用している。
Zolaはいわゆるテンプレートベースの静的サイトジェネレーターである。要は生のHTMLに変数を埋め込むことや、条件分岐や繰り返し処理を差し込むことなどができるというものだ。
扱うコードそのものは生のHTMLと大差はないのだが、JavaScriptを用いた動的処理に頼ることなく、そこそこ複雑な処理ができるのが魅力だ。とくにブログの記事リストなど内容があらかじめ決まっており、手書きするには労力のかかるものに対して有効だといえる。
静的サイトジェネレーターといえばすべてがテンプレートベースだというわけではない。むしろ主流はJavaScript上のフレームワークであるとくにNext.jsを指す。現在のデファクトスタンダード。 [annotation: とくにNext.jsを指す。現在のデファクトスタンダード。] のものだろう。
それでもテンプレートベースのものを採用したのは、その移植性の高さがあったためだ。
前述の説明は裏を返せば、どこまで行っても生のHTMLから離れることができないということだ。
一見それはとてつもないデメリットに感じられるが、そもそもウェブサイト業界全体が生のHTMLから逃れることはできていない。どんなウェブフレームワークであっても、最終的にはユーザ側が生のHTMLやCSSを微調整することが前提である。
複雑なフレームワーク上に形成されたものを、別のフレームワークの上に移植することが困難であるということは言うまでもない。
本ウェブサイトが閉じられるその日まで、構成が今のままであるとは限らない。そうであれば、初めは簡易的な土壌に種を埋めたほうがよいと考えたのだ。
なお、こうしたテンプレートベースの静的サイトジェネレーターにはそこそこ選択肢があり、別にZolaが最大派閥というわけでもない。
ただZolaは後発のプロジェクトであるため、知見がある程度集積されていて使いやすい。他システムとの依存関係がなく、処理が非常に高速だ。
本ウェブサイトでは利用していないがテーマ機能も充実しており、優れたデザインとレイアウトを持つプリセットが多数配布されている。そういった機能があるゆえかドキュメントの内容は濃く、コミュニティは比較的活発だ。
そんなこんなで本ウェブサイトの最終的なベースをZolaに決定したわけだが、静的サイトジェネレーターそのものが全世界にウェブサイトを公開してくれるわけではない。任意の方法で生成されたウェブサイトを公開する必要がある。
本ウェブサイトでは別名レンタルサーバサービス。ウェブサイトなどを載せたサーバを代理で運用してもらうサービスのこと。 [annotation: 別名レンタルサーバサービス。ウェブサイトなどを載せたサーバを代理で運用してもらうサービスのこと。] であるCloudflare Pagesを利用してウェブサイトを公開している。
こちらはウェブドメイン取得に同サービスを利用した流れでそのまま利用しているに過ぎない。そのため暫定的なものだ。現状とくに不便はないが、特筆すべき問題があれば追記する。
はじめのおわりに
これがまともなウェブサイトを運用する初の機会になるが、各種サービスのおかげで独自の形式を持つウェブサイトを構築するハードルは、かつてよりも低いものになっているようだ。
最後に一応明言するが本ウェブサイトは、不定期でなにかしらのコンテンツを掲載する技術ブログである。以後ごひいきに願いたい。