mdbook-plotly 0.2.2

A mdbook preprocessor that renders plot code blocks (e.g., ```plot) into interactive or static charts during book build.
Documentation
use super::until::must_translate_from_context;
use crate::code_handler::parse_context::ParseContext;
use crate::translate_with_config;
use anyhow::Result;
use plotly::{DensityMapbox, Trace};

pub fn parse_density_mapbox_data(
    dm_obj: &mut serde_json::Value,
    context: &ParseContext<'_>,
) -> Result<Box<DensityMapbox<f64, f64, f64>>> {
    let lat: Vec<f64> = must_translate_from_context(dm_obj, context, "lat")?;
    let lon: Vec<f64> = must_translate_from_context(dm_obj, context, "lon")?;
    let z: Vec<f64> = must_translate_from_context(dm_obj, context, "z")?;
    let dm = DensityMapbox::new(lat, lon, z);
    let dm = translate_with_config! {
        dm,
        dm_obj,
        context.map(),
        context.map_eval(),
        (show_legend, bool),
        (name, String),
        (legend_group, String),
        (legend_rank, usize),
        (opacity, f64),
        (radius, u8),
        (zoom, u8),
        (zauto, bool),
        (zmin, f64),
        (zmid, f64),
        (zmax, f64),
        (subplot, String),
    }?;
    Ok(dm)
}

pub fn parse_density_mapbox_trace(
    dm_obj: &mut serde_json::Value,
    context: &ParseContext<'_>,
) -> Result<Box<dyn Trace>> {
    Ok(parse_density_mapbox_data(dm_obj, context)?)
}