use crate::error::DocError;
use crate::extension::MarkdownAnalyzer;
use serde_json::Value;
#[cfg(feature = "litmus")]
pub struct LitmusAnalyzer;
#[cfg(feature = "litmus")]
impl MarkdownAnalyzer for LitmusAnalyzer {
fn analyze(&self, body: &str, _frontmatter: &Value) -> Result<Value, DocError> {
let analysis = mini_litmus::analyze_markdown(body).map_err(|e| {
DocError::Extension(format!("litmus: failed to analyze markdown: {}", e))
})?;
serde_json::to_value(&analysis).map_err(|e| {
DocError::Extension(format!("litmus: failed to serialize analysis: {}", e))
})
}
fn name(&self) -> &str {
"litmus"
}
}