こっそりblogを作り直した。

release: 2023-6-25

#Astro

はじめに

本記事では、Hugo(Thema)から自分で書いたAstroに乗り換えたってだけで、Astroの使い方を示したものではありません。

それはまた別で書きます。

remake 後の構成

この blog の構成は以下の通り。
source

SSGAstro
HostingFirebase
Data LakeGoogle Cloud Storage

Hugo から Astro へ

2022の初めての投稿をした頃は Hugo を使って SSG していた。 Hugo は Thema を使えて Markdown で記事を書くだけでよく、手頃で良かった。ちなみに、 Thema は PaperMod を使ってた。ちなみにちなみに Hugo だけでなく Next.js とか Astro でもできる。

PaperMod は結構人気で、バッタリ PaperMod を使った blog に出くわす。それが嫌で、 Thema を使わない SSG してみようと思い Astro を選択した。なぜ Astro なのかって? feeling さ。

feeling は半分冗談で、もう半分はシンプルに最近の Twitter とかでちょくちょく見てて「人気なのかな?」と気になってた。

Astroとは?

これに関してはここより公式とかを見ることを勧めるけど、簡単に説明するために特徴を触れていくと以下の感じ。

  • MPAフレームワーク

    Astro は複数の HTML ページで構成される MPA フレームワークを採用していて、SvelteKit や Nuxt を用いたページ遷移せずに1つのページで複数のコンテンツを提供する SPA (Single Page Application) ではない。

    MPA はサーバレンダリングされるので、 SEO やパフォーマンスが改善される。 SPA は MPA より早いってよく目にするけど、「SPA はクライアントサイド(ブラウザ)で JS を一旦解釈するので、MPAの方は表示するのが早い。」って Astro は言ってる。

  • Astro アイランド

    Astro は MPA なので基本は “純粋で軽量な HTML と CSS” を提供する。だけど、その静的ページ上の個々のコンポーネントはインタラクティブなアイランドとして提供する。

    なので当然早い。って言ってる。

というわけで、 Gmail みたいなサービスには向かないけど、 blog みたいな静的サービスには向いている。

「爆速でAstroを使ったblogをFirebaseに公開してみた!」は、いつか別で書きます。

わざわざ自分で書いたわけ

blog が欲しいなら Hatena でいいと思う。マジで。自分で書く必要はない。

ちなみに3月くらいからしてた SvelteKit の勉強も含めると最初のホストまでに2ヶ月くらいかかってる。平日は仕事してるし単純な2ヶ月ではないけども、わざわざ書く必要はない。

なのになぜ自分で書いたのか?

シンプルに何か書きたかったのが1つ。

もう1つは、バイト時代に React を使った案件の機能追加をさせていただいた際に、 全然わからなかった経験をしたから。 フロントのフレームワークは、ほとんど触ったことがなくて 「これ勉強したいな。。。」って当時感じたのを覚えてる。

僕は手を動かなさないと経験値にならないので、どうせならば勉強ついでに blog を書こうと思ったのだった。

人のコード読んだり。普段しないデザインのアイデア拾いに行ったり、 Tailwindcss 使ってみたり、普段書かないTS触ったり、四苦八苦したのが楽しかった。いい経験にもなったと思う。

次は何作ろう。

残っていること

  • pagenation

    post 数がいっぱいになる前に post 一覧に pagenation 機能を追加したい。

  • search 機能

    検索機能は勉強になりそう。欲しい。

最後に

修正依頼や質問ならGithub IssueTwitter DMにご連絡ください。