Hello world!
ブログを作った
自分用の備忘録としてブログを作った。
実装
Gatsby や Hugo の採用も考えたが、勉強も兼ねて Next.js で自作することにした。Markdown で書いた記事を Next.js の SSG で静的サイトに変換している。
具体的には
- remark-parse で Markdown を mdast にパース
- remark-gfm で GitHub Flavored Markdown を有効化
- remark-rehype で
mdastからhastに変換 - rehype-react で
hastからReactNodeに変換
という流れで ReactNode に変換してからレンダリングしている。1~3 は getStaticProps で実行し、生成された hast がキャッシュされるようにした1。
突貫で作ったため、全体的に寂しい。少しずつ改良していきたい。
ホスティング
いつものように脳死で Cloudflare Pages を採用した。
Vercel も使ってみたいのでそのうち移行するかもしれない。
リポジトリ
Footnotes
-
ReactNodeまで変換してしまうと JSON にシリアライズできなくなってしまう。 ↩