Expand description
Asset adapter for the first-class RichTextEditor component.
Component::RichTextEditor is dispatched directly by render_component
(it is NOT a plugin component in the routing sense). However, it requires
Quill 2.0.3 JS and CSS loaded from jsDelivr, SRI-pinned, exactly once per
page across multiple editor instances. The cleanest way to deliver that
contract without inventing a parallel asset pipeline is to expose Quill’s
CDN/SRI declarations through the existing JsonUiPlugin interface and
register them in global_plugin_registry() like any other plugin. The
plugin’s render() is unreachable (first-class variant is dispatched
first); only css_assets() / js_assets() are consumed, via
collect_plugin_assets, when collect_plugin_types_node enrolls
"RichTextEditor" into the per-page plugin-types set (see
render::collect_plugin_types_node).
Conceptual coherence (D-02): first-class components reuse the plugin asset pipeline rather than introducing a parallel CDN path. The surface evolves to absorb the requirement.
Bumping Quill is a deliberate phase: update the constants in
crate::assets::quill (and re-run the SRI computation). This module is
mechanical glue and does not need to change on a version bump.
Structs§
- Rich
Text Editor Plugin - Asset-only plugin adapter for
Component::RichTextEditor.