math extension: add HTML fragments alternative
pkra opened this issue · 4 comments
I would like to implement support for HTML-fragments in the math extension and I'm hoping we can contribute this back to core Lens.
Now it's obviously a bit tricky to include random HTML5 in a JATS document, so I asked on the JATS mailing list where I go the following markup suggestion.
- Most simply you wrap everything up as CDATA:
text]]>…
That seems ok to me but perhaps people think it needs more refined markup (e.g., an attribute on the textual-form).
For the implementation, it seems sufficient to
- add a case to https://github.com/elifesciences/lens/blob/master/extensions/math/math_converter.js#L285 and https://github.com/elifesciences/lens/blob/master/article/nodes/formula/formula_view.js#L54
- implement a label-extraction like https://github.com/elifesciences/lens/blob/master/extensions/math/math_converter.js#L241
I'm hoping I can re-use the second part but it might be easier not to (e.g., add appropriate data-attributes to the HTML and extract those).
Am I missing anything?
Any other suggestions?
One problem I've run into is white-space: pre-wrap;
on .content
. This has been bugging me for a while actually since it means all math previews that Lens injects are preceded by line-breaks, leading to jagged documents. Any suggestions where you'd like to fix this? Or should I file a separate issue for this?
Two more ideas from the JATS list
<code>
- data-uris
I've begun implementing support in 7350feb -- but the branches are a bit of a mess right now so I'm not sure I should make a PR.
I've reused the label extraction from the MathML support.
The setup seems to work fine so far but I'm still expecting to tweak the related mathjax-node pre-processor (I've only run a few samples through it so far).