Open MurakamiShinyu opened 2 years ago
Vivliostyle Pubに報告されたissue
問題のMarkdownファイルの中のMathMLコード:
<math> <mrow> <mi>h</mi> <mo>=</mo> <mfenced open="|" close="|"> <mover><mi>HP</mi><mo>→</mo></mover> </mfenced> </mrow> </math>
vfmでHTMLに変換すると、HTMLの中のMathMLコードは次のように open 属性の値が消えてしまってます:
open
<math> <mrow> <mi>h</mi> <mo>=</mo> <mfenced open close="|"> <mover> <mi>HP</mi> <mo>→</mo> </mover> </mfenced> </mrow> </math>
原因は、open がHTMLではBoolean attribute であり(https://html.spec.whatwg.org/#attr-details-open) 、Boolean attributeは値が何であっても関係ないので値なしに正規化されてしまうということのようです。
HTMLのBoolean attributeでMathML Attributes と同名のものは open だけのようです。 SVGでも同様の問題があるかもしれませんが https://www.w3.org/TR/SVG/attindex.html をざっと見たかぎりでは HTMLのBoolean attribute と同名のものは無いようです。
HTMLのBoolean attributeの値が指定されてたら消してしまうという動作は必要ないのでないかと思います。
vfmだけでなくremarkでのMarkdown→HTML変換で、MarkdownにMathMLが埋め込まれている場合に共通の問題なのでそちらにも報告するとよいかもしれません。
Issue Details
Vivliostyle Pubに報告されたissue
問題のMarkdownファイルの中のMathMLコード:
vfmでHTMLに変換すると、HTMLの中のMathMLコードは次のように
open
属性の値が消えてしまってます:原因は、
open
がHTMLではBoolean attribute であり(https://html.spec.whatwg.org/#attr-details-open) 、Boolean attributeは値が何であっても関係ないので値なしに正規化されてしまうということのようです。HTMLのBoolean attributeでMathML Attributes と同名のものは
open
だけのようです。 SVGでも同様の問題があるかもしれませんが https://www.w3.org/TR/SVG/attindex.html をざっと見たかぎりでは HTMLのBoolean attribute と同名のものは無いようです。HTMLのBoolean attributeの値が指定されてたら消してしまうという動作は必要ないのでないかと思います。
vfmだけでなくremarkでのMarkdown→HTML変換で、MarkdownにMathMLが埋め込まれている場合に共通の問題なのでそちらにも報告するとよいかもしれません。