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 にシリアライズできなくなってしまう。 ↩