index.astro を index.mdx に変えてみました。 なんか React ぽい書き方が動いてしまいます。 不思議な感じがしますね。
nvim の mdx 設定
ついでに nvim の mdx 対応を探索。 発見しました。
Good enough syntax highlight for MDX in Neovim using Treesitter
Setting up Neovim for Astro development · joschua.io
- ~/.config/nvim/file.lua に mdx 拡張子設定を追加
- treesitter 設定で mdx を markdown に結びつける
の2点で作業完了。 最近の nvim は treesitter が強力で、既に主力の syntaxhight 定義は treesitter に移り変わっているように感じます。
astro の mdx
astro の ContentsCollection 経由の md/mdx とpages 配下の md/mdx で微妙に扱いが異なります。 だいたい同じだけどpages 配下の場合 render() の呼び出しが暗黙になっているなどの違いがありました。
pages 配下の md /mdx に対してLayout を適用する方法。
render 結果が slot
に Content
が入ってくるのはわかるのだが、副次的な headings
などは取得できるのであろうか。読まないとわからないですな。