Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

メタデータと Frontmatter 再考 #98

Closed
akabekobeko opened this issue May 11, 2021 · 5 comments
Closed

メタデータと Frontmatter 再考 #98

akabekobeko opened this issue May 11, 2021 · 5 comments
Assignees
Milestone

Comments

@akabekobeko
Copy link
Member

#76 と関連 PR にてメタデータ処理を実装したが、以下の課題により扱いを再考したい。

  • VFM の設定は Frontmatter、VFM/stringify 関数オプション、CLI オプションの 3 種類ある
    • これらの優先度と関係性について整理したい
  • Frontmatter だけで定義するのが理想ではないか?
    • Vivliostyle 開発者会議 May 2021 で挙げられた意見
    • 外部オプションではなく Markdown 文書そのものに動作と設定を定義するほうが管理面でも好ましいのではないか?
    • VFM は単一の Markdown を扱うのだから Frontmatter と重複するオプションを増やしても複雑化するだけ
    • VFM CLI と VFM 関数がどれぐらい使われているのか?という疑問もある
  • vivliostyle-cli として stringify 関数のオプションは必要
    • なにが必要かを知りたい
    • vivliostyle-cli は複数 Markdown を横断的に扱うので、個々の文書設定より優先的されるオプションだけが必要なはず
  • Frontmatter 読み込み関数の外部公開
    • 主に vivliostyle-cli 用、Frontmatter の titletheme を独自に読み込んでいる処理を代替する
    • メタデータ以外 (math フラグなど) も含むため readSettings という感じの命名がよいか
    • VFM としてもメタデータと設定の読み込みにこれを利用したい
@akabekobeko akabekobeko added this to the v1.0.0 milestone May 11, 2021
@akabekobeko akabekobeko self-assigned this May 11, 2021
@akabekobeko
Copy link
Member Author

本 issue と #76 の棲み分け。

  • spec: Frontmatter #76 は Frontmatter について議論
  • 本 issue は Frontmatter と VFM オプションも含む包括的なメタデータ、設定の取り扱いを議論

@akabekobeko
Copy link
Member Author

VFM 自身のテスト コード用に VFMstringify 関数のオプションは残したほうがいい。ただしオプションは VFM 自身の挙動に関するものへ留め、titlestylelanguage のようなコンテンツ系は廃止して Frontmatter に定義させるほうがよい。

コンテンツ系は VFM のプログラマブルなオプションではなく Markdown そのものに定義することを強制したほうが文書管理の面でも好ましいはず。挙動とデータは分けて考える。そして挙動をオプション or Frontmatter (の vfm)、データは Markdown の Frontmatter のみとしたい。

@akabekobeko
Copy link
Member Author

#76 の仕様を #105 として実装。オプションの titlestyle については CLI も含めて既に利用されているため現状維持とした。Frontmatter と被るものはこちらを優先する方針。

そして VFM 自身の挙動、例えば disableFormatHtml なども Frontmatter への追加を検討したい。現時点で vfmmaththeme のみとなっている。ここに挙動オプション系を追加予定。

@akabekobeko
Copy link
Member Author

VFM オプションのうち Frontmatter で被るものとコールバック関数を持つ replace を除いて残った以下を vfm で対応する。

  • partial
  • hardLineBreaks
  • disableFormatHtml

@akabekobeko
Copy link
Member Author

#113 で対応、それを反映した 1.0.0-alpha.26 をリリースしたので本件は close する。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant