use std::collections::BTreeMap;
use codas::types::Text;
mod asset;
pub use asset::{Asset, MediaCategory, MediaType};
pub mod canonicalize;
pub mod favicon;
pub mod image;
pub mod js_bundle;
pub mod markdown;
pub mod minify_html;
pub mod minify_js;
pub mod scss;
pub mod template;
pub trait ProcessesAssets {
fn process(&self, context: &mut Context, asset: &mut Asset) -> Result<(), ProcessingError>;
}
pub type Context = BTreeMap<Text, ContextValue>;
#[derive(Debug, Clone)]
pub enum ContextValue {
Text(Text),
List(Vec<Text>),
}
#[derive(Debug, PartialEq, Eq)]
pub enum ProcessingError {
NonTextual,
NonBinary,
Malformed { message: Text },
Compilation { message: Text },
}