Highlights

docmd v0.9.1 delivers a comprehensive modernisation of the container engine, introducing standardised explicit container closing tags, explicit key-value header attributes, trailing # comments, a native ::: mermaid diagram container, resolution for Issue #187 (blank lines inside HTML blocks in noStyle mode), and full 1:1 documentation parity across all supported languages (en, de, es, zh).

Container Engine Standardisation

  • Explicit Closing Tags: Standardised explicit closing tags (::: container::: /container) across all structural containers for deterministic block resolution and infinite nesting depth.
  • Unified Sub-Container Nomenclature: Introduced named sub-container items (::: tab::: /tab for ::: tabs, ::: step::: /step for ::: steps, ::: log::: /log for ::: changelog). Legacy sub-block markers (== tab, 1.) remain strictly supported for backward compatibility.
  • Explicit Key-Value Formatting: Standardised named parameter syntax (title:"...", url:"...", align:center, zoom:true, icon:name) across container headers while preserving positional argument fallbacks.
  • Container Header Comments: Added native support for trailing # comments on container lines (::: tabs # header comment, ::: /tabs # closing comment).
  • Self-Closing Container Normaliser & Flexible Closing Tags: Enhanced depth tracking, inline paragraph embedding (::: button, ::: tag), and automatic orphan tag stripping for self-closing containers (::: button, ::: tag, ::: embed). Users can write self-closing tags on standalone lines or inline within text, with optional explicit closing tags (::: /button, ::: /tag) fully supported.
  • New Tooltip Container (::: tip): Introduced native hover tooltips (::: tip "Tooltip explanation" term:"Term" ::: /tip) for inline and block documentation terminology popovers.

Native ::: mermaid Diagram Container

  • Rich Container UI: Introduced a dedicated ::: mermaid container that wraps diagram DSL within an interactive shell featuring custom headers, title bars, icons, alignment (left, center, right), built-in theme overrides (default, dark, forest, neutral), and pan/zoom controls.
  • Plugin-Bound Execution: Powered directly by @docmd/plugin-mermaid. If the plugin is disabled in docmd.config.json, both ::: mermaid containers and standard code blocks are deactivated cleanly without loading client-side JS assets.
  • Hybrid GFM Compatibility: Standard Markdown fenced code blocks (```mermaid) remain 100% supported for universal GitHub and IDE preview compatibility.

AI Assistant Enhancements & Navigation Tooling

  • New get_site_structure Tool: Equipped @docmd/plugin-ai with a structural inspection tool (get_site_structure) that allows the AI Assistant to pull the site’s complete version manifest (current & historical), supported locales, multi-project workspace setup, and full page navigation tree with titles and URLs.
  • Dynamic Search Capability Detection: The AI Assistant now inspects @docmd/plugin-search build metadata (searchCapabilities: { keyword: true, semantic: Boolean }) to dynamically determine whether semantic vector search is enabled or if keyword-only search (MiniSearch) is active.
  • Keyword & Semantic Query Optimization: Updated assistant prompt routing and tool instructions so queries to search_documentation automatically format terms into concise, high-precision keywords (e.g., "containers hero") to avoid low-precision matches on keyword search engines while maximizing relevance on semantic indexes.

Engine and Bug Fixes

  • Blank Lines in HTML Blocks (Issue #187): Fixed an issue where blank lines between HTML elements in noStyle pages or standard Markdown files caused subsequent HTML elements to render as raw plain text instead of properly formatted HTML.
  • Zero-Config SPA Homepage Link Preservation (Issue #196): Fixed an issue where SPA navigation sidebar synchronisation inadvertently converted zero-config root homepage links (<a href="">) to <a href="#">, preventing subsequent navigation back to the documentation root.
  • Summer Template Banner Rendering: Fixed an issue in @docmd/template-summer where object-based announcement banner configurations (with markdown formatting, type variants, links, icons, and dismissible buttons) failed to render the banner text and components.

Global Documentation Parity

  • Multilingual Synchronisation: Updated all documentation pages, container guides, and code examples 1:1 across English (en), German (de), Spanish (es), and Chinese (zh).