You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Using GraalJS to execute a JavaScript implementation of Markdown is an unnecessarily unwieldy rendering approach. GraalJS adds 60MB of code to our distributions and presents deployment problems since it includes some native code. commonmark-java provides a native Java implementation of the Commonmark standard Markdown specification) that is highly compatible with our GraalJS implementation, much simpler to integrate (no pooling and no exceptions at webapp reload), and 1/300 the size. It also includes an extension mechanism allowing us to extend and customize the implementation.
Add and integrate commonmark-java library
Add extensions to get us close to parity with previous impl (Autolink, Strikethrough, Tables)
Add extensions requested by docs team (Header Anchor and Image Attributes)
labkey-adam
changed the title
[CI] Replace GraalJS-based Markdown implementation with commonmark-java
[LabKey CI] Replace GraalJS-based Markdown implementation with commonmark-java
Jan 17, 2025
I've run through the markdown formatting we document, and tried a variety of messages to confirm the new implementation is consistent with the previous, plus the nifty new heading anchors make it much more likely we'll start using it for more docs.
If there's a test list to run through that I didn't find, let me know - otherwise I'm calling it manual tested and it's on the backlog for updating docs.
Using GraalJS to execute a JavaScript implementation of Markdown is an unnecessarily unwieldy rendering approach. GraalJS adds 60MB of code to our distributions and presents deployment problems since it includes some native code. commonmark-java provides a native Java implementation of the Commonmark standard Markdown specification) that is highly compatible with our GraalJS implementation, much simpler to integrate (no pooling and no exceptions at webapp reload), and 1/300 the size. It also includes an extension mechanism allowing us to extend and customize the implementation.
XDG_CACHE_HOME
and-Dpolyglot.engine.resourcePath
@labkey-willmThe text was updated successfully, but these errors were encountered: