pub struct SeoPlugin;Expand description
Injects missing SEO meta tags into HTML files.
After compilation, this plugin scans all HTML files in the site directory and adds any missing meta tags for description, Open Graph (title, description, type), and Twitter Card.
The plugin is idempotent — it checks for existing tags before injecting and will not duplicate them.
§Example
use ssg::plugin::PluginManager;
use ssg::seo::SeoPlugin;
let mut pm = PluginManager::new();
pm.register(SeoPlugin);Trait Implementations§
impl Copy for SeoPlugin
Source§impl Plugin for SeoPlugin
impl Plugin for SeoPlugin
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 SeoPlugin
impl RefUnwindSafe for SeoPlugin
impl Send for SeoPlugin
impl Sync for SeoPlugin
impl Unpin for SeoPlugin
impl UnsafeUnpin for SeoPlugin
impl UnwindSafe for SeoPlugin
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