vivliostyle / vfm

⬇️ Open and extendable Markdown syntax and toolchain.
https://vivliostyle.github.io/vfm/#/vfm
Other
69 stars 12 forks source link

feat: Improved metadata definition with frontmatter #105

Closed akabekobeko closed 3 years ago

akabekobeko commented 3 years ago

76 対応。ただし stylehead は #104 へ見送り。

@MurakamiShinyu vfm.md とテスト コードにおける YAML/HTML を元にレビューをお願いします。

MurakamiShinyu commented 3 years ago

プロパティの値に 2021-06-27 のような日付を書いたとき、それが次のように変換されてしまう問題があります:

---
date: 2021-06-27
---

<meta name="date" content="Sun Jun 27 2021 09:00:00 GMT+0900 (Japan Standard Time)">

引用符で囲めば問題ないのですが、

---
date: "2021-06-27"
---

<meta name="date" content="2021-06-27">

引用符で囲まなくても変換なしでそのまま出力されるようにはできないでしょうか?

akabekobeko commented 3 years ago

@MurakamiShinyu YAML 解析に使用している js-yaml の API リファレンスを読むと schema オプションで制御可能なようです。試しに JSON_SCHEMA を指定したら日時変換せずそのままの文字列となりました。

全テストを通過して vfm.math のような Boolean も維持できているので、この指定を採用します。関連するテスト コードとドキュメント解説を加えておきました。

MurakamiShinyu commented 3 years ago

https://github.com/vivliostyle/vfm/issues/104headstyle が将来バージョンでの検討となりました。この2つを予約語にしておく必要があります。 (現状だと <meta name="…" content="…"> が出力されるのを、何も出力されないように変更)

VFMのドキュメントでは、プロパティの表の "Other" の上に次のように入れるとよいかと思います。

Property Type Description
head -- reserved for future use
style -- reserved for future use
MurakamiShinyu commented 3 years ago

ドキュメントの Math equation のところの

- Frontmatter: `math: false`

を直す必要があると思います。 math: falsevfm: {math: false}

akabekobeko commented 3 years ago

@MurakamiShinyu

以下を対応しました。