mdbook-plotly 0.2.1

A mdbook preprocessor that renders plot code blocks (e.g., ```plot) into interactive or static charts during book build.
Documentation
# CHANGELOG

## v0.2.1
- Refined parser migration toward explicit [`MapEvalConfig`]src/preprocessor/config.rs:61 propagation
    - Replaced top-level legacy [`translate!()`]src/macros.rs:29 usage in [`parse_config_obj()`]src/code_handler/plot_obj_parser/layout_parser.rs:8 and [`parse_layout_obj()`]src/code_handler/plot_obj_parser/layout_parser.rs:59 with explicit [`translate_with_config!()`]src/macros.rs:36 entrypoints
- Updated tests to validate the migration path remains stable
    - Added a layout/config regression case in [`tests/test_code_handler.rs`]tests/test_code_handler.rs covering `map.*`-backed title, legend, axis range, and config parsing

## v0.2.1-beta
- Refined parser migration toward explicit [`MapEvalConfig`]src/preprocessor/config.rs:61 propagation
    - Migrated trace parsers to consume [`ParseContext`]src/code_handler/parse_context.rs:4 instead of raw `map` where applicable
    - Removed [`must_translate()`]src/code_handler/until.rs:29 and migrated remaining translation paths to explicit [`ParseContext`]src/code_handler/parse_context.rs:4 / config-driven helpers
    - Threaded active map-eval config through generator parsing paths in [`src/code_handler/until.rs`]src/code_handler/until.rs
    - Reused shared helpers like [`parse_marker()`]src/code_handler/plot_obj_parser/common.rs:7 and [`parse_color_bar()`]src/code_handler/plot_obj_parser/common.rs:59 to reduce duplicated translation logic
- Slimmed trace registry dispatch in [`trace_registry.rs`]src/code_handler/plot_obj_parser/trace_registry.rs:1
    - Removed registry-side `.map(into_trace)` adaptation
    - Moved trait-object conversion boundaries down into parser modules via `*_trace()` entrypoints
- Updated tests to validate the migration path remains stable

## v0.2.1-alpha
- Refined plot parser structure
- Refined parser config propagation
- Updated deps

## v0.2.0
- Added **Layout field expansion** — Phase 1 & 2
    - **Phase 1 (Basic fields)**:
        - Spacing: `bar_gap`, `bar_group_gap`, `box_gap`, `box_group_gap`
        - Interaction: `hover_mode`, `drag_mode`, `click_mode`
        - Sub-objects: `font` (family/size/color), `coloraxis` (cmin/cmax/cmid/auto/reverse/show)
    - **Phase 2 (Axis support)**:
        - Default axes: `xaxis`, `yaxis` with full field support
        - Named axes: `xaxis2``xaxis8`, `yaxis2``yaxis8`
        - Axis fields: `title`, `show_grid`, `show_line`, `zero_line`, `visible`,
          `anchor`, `overlaying`, `range`, `color`, `line_color`, `grid_color`,
          `tick_prefix`, `tick_suffix`, `tick_format`, `hover_format`, `category_array`,
          `fixed_range`, `scale_anchor`, `auto_margin`, `show_tick_labels`
        - Axis enums: `category_order` (16 variants), `type` (linear/log/date/category/multicategory)
- Added helper functions: `parse_axis_obj()`, `parse_named_axes()`
- Added 3 axis tests (xaxis, date type, named axes)
- Updated documentation (USAGE-zh_CN.md, USAGE.md) with new Layout fields and Axis reference

## v0.2.0-beta
- Added 6 new Data trace types
    - Added `box` (BoxPlot)
    - Added `contour` (Contour)
    - Added `heatmap` (HeatMap)
    - Added `mesh3d` (Mesh3D)
    - Added `scatter3d` (Scatter3D)
    - Added `surface` (Surface)
- Updated docs for all new trace types (USAGE-zh_CN.md, USAGE.md)
- Added comprehensive tests for all existing and new trace types
- Re-exported all new trace types in `src/code_handler/plot_obj_parser.rs`

## v0.1.9
- Updated interfaces
    - Added Marker in `bar`, `histogra`, `pie`, `scatter`, `scatter_geo`, `scatter_mapbox`, `scatter_polar`
- Updated tests and macros

## v0.1.9-beta
- Updated interfaces
    - Updated layout
    - Updated config
    - Updated legend
    - Updated the `Color`
- Fixed docs

## v0.1.9-alpha
- Updated Cargo.toml
    - Adjusted deps
            - Added `chrono`
    - Adjusted features
        - Add the `map-parser-extensions` feature
- Updated interfaces
    - Updated the map parser
            - Updated `time`, `g-random`, `g-choose`
- Fixed docs

## v0.1.8
> [!NOTE]
> Hotfix. Please don't use old versions.
- Fixed `BookData`

## v0.1.8-alpha
- Adjusted `code_handler`
    - Updated `map`
- Fixed docs
- Updated tests

## v0.1.7
- Adjusted `code_handler`
    - Updated `map`
- Fixed docs
- Updated tests

## v0.1.7-beta.2
- Adjusted `code_handler`
    - Updated `map`
- Fixed docs
- Adjusted `Cargo.toml`
    - Added the `fasteval` crate

## v0.1.7-beta
- Adjusted `code_handler`
    - Adjusted `must_translate`
    - Added `translate_enum`
    - Made it all to support `DataPack`(Map)
- Updated docs

## v0.1.7-alpha
- Adjusted `Cargo.toml`
- The preview version would now provide the symbols.

## v0.1.6
- Adjusted `Cargo.toml`
    - Adjusted `[profile.release]`
- Updated docs

## v0.1.6-beta
- Adjusted interfaces
    - Adjusted Config
    - Adjusted other Datas
    - Added Color enum
- Updated docs
- Updated tests

## v0.1.6-alpha
- Adjusted interfaces
    - Added Data-candlestick
    - Added Data-sankey
    - Added Data-scatter_polar
    - Added Data-table
    - Added Data-ohlc
- Updated docs

## v0.1.5-alpha
- Adjusted interfaces
    - Added Data-density_mapbox
    - Added Data-histogram
    - Added Data-image
    - Added Data-scatter_geo
    - Added Data-scatter_mapbox
    - Adjusted other Datas
- Updated docs
- Updated some tests

## v0.1.4-alpha
> [!WARNING]
> Although `plotly_svg_handler` is updated, it is not available.

- Updated `plotly_svg_handler`
- Adjusted interfaces
    - Add Data-scatter
    - Adjust Data-bar

## v0.1.3-beta
- Added interfaces
    - Added `Data-bar`
    - Used `usize` instead of `u64`
- Adjusted deps
    - Added `anyhow`
    - Added `env_logger` instead of `chlog`
- Used `anyhow` to optimize

## v0.1.3-alpha
- Added interfaces
    - Added to `Config`
        - `editable`
        - `autosizable`
        - `responsive`
        - `scroll_zoom`
        - `fill_frame`
        - `frame_margins`
        - `show_axis_drag_handlers`
        - `show_axis_range_entry_boxes`
        - `show_tips`
        - `show_link`
        - `send_data`
- Updated `docs/USAGE-zh_CN.md`
- Adjusted deps
    - Added `rand`
- Adjusted features
        - Added `dep:rand` to `plotly-backed`

## v0.1.2-alpha
- Optimized parsers performance in `code_handler`
- Fixed parser bugs

## v0.1.1-alpha
> [!WARNING]
> The changelog of `0.1.0-alpha` has been incorporated into this release.

- Added `plotly-html-handler`
- Added interfaces
    - Added `pie` plot
- Updated docs
- Created workflows