vivliostyle / vfm

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

spec: Switch to control auto-sectioning #155

Closed MurakamiShinyu closed 8 months ago

MurakamiShinyu commented 1 year ago

Update 2022-10-01 開発者会議 での討論の結果、 見出し記法の ## 見出し ## の終わりの ## (先頭の ## と同じ数)がある場合に自動section囲みをしないことにすることで、section囲みにするかしないかを切り替えられるようにするという案(by @nosuke23)を採用することに決定。

よって、以下の最初の提案(自動section囲みにする見出しを制限するvfmのオプション設定、デフォルトは h1 を除外)は取り下げ。


vfmでは文書内の最初の見出しが、文書のタイトル(HTMLのtitle要素)になる。それなのに、その最初の見出しは自動的にsectionで囲まれる。つまり最初のsectionの見出しとなる。

最初の見出しでもsection囲みにするのはpandocのsection-divsの仕様を踏襲したためだが、見直すべきかもしれない。 最初の見出し(通常h1要素)はHTMLのbody要素の直下に生成され、その次の見出し(通常h2要素)からsection囲みになるほうが、HTML文書構造として自然ではないか。

自動section囲みにする見出しを制限するオプションがあるとよいかもしれない。 例えば、 --section-headings=h2-h4 という指定で h2, h3, h4 だけを自動section囲みにする。値 all ですべて(現在と同じ)、値 none でsection囲みなし。デフォルトは h1 を除外した h2-h6 とするのが適切だろう。

関連issue:

MurakamiShinyu commented 1 year ago

Update 2022-10-01 開発者会議 での討論の結果、 見出し記法の ## 見出し ## の終わりの ## (先頭の ## と同じ数)がある場合に自動section囲みをしないことにすることで、section囲みにするかしないかを切り替えられるようにするという案(by @nosuke23)を採用することに決定。