pub trait EmbedRenderer:
Debug
+ Send
+ Sync {
// Required methods
fn extensions(&self) -> &[&'static str];
fn render(&self, embed: &ParsedEmbed<'_>) -> RenderedEmbed;
// Provided method
fn head_assets(&self) -> &[&'static str] { ... }
}Expand description
A renderer converts a ParsedEmbed into its rendered form.
Required Methods§
Sourcefn extensions(&self) -> &[&'static str]
fn extensions(&self) -> &[&'static str]
Extensions this renderer claims (lowercase, without leading dot).
Sourcefn render(&self, embed: &ParsedEmbed<'_>) -> RenderedEmbed
fn render(&self, embed: &ParsedEmbed<'_>) -> RenderedEmbed
Render the embed. Must be pure; moss-core is I/O-free.
Provided Methods§
Sourcefn head_assets(&self) -> &[&'static str]
fn head_assets(&self) -> &[&'static str]
Page-level HTML fragments this renderer needs in <head>, injected
once per page that contains at least one embed from this renderer.
Example: ModelViewerRenderer returns a <script type="module"> tag
so that <model-viewer> custom elements work. The build pipeline
collects and deduplicates these across all embeds on a page.
Default: empty. Renderers with no page-level assets don’t override.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".