A Day in the Life

Next.jsを10へ・markdown 処理をちょっと変えた / 2020年11月23日

今日から旅行の予定だったのだけど、昨日の午後から妻の体調が崩れ、夜には明日から旅行できる感じの体調ではなくなってしまったので、昨日の晩にキャンセルしたのであった。早く良くなるとよいな。

することも(看病以外は)特に無くなったので、午前中は仕事をして午後はこれまた安オールドレンズであるロシア製 Helios 44M を持って少し散歩をする。トップの写真、釣りおじいちゃんたちはカスタマイズした釣りチャリに乗って釣り場に現れるのだけど、その自転車。電動自電車も多く、お年寄りの負担も軽そうだ。


Next.js 10 が出ていたので、このウェブサイトの Next.js を 9 から 10 にする。とりわけ問題無く動いている、ように思える。このウェブサイトは国際化しないから関係ないけど、Internationalized Routingが標準機能に入ったのは嬉しいね。これで ja.example.com / zh-cn.example.com などのドメインや example.com/ja/xxx なんかのpathでの言語ごとの変更が簡単にできるように。

そろそろ実装されてもよいのでは、と思っている rss(xml) などの html ではないコンテンツの静的な出力は需要がないのか未だに Next.js ではできないのだけど…。


ついでにmarkdown周りの処理にも手を入れたくなってきた。いままで markdown から html への処理は、何も考えずにremark-htmlまかせにしていたのだけど、unifiedを使った処理へと変更。まずは remark-html と同じような出力にするために

remark().use(remarkHtml).processSync(markdown).toString()

unified()
  .use(remarkParse)
  .use(remarkRehype, { allowDangerousHtml: true })
  .use(rehypeStringify, { allowDangerousHtml: true })
  .processSync(markdown)
  .toString()

みたいな処理へと変更する。実際の処理工程は remark-html のときと変わっていないはず。実装やドキュメントをちょっと読むと、各種処理の内側では rehype のほうでは HTML に特化したASTの hastを、remark のほうでは markdown AST のmdastを、hast-util-*mdast-util-*、大本ツリー仕様であるのunistunist-util-*を使っていじる感じなのね。

撮影機材α7C/Helios 44M 58mm F2

関連するかもエントリー

Next.js で 404.html を静的出力する
いまのサイトホスティングに使っている、Firebase では /404.html があると 404 時に表示される。Firebase hosting の rewrite で /404.html があるように振る舞うマッピングしてもうまく行かず、実体としてのファイルが存在する必要が...
いまのサイトホスティングに使っている、Firebase では /404.html があると 404 時に表示される。Firebase hos...
このウェブサイトの実装 2020年版
r7kamura さんや kzys さん に倣って、このウェブサイトの実装を紹介してみる。ホスティングGoogle Firebase Hosting を使って静的ファイルを配信してる。一部動的な実装に関しては、Cloud Functions for Firebase を使っている...
r7kamura さんや kzys さん に倣って、このウェブサイトの実装を紹介してみる。ホスティングGoogle Firebase Hos...
春一番 / 2021年2月4日
13時頃、やたら風が強くてマンションのガラスが揺れる。春一番だったのかー、昨日は立春だったしもうすっかり春…?PCケースのLED、明るすぎることが多くて、スタンバイ時にも点滅したりするので邪魔なのだけど(今はマスキングテープ貼って照度下げてる)、マザーボードから出ているケーブルと...
13時頃、やたら風が強くてマンションのガラスが揺れる。春一番だったのかー、昨日は立春だったしもうすっかり春…?PCケースのLED、明るすぎる...