個人サイトをNext.jsで書き直した
個人サイトをNext.jsで作り直した
今まではRustを使った自作静的サイトジェネレータを使っていたが、
Markdown処理
MarkdownはremarkでgetStaticPropsの中で処理している。text-loader
SSGなので高速だしを使って遷移するのでSPAの速度感が出る。
ある程度Markdownを処理できるようにはしたがシンタックスハイライトの対応はまだだし、でうまくまとめるような処理も入れてない。
Syntaxhighlight
react-refractorを使用した。楽〜。
;
OGP
OGPも対応させた。元々はNext.jsで使える/pages/apiでnode-canvasを使ってNoto Sans CJKjpが15 MB、node_modulesが40 MBくらいで
これはヘッドレスChromiumでスクリーンショットを取ることで画像を生成しているらしい。
CSS
いつもどおりTailwind.cssです。
そう言えばChakra UIというのもあり、
一応読めるようにはなったがマジで適当なCSSなのでもう少しなんとかしたい。
履歴とサイトマップ
nodejsで作ったスクリプトでビルド前に./lib/generated/metadataとpublic/sitemap.xmlに自動生成。git logの--prettyオプションと--dateオプションを使えば好きな形に整形できるのでプログラムからも扱いやすい。./article/blogか./article/diary以下に作成されれば自動で追加されるようになっている。GetStaticPropsとかでfs.reafFileSyncを呼んでファイルをパースすれば
ぬん
機能的にはタグ画面がまだだし、
とにかく物は出来たし保守性も悪く無さそうなので今後はHatenablogよりこちらで書いていきたい。