koyashiro's blog

Hello world!

ブログを作った

自分用の備忘録としてブログを作った。

https://blog.koyashi.ro/

実装

Gatsby や Hugo の採用も考えたが、勉強も兼ねて Next.js で自作することにした。Markdown で書いた記事を Next.js の SSG で静的サイトに変換している。

具体的には

  1. remark-parse で Markdown を mdast にパース
  2. remark-gfm で GitHub Flavored Markdown を有効化
  3. remark-rehypemdast から hast に変換
  4. rehype-reacthast から ReactNode に変換

という流れで ReactNode に変換してからレンダリングしている。1~3 は getStaticProps で実行し、生成された hast がキャッシュされるようにした1

突貫で作ったため、全体的に寂しい。少しずつ改良していきたい。

ホスティング

いつものように脳死で Cloudflare Pages を採用した。

Vercel も使ってみたいのでそのうち移行するかもしれない。

リポジトリ

koyashiro/blog.koyashi.ro

Footnotes

  1. ReactNode まで変換してしまうと JSON にシリアライズできなくなってしまう。