cobalt-bin 0.20.4

Static site generator written in Rust
Documentation
pub(crate) fn extract_scalar<'a>(
    a: &'a dyn liquid::ValueView,
    key: &str,
) -> Option<liquid::model::ScalarCow<'a>> {
    let v = extract_value(a, key)?;
    v.as_scalar()
}

pub(crate) fn extract_tags(value: &dyn liquid::ValueView) -> Option<&dyn liquid::model::ArrayView> {
    let v = extract_value(value, "tags")?;
    v.as_array()
}

pub(crate) fn extract_categories(
    value: &dyn liquid::ValueView,
) -> Option<&dyn liquid::model::ArrayView> {
    let v = extract_value(value, "categories")?;
    v.as_array()
}

fn extract_value<'v>(v: &'v dyn liquid::ValueView, key: &str) -> Option<&'v dyn liquid::ValueView> {
    let o = v.as_object()?;
    o.get(key)
}