Skip to content

Releases: mgks/docmd

docmd v0.2.7 🛡️ (Stability & UX Update)

25 Nov 08:37
9657f0a

Choose a tag to compare

This release focuses on Developer Experience (DX) and refining the user interface based on community feedback. It introduces smart configuration validation, responsive table handling, and improved navigation behavior.

✨ Features and Improvements

  • Smart Config Validation: docmd now proactively validates your docmd.config.js at startup.
    • Typo Detection: Catches common mistakes like writing customCSS instead of customCss.
    • Type Safety: Ensures data types are correct (e.g., checking that navigation is an Array), preventing cryptic build errors later.
  • Enhanced Sidebar Navigation:
    • Click-to-Expand: Clicking a parent menu item's text now expands/collapses the submenu, instead of requiring a click on the small arrow icon.
    • Placeholder Items: You can now create navigation headers that don't link to a specific page by setting their path to '#'. These items strictly toggle their submenus.
  • Responsive Tables: Added automatic horizontal scrolling for wide tables. Tables are now wrapped in a container that handles overflow gracefully on mobile devices without breaking the page layout.
  • Documentation:
    • Added a Recipes section with guides for Custom Fonts, Landing Pages, and Favicons.
    • Added a detailed Comparison page to help users understand how docmd differs from Mintlify, Docusaurus, MkDocs, and Docsify.

🐞 Bug Fixes

  • Navigation UX: Fixed usability friction where clicking a parent link in the sidebar would navigate away without expanding its children. (Improvement #17)
  • Dependencies: Updated core dependencies (chokidar, fs-extra) to their latest stable versions for better security and performance.

⬆️ How to Upgrade

To update your global installation:

npm install -g @mgks/docmd@latest

Full Changelog: 0.2.6...0.2.7

❤️ Support the Project

docmd v0.2.6 🎊

15 Nov 20:15
e5639f9

Choose a tag to compare

This release fixes critical cross-platform bugs, and adds several highly-requested developer experience (DX) improvements. It's a major step forward in making docmd a more robust and professional tool.

✨ Features and Improvements

  • Branded CLI Output: The dev and build commands now display a clean and professional docmd banner with the current version number.
  • Post-Install Guide: After a global installation, docmd displays a helpful message with the next steps to get started, improving the onboarding experience.

🐞 Bug Fixes & Stability Improvements

  • Critical Cross-Platform Fix (#14): Resolved a major bug where asset paths (CSS/JS) would fail to load on nested pages for Windows users. Path resolution is now fully platform-agnostic.
  • Improved Error Handling: The CLI now provides clean, helpful error messages (without a long stack trace) when a configuration file cannot be found.
  • Code Refactoring: The logic for calculating previous/next page links has been refactored into a reusable navigation-helper.js utility for better code maintainability.

⬆️ How to Upgrade

To update your global installation to the latest version, run:

npm install -g @mgks/docmd@latest

Full Changelog: 0.2.5...0.2.6

❤️ Support the Project

docmd v0.2.5 🚀

01 Nov 15:11
6942603

Choose a tag to compare

A huge thank you to @yuciferr for their fantastic contribution in PR #10! You can now bring your documentation to life with rich, text-based diagrams.

docmd now seamlessly integrates the Mermaid.js library. Simply use a mermaid code block in your Markdown, and it will be rendered as an interactive SVG diagram that automatically syncs with your site's light and dark themes.

Supported diagrams include Flowcharts, Sequence Diagrams, Gantt Charts, Pie Charts, Git Graphs, Mind Maps, and many more.

```mermaid
graph TD
    A[Start] --> B{Is it?}
    B -- Yes --> C[OK]
    C --> D[End]
    B -- No --> E[Find Out]
    E --> B
```

Check out the new Mermaid documentation page for a full list of examples!

✨ Features and Improvements

We've focused on making docmd easier and more robust to work with in your development environment.

  • Custom Port Flag (--port): You can now specify a port for the development server using docmd dev --port <number>. If the port is in use, docmd will automatically try the next available one.
  • Silent Mode (--silent): The build and dev commands now support a --silent flag to reduce console output, which is perfect for clean logs in CI/CD environments.
  • Better Error Handling: We've improved startup error messages. For example, docmd will now provide a clear error if siteTitle is missing from your config file instead of crashing cryptically.
  • Smarter Config File Discovery (Fixes #9): To prevent conflicts with other tools, docmd will now automatically look for docmd.config.js as the default configuration file. It will fall back to config.js for backward compatibility.
  • Per-Page TOC Control (Fixes #7): You now have fine-grained control over the "On This Page" sidebar. To hide it on a specific page (like a landing page), simply add toc: false to that page's frontmatter.
    ---
    title: "My Landing Page"
    toc: false
    ---

🐞 Known Issues

  • Diagram Proportions: Some complex Mermaid diagrams, particularly Gantt Charts and C4 Diagrams, may not have perfect dynamic resizing on the initial render. This is a minor visual issue we are tracking for a future fix.

⬆️ How to Upgrade

To update your global installation to the latest version, run:

npm install -g @mgks/docmd@latest

Full Changelog: 0.2.4...0.2.5

❤️ Support the Project

docmd v0.2.4 🎊

21 Aug 07:50

Choose a tag to compare

🐞 Bug Fixes

  • Restored Footer Navigation: Fixed a bug that caused the "Previous Page" and "Next Page" navigation links in the page footer to disappear. The logic for identifying the current page's position in the site structure has been corrected, and the footer navigation is now fully functional again.
  • Sponsor Ribbon: Button opacity fix.

❤️ Support the Project

docmd v0.2.3 🎊

20 Aug 16:55

Choose a tag to compare

🐞 Bug Fixes

  • Restored Default Menu Behavior: Fixed a bug where parent menu items in the sidebar were incorrectly hiding their children by default, even when not configured to be collapsible. Now, only parent items explicitly marked with collapsible: true in config.js will function as accordions. All other parent items will correctly display their children by default, as was the original behavior.

❤️ Support the Project

docmd v0.2.2 🚀

20 Aug 16:03

Choose a tag to compare

This release focuses on significantly improving the sidebar navigation experience with new features and critical bug fixes, making documentation sites more organized and user-friendly.

✨ Features and Improvements

  • Collapsible Sidebar Menus: You can now create collapsible accordion-style sections in your navigation. By adding collapsible: true to any parent navigation item in your config.js, it becomes a toggleable menu. This is perfect for organizing large documentation sites. (Feature Req. #5)
    • The active menu section is automatically expanded on page load.
    • The expanded/collapsed state of each menu is remembered during the user's session.
  • Smart Sidebar Scrolling: The sidebar now automatically scrolls to the active menu item when a new page loads. This eliminates the need for manual scrolling to find your current location in a long navigation list, greatly improving user experience.
  • Improved ruby theme with consistent font and color scheme.

🐞 Bug Fixes

  • "On This Page" Links Restored: The Table of Contents links on the right side of the page are now fully functional. Clicking a heading will smoothly scroll you to the correct section of the page as expected.
  • Active Page Highlighting: Resolved a critical bug where the current page was not being highlighted in the sidebar navigation. The active link is now correctly styled again, making it easy to identify your current location.
  • Collapsible Menu Stability: Fixed an issue where clicking the collapse icon on a navigation link would sometimes trigger a page reload. Clicks on the icon now exclusively control the menu's state for a smoother, more intuitive interaction.

❤️ Support the Project

docmd v0.2.1 🚀

02 Aug 21:38

Choose a tag to compare

✨ Features and Improvements

  • Added partial template modules for cleaner and modular layouts.
  • Improved SEO Plugin with support for LD+JSON structured meta and custom frontmatter options.
  • Introduced themeMode config for noStyle pages to enable dark/light theme control without manual scripts.
  • Added option to disable syntax highlighting via codeHighlight: false in config.js to reduce page weight.
  • Enabled copy-to-clipboard on all code blocks using copyCode: true, now default for new setups.
  • Improved homepage UX: added creative install block with copy support and fixed root page rendering issues.

🐞 Bug Fixes

Theming & Rendering Fixes

  • Fixed highlight.js CSS not switching with theme toggle or persisting on reload.
  • Prevented Flash of Unstyled Content (FOUC) in dark mode by injecting data-theme early.
  • Corrected initial theme sync between html and body tags.
  • Fixed noStyle pages rendering as escaped text and removed unwanted script injections.
  • Switched noStyle pages to opt-in component model with zero Markdown parsing.

Build System Fixes

  • Fixed crash on invalid frontmatter with fail-safe YAML parsing.
  • Prevented plugin errors (like malformed ldJson) from crashing build.
  • Fixed md is not defined in file-processor.js and SyntaxError in build.js (duplicate variable).
  • Improved plugin registration and Markdown-it instance management.

Containers & Components

  • Reverted faulty tabs and steps containers logic. Proper nesting and rendering now restored.

📝 Documentation Updates

  • Updated guides for:
    • noStyle behaviour and usage
    • SEO plugin with ldJson support
    • Theme config options like copyCode and codeHighlight
    • Component hierarchy and new structure

All the major issues from the previous version have been resolved, and the system is now much more robust and user-friendly! 🚀

❤️ Support the Project – Buy me a coffee ☕

docmd v0.2.0 🚀 (Major Release)

30 Jul 03:22

Choose a tag to compare

✨ Features and Improvements

  • Introducing New Custom Containers: Tabs and Buttons
  • New Configs: sidebar{}, positionMode, autoTitleFromH1 and sponsor{}
  • New Theme: Retro - Inspired by 1980s-90s computing aesthetics; includes neon colors, terminal styling etc.

Advanced Nested Container System

  • Complete rewrite of the container parsing system for robust nesting support
  • Seamless nesting - Any container can now be nested inside any other container
  • Proper depth tracking - Handles multiple levels of nesting correctly
  • Future-ready architecture - Easy to extend with new container types

Enhanced Container Support

  • Tabs within Steps - No more list breaking when tabs are nested in ordered lists
  • Cards within Tabs - Rich content organization with nested cards
  • Callouts within Cards - Informational content within structured cards
  • Buttons within Any Container - Action buttons work in any context
  • Multiple Container Nesting - Support for complex nested structures up to 7+ levels

🔧 Technical Improvements

  • Robust Parsing Engine
  • Advanced container rule with proper nesting detection
  • Enhanced tabs rule with nested content support
  • Context-aware processing - Maintains list continuity and structure
  • Recursive content processing - Handles nested markdown within containers

Code Quality

  • Removed legacy safeContainer system - Replaced with modern nested container architecture
  • Improved error handling - Better edge case management
  • Cleaner code structure - More maintainable and extensible
  • Performance optimizations - Efficient parsing and rendering

🐞 Bug Fixes

Critical Fixes

  • Fixed @index.md HTML rendering - noStyle: true frontmatter now works correctly
  • Resolved tabs container strict positioning - Flexible whitespace handling around ::: tabs
  • Fixed code block processing - ::: sequences no longer render as emphasis in code blocks
  • Eliminated list breaking - Ordered lists maintain structure with nested containers
  • Codeblock content escape - HTML content inside code blocks are now properly escaped and displayed as literal text

Container-Specific Fixes

  • Steps container - Now properly handles nested tabs without breaking list numbering
  • Tabs container - Improved content parsing and nested container support
  • Callout container - Better parameter handling and nested content support
  • Button container - Enhanced color support and nested placement
  • Steps not aligning content correctly
  • Only steps' title needs to be put into quote > symbol, no more need for dot or number
  • Menu bar not auto scrolling to active link

🎨 User Experience

  • Enhanced Flexibility
  • No more strict positioning rules - Containers work with flexible whitespace
  • Intuitive nesting - Natural container combinations work as expected
  • Better documentation - Clear examples of nested container usage
  • Consistent behavior - All containers follow the same nesting patterns
  • Divider --- default style improved
  • Implementation of autoTitleFromH1 as suggested in issues (#1)
  • Tabs container support added as suggested in discussions (#2)

🚀 Future-Ready Architecture

  • Extensible Design
  • Modular container system - Easy to add new container types
  • Standardized renderer pattern - Consistent implementation for new containers
  • Plugin-friendly structure - Ready for community container extensions
  • Backward compatibility - Existing container usage remains unchanged

❤️ Support the Project – Buy me a coffee ☕

docmd v0.1.4

15 May 12:35

Choose a tag to compare

✨ Features and Improvements

Added

  • New Ruby theme:
    • Elegant, jewel-toned color palette with ruby reds and complementary purples
    • Sophisticated typography with serif headings and sans-serif body text
    • Distinctive UI elements with gem-like styling and gradient accents
    • Luxurious dark mode with deep, rich backgrounds and vibrant accent colors
    • Enhanced styling for links, buttons, tables, and images
  • Improved theme documentation:
    • Clarified the relationship between default theme and additional themes
    • Updated theme selection documentation with clearer examples
    • Added detailed descriptions of each theme's unique features
  • Development server enhancements:
    • Added automatic port selection when default port is in use
    • Documented DOCMD_DEV environment variable for enhanced logging and internal file live editing
    • Improved developer experience with clearer console output

Changed

  • Theme system improvements:
    • Refined the theme architecture to clearly separate base styling from theme enhancements
    • Made Sky theme the default theme when none is specified
    • Enhanced the theme loading process for better performance
  • Documentation structure:
    • Reorganized theme documentation for better clarity
    • Simplified configuration examples
    • Improved consistency across documentation pages
  • Developer workflow improvements:
    • Enhanced internal file watching when DOCMD_DEV=true is set
    • Better feedback during development with more informative logs

🐞 Bug Fixes

  • Fixed inconsistencies between documentation and actual implementation
  • Fixed busy port error and configuration documentation inconsistency
  • Fixed window and scroll issues on mobile devices for better responsive experience
  • Fixed Node.js version requirement in documentation (now correctly states v22.0.0+)
  • Fixed theme-related configuration examples

❤️ Support the Project – Buy me a coffee ☕

This is a beta release. While we've tested extensively, you may encounter unexpected issues. Please report them to help improve future releases.

docmd v0.1.3

13 May 01:52

Choose a tag to compare

✨ Features and Improvements

Added

  • Introducing No-Style Pages:
    • Added support for creating custom standalone pages with noStyle: true frontmatter
    • New template system for no-style pages that only includes components specified in frontmatter
    • Granular control over page components (meta, CSS, layout, sidebar, scripts, etc.)
    • Support for custom HTML and Markdown mixed content
    • Added documentation and example for no-style pages
  • New landing page with responsive design
  • Added support for custom head and body scripts in frontmatter

Changed

  • Improved Markdown processing for HTML content
  • Enhanced template system with conditional component rendering
  • Updated documentation with new examples and use cases
  • Optimized build process for special page types
  • Improved developer experience:
    • Made dev server logs more concise with only essential rebuild information
    • Simplified all file path outputs to be relative to working directory
    • Reduced verbosity when processing files in development mode

🐞 Bug Fixes

  • Fixed issue with HTML content being escaped in custom pages
  • Fixed navigation links for special page types
  • Fixed handling of mixed HTML and Markdown content
  • Fixed port occupation issues by adding automatic port fallback in dev server
  • Fixed verbose output in terminal during file changes in dev mode

❤️ Support the Project – Buy me a coffee ☕

This is a beta release. While we've tested extensively, you may encounter unexpected issues. Please report them to help improve future releases.