広島大学ITエンジニア Advent Calendar 2020 2日目の記事になります. @kaitoの[ansible+goss] PCの初期セットアップで学ぶサーバー設定テストに続きます!
概要
巷で良く耳にするSSG(Static Site Generator)とホスティングサービスを使って, 今表示されているブログサイトを作成します.記事を閲覧できる状態をゴールとします. 作りこむのは後.
経緯
ブログのようなモノを書くにあたって,記事以外に労力を割きたくないのもあって,これまではmediumを使っていました.
基本的に満足していたんですが,最近の更新でロゴやUIが変わって残念な感じになってしまいました(例えば,いきなり記事を全部表示しようとするとか).
時期を同じくして,技術ブログサービスQrunchが終了したのもあって,運営に振り回されないブログ基盤欲が大きくなり,カレンダーのネタにもなるのでブログを構築することにしました.
コード
今回使用したコードは以下に掲載しています.
使う・使ったモノ
Googleドメイン
必須ではないですが,せっかくの機会なので独自ドメインを使おうと考えました. taktak.netやtaktak.jpあたりのドメインを取ろうと思いましたが,先約がいたのでtaktak.devを取得することに.
devドメインを取り扱っていて,評判もいいGoogle Domainsでドメインを取得しました.
Fornax
有名どころだとHugoやGatsby, Jekyllがありますが,今回SSGにはVSCodeにおけるF#開発環境の事実上の標準となっているionideを開発しているionideのFornaxを使います.
選定理由としてはF#が好きであることはもちろんですが,Waypointのようなテンプレートを見て,今後F#を使って何かを作る際にPaketやFAKE, Expectoのようなツール群と組み合わせて使うことを容易に想像できたため,早めに慣れておこうと思ったからです.
Vercel
ホスティングサービスは利便性を考え,NetlifyかVercelの二択でしたが,日本にCDNがあるVercelを選択しました.
Vercel Action
Vercel側でビルドを行うのがおそらく主流ですが,FornaxはサポートされていないのでGitHub Actions側でビルドを行いVercal Actionを使ってデプロイします. 別途手間がかかりますが,無料枠の制限から解放されるのでVercel側でビルドがサポートされている場合でも検討する価値はあると思います. ブログ開設時の設定としては以下のような感じです.
その他
投稿時点でサイトの作りこみは行っていないです.
fornax new
を行った直後の状態が以下のような感じなのでほとんど
変わっていないのが分かると思います.
今回は使用していませんがF#トランスパイラのFableの最新バージョンの開発コード?はNagareyama(流山)になっています.こっちに関しては コアの開発者の方が千葉に住んでいるらしくこういった名前になったっぽいです.(Nagareyama: a new Fable, faster, more powerful and easier to use)
日本ではF#があまり使われていないなんて話を良く耳にしますが,最先端のF#に日本と接点があるのが面白いですね.