Markdownに対して勘違いをしていたのとMarkdownを変換する際に注意したいことを記事にします。
プレーンだと思ってたMarkdownは拡張されたもの
もともとMarkdownには仕様がなく、それを不便に思った人たちで作られたのがCommonMarkだそうです。
一般的によく知られているであれろうGithubの「GitHub Flavored Markdown (GFM)」はテーブル記法に対応していますが、CommonMarkにはありません。
Qiitaのマークダウンは:::note
などの特殊な記法ができるようにさらに拡張されています!
上記の仕様を知らなかったため、Markdownを変換しようとした時に変換されず「あれ?」となりました。
table記法は標準の仕様ではないので、変換するためのプラグインが対応していないことがあります…。
Next.js環境でMarkdownにMDXを仕込みたい
Next.js環境にてMarkdownで書かれたものをJSXに変換したい場合下記のプラグインを利用します。
ただ、next-mdx-remote
はテーブル記法の変換は対応していません…。
なのでGFMのプラグインを併用するなどして対応されていないMarkdownを置き換えられるようにします。
まとめ
Markdownを変換する処理は、Markdownを利用して記事を書くようなHeadressCMSなどで必要になってくると思います。
実際の処理は、Markdown文字列をunified
を利用してAST(抽象構文木)というプログラムで処理しやすいデータに変換しするなども必要になることもあります。
基本的な知識ですが、知らなかったことによって手間取りました…。
基本を押さえておかないと思わしくない実装をしてしまう恐れもあるので注意したいと思いました。