Skip to main content

Analyzer

Trait Analyzer 

Source
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§

Source

fn name(&self) -> &str

Returns the human-readable name of this analyzer.

Source

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".

Implementors§