pub struct JsonLdPlugin { /* private fields */ }Expand description
Injects JSON-LD structured data into HTML files.
Auto-detects schema.org types from page metadata:
- Pages with
<article>→Article - All other pages →
WebPage BreadcrumbListderived from URL path (opt-in)
Idempotent: skips files that already contain application/ld+json.
Implementations§
Source§impl JsonLdPlugin
impl JsonLdPlugin
Sourcepub const fn new(config: JsonLdConfig) -> Self
pub const fn new(config: JsonLdConfig) -> Self
Creates a new JsonLdPlugin with the given configuration.
§Examples
use ssg::seo::{JsonLdConfig, JsonLdPlugin};
use ssg::plugin::Plugin;
let cfg = JsonLdConfig {
base_url: "https://example.com".into(),
org_name: "Demo".into(),
breadcrumbs: true,
};
let p = JsonLdPlugin::new(cfg);
assert_eq!(p.name(), "json-ld");Trait Implementations§
Source§impl Clone for JsonLdPlugin
impl Clone for JsonLdPlugin
Source§fn clone(&self) -> JsonLdPlugin
fn clone(&self) -> JsonLdPlugin
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for JsonLdPlugin
impl Debug for JsonLdPlugin
Source§impl Plugin for JsonLdPlugin
impl Plugin for JsonLdPlugin
Source§fn has_transform(&self) -> bool
fn has_transform(&self) -> bool
Returns
true if this plugin implements transform_html.
Override to true to opt in to the fused transform pass.Source§fn transform_html(
&self,
html: &str,
path: &Path,
ctx: &PluginContext,
) -> Result<String, SsgError>
fn transform_html( &self, html: &str, path: &Path, ctx: &PluginContext, ) -> Result<String, SsgError>
Per-file HTML transform hook — called once per HTML file during
the fused transform pass. Read more
Source§fn after_compile(&self, _ctx: &PluginContext) -> Result<(), SsgError>
fn after_compile(&self, _ctx: &PluginContext) -> Result<(), SsgError>
Called after site compilation completes. Read more
Source§fn before_compile(&self, _ctx: &PluginContext) -> Result<(), SsgError>
fn before_compile(&self, _ctx: &PluginContext) -> Result<(), SsgError>
Called before site compilation begins. Read more
Source§fn needs_all_files(&self) -> bool
fn needs_all_files(&self) -> bool
Returns
true if this plugin must always observe the full
cache.html_files() list — even during --incremental
rebuilds that only invalidated a handful of pages. Read moreAuto Trait Implementations§
impl Freeze for JsonLdPlugin
impl RefUnwindSafe for JsonLdPlugin
impl Send for JsonLdPlugin
impl Sync for JsonLdPlugin
impl Unpin for JsonLdPlugin
impl UnsafeUnpin for JsonLdPlugin
impl UnwindSafe for JsonLdPlugin
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more