elifesciences/lens

math extension: add HTML fragments alternative

pkra opened this issue · 4 comments

pkra commented

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.

  1. 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

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?

pkra commented

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?

pkra commented

Two more ideas from the JATS list

  • <code>
  • data-uris
pkra commented

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).

pkra commented

I've cherry-picked the fix in #166.

Is there already a way to configure the format Lens picks from existing alternatives (except by order in the xml source)? I couldn't see one.