pub trait Analyzer: Send + Sync {
// Required methods
fn name(&self) -> &str;
fn analyze(
&self,
ctx: &AnalysisContext<'_>,
config: &CrawlConfig,
) -> Vec<Finding>;
}Expand description
Trait for page analyzers.
Implement this trait to create custom SEO analyzers. Each analyzer
receives an AnalysisContext and returns a list of Findings.
§Examples
use crawlkit_engine::analyzers::{Analyzer, AnalysisContext, Finding};
use crawlkit_engine::CrawlConfig;
struct MyAnalyzer;
impl Analyzer for MyAnalyzer {
fn name(&self) -> &str { "my-analyzer" }
fn analyze(&self, _ctx: &AnalysisContext, _config: &CrawlConfig) -> Vec<Finding> {
vec![]
}
}Required Methods§
Sourcefn analyze(
&self,
ctx: &AnalysisContext<'_>,
config: &CrawlConfig,
) -> Vec<Finding>
fn analyze( &self, ctx: &AnalysisContext<'_>, config: &CrawlConfig, ) -> Vec<Finding>
Analyze a page and return any findings/issues.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".