Closed akabekobeko closed 2 years ago
@MurakamiShinyu
excludes
では意味が分かりにくいと気づき、名称変更を検討しています。現在は
readMetadata(md: string, excludes: string[]): Metadata
type Metadata = {
excludes?: {
[key: string]: any;
}
}
となっています。この excludes
を customizeKeys
か userKeys
に変更したいと考えています。これらのどちらか、またはよりよい名前などがあれば意見をください。
custom
でどうでしょう。type Metadata = {}
のプロパティ名は custom
で、readMetadata()
の引数名としては customKeys
かな。
これで指定したキーはたとえば lang
や title
などであっても、HTMLにlangやtitleとしては出力しないことになるという理解でよいですね?
ありがとうございます。引数としては YAML のキーを指しますが処理結果はプロパティー内にキーと値をまとめて格納してるので Keys
なしのほうが分かりやすいですね。
これで指定したキーはたとえば
lang
やtitle
などであっても、HTMLにlangやtitleとしては出力しないことになるという理解でよいですね?
はい。標準のキーを指定した場合は通常の処理をスキップして custom
へ格納されることになります。この挙動のテストコードでは非サポートとコメントしましたが、標準キーを独自処理する目的で利用されるかもしれませんので、README.md に解説してもよさそうですね。
@MurakamiShinyu
refs: #141
Frontmatter で未定義のキーを
meta
として処理せず、YAML 解析結果のデータ構造を維持する目的でexcludes
という引数を追加した。meta
処理からの除外という意味でexcludes
と命名したが、実際の用途としてはサードパーティー製ツール独自のキーを定義するためのものである。よって除外というより独自とかユーザー (サードパーティー) であることを示す名前のほうがよいだろう。例えば
customizeKey
やuserKeys
など。Metdata
のプロパティーも同様。既に VFM v1.2.0 として
excludes
が反映されたものをリリースしたが、現時点ならこれを利用する API ユーザーはほとんどいないと思われるので今の内に改名したい。Metadata
プロパティーについてはインターフェースとして影響がある。