【TypeScript】gray-matterでsections


gray-matterという便利なライブラリがあります。

Next.js+gray-matterのススメ」でも書いたようにコンテンツとコンフィグをまとめて1つのマークダウンにかけるようなやつです。

TypeScript でセクションを使う時に少し困ったのでメモしておきます。

 

excerpt / 要約 と sections / 章 はオプションで指定する必要があります。

Typescript だと型が決まっているのでどちらかだけ使う時でも、ちゃんと false で指定しないといけません。

ここまではサンプルにもある通り問題ありません。

 

セクションに触ろうとすると以下のエラーが出ます。

プロパティ ‘sections’ は型 ‘GrayMatterFile<any>’ に存在しません。ts(2339)

 

実際に型定義ファイル gray-matter.d.ts を見てみると sections がありません。

かなり有名どころで使われるライブラリなので、見落としや理由があるのかもしれませんがとりあえず、このままだと不便です。

gray-matter.d.ts を自分の types フォルダにコピーして以下の部分を書き換えます。

参照のため tsconfig.json の "paths" にも "gray-matter": ["types/gray-matter"]を加えます。

 

これで sections の中身を取り出せるようになりました。


コメントを残す

メールアドレスが公開されることはありません。