Releases: mgks/docmd
docmd v0.2.4 🎊
🐞 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
opacityfix.
❤️ Support the Project
docmd v0.2.3 🎊
🐞 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: trueinconfig.jswill 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 🚀
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: trueto any parent navigation item in yourconfig.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
rubytheme 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 🚀
✨ Features and Improvements
- Added partial template modules for cleaner and modular layouts.
- Improved SEO Plugin with support for
LD+JSONstructured meta and custom frontmatter options. - Introduced
themeModeconfig fornoStylepages to enable dark/light theme control without manual scripts. - Added option to disable syntax highlighting via
codeHighlight: falseinconfig.jsto 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-themeearly. - Corrected initial theme sync between
htmlandbodytags. - Fixed noStyle pages rendering as escaped text and removed unwanted script injections.
- Switched
noStylepages 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 definedinfile-processor.jsandSyntaxErrorinbuild.js(duplicate variable). - Improved plugin registration and Markdown-it instance management.
Containers & Components
- Reverted faulty
tabsandstepscontainers logic. Proper nesting and rendering now restored.
📝 Documentation Updates
- Updated guides for:
noStylebehaviour and usage- SEO plugin with
ldJsonsupport - Theme config options like
copyCodeandcodeHighlight - 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)
✨ Features and Improvements
- Introducing New Custom Containers: Tabs and Buttons
- New Configs:
sidebar{},positionMode,autoTitleFromH1andsponsor{} - 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
autoTitleFromH1as 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
✨ 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_DEVenvironment 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=trueis set - Better feedback during development with more informative logs
- Enhanced internal file watching when
🐞 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
✨ Features and Improvements
Added
- Introducing No-Style Pages:
- Added support for creating custom standalone pages with
noStyle: truefrontmatter - 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
- Added support for creating custom standalone pages with
- 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.
docmd v0.1.2
✨ Features and Improvements
Added
- New assets management system:
- Added support for a root-level
assets/folder that gets automatically copied to the output directory - User assets now take precedence over docmd's built-in assets with the same name
docmd initnow creates anassets/directory with css, js, and images subdirectories
- Added support for a root-level
- New documentation:
- Added dedicated documentation for assets management
- Improved custom CSS and JS documentation
- Added cross-references between related documentation pages
Changed
- Build process improvements:
- Added
--preserveflag to keep existing asset files when needed - Improved the build process to only clean HTML files and sitemap.xml, preserving all other files
- Reduced console output verbosity in development mode
- Added
- Project initialization:
- Enhanced
initcommand to create assets directory structure - Improved handling of existing files during initialization
- Better console output during initialization
- Enhanced
- Development server:
- Added support for watching the root
assets/directory for changes - Improved console output to hide internal implementation details
- Added DOCMD_DEV environment variable for development mode
- Enhanced browser auto-refresh with WebSocket reconnection and polling fallback
- Improved browser compatibility for Safari and other browsers
- Added support for watching the root
🐞 Bug Fixes
- Fixed issue where all file creation was skipped if user chose not to override existing files
- Fixed issue where directories were listed in the warning about existing files
- Fixed issue where existing assets were wiped during build process
- Fixed GitHub Pages deployment compatibility issues with assets
- Fixed dev server not detecting changes in user assets directory
- Fixed browser auto-refresh not working reliably in Safari and other browsers
- Fixed excessive console output during development 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.
docmd v0.1.1-beta
✨ Features and Improvements
- Image Content: Improved Image handling, lightbox and custom styling.
- Sky Theme Update: Image container, block and lightbox styles added.
- Improved
config.jsforinit: Improved and well populatedconfig.jsfor first time initialization and now docmd asks for confirmation to replace existing files withinit. (Note: Files will still be overridden and replaced withbuildanddevcommands) - New CLI flags:
-cor--config<path>: Path to config.js file. (default:config.js)-por--preserve: Preserve existing asset files instead of updating them. (default:false)
- System Filenames Updated: Now by default system files will include
docmd-*to avoid unnecessary file duplication. (Note: Avoid editing the system made files directly, instead use custom CSS and JS files to manipulate rendered output)
🐞 Bug Fixes
- Images were rendered in disproportionate sizes.
- Overriding files on initial launch, specifically with
initcommand, now confirms. - Other minor bugs.
❤️ 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.0-beta
Overview
I'm excited to announce the first beta release of docmd, a Node.js command-line tool for generating beautiful, lightweight static documentation sites from Markdown files. This release marks a significant milestone in our journey to provide a simple yet powerful documentation generator that prioritizes content over complexity.
✨ Key Features
- Markdown-First Approach: Create documentation using standard Markdown with YAML frontmatter
- Beautiful Default Themes:
- Default theme with clean typography and spacing
- New "Sky" theme with subtle gradient accents
- Built-in light and dark mode support with toggle
- Lightning Fast: Static site generation with minimal JavaScript for optimal performance
- Responsive Design: Mobile-friendly layouts that adapt to any screen size
- Custom Markdown Containers: Enhanced content blocks including:
- Info, warning, and danger callouts
- Card components for highlighted information
- Step-by-step guides with numbered sections
- Built-in Plugin System:
- SEO plugin for meta tags, OpenGraph, and Twitter Cards
- Analytics integration (Google Analytics v4 support)
- Sitemap generation for better search engine indexing
- Developer Experience:
- Simple CLI with
init,dev, andbuildcommands - Live reload development server
- Configurable via JavaScript (config.js)
- Simple CLI with
- Navigation: Customizable sidebar with collapsible sections and icon support
- Code Highlighting: Syntax highlighting for code blocks with theme support
ℹ️ Known Issues and Limitations
- Internal Links: Some inconsistencies may exist with internal link handling when using
.mdextensions in links - Image Processing: No built-in image optimization (planned for future releases)
- Search: No built-in search functionality (planned for future releases)
- Themes: Limited theme customization options (more themes planned in future releases)
- Table of Contents: Table of contents may have inconsistent styling on some pages
- Mobile Navigation: Mobile navigation collapse behavior needs further refinement
- Build Process: Occasional issues with the dev server not detecting all file changes
- Icon Integration: Limited to Lucide icons library only
🐞 Bug Fixes
- Fixed issue with configuration not being properly loaded when using CLI commands
- Corrected path resolution for nested directory structures
- Resolved CSS conflicts between dark/light mode themes
- Fixed inconsistencies in frontmatter parsing
- Improved handling of relative links between documentation pages
- Corrected heading ID generation for table of contents
- Fixed plugin loading and execution order
⚡ Upcoming Features
- Advanced search functionality
- Additional themes and customization options
- Improved image handling and optimization
- Versioned documentation support
- Additional plugin integrations
- Enhanced API documentation features
📜 Documentation
For complete documentation, visit docmd.mgks.dev
🖊️ Feedback and Contributions
We welcome feedback and contributions! Please report issues, suggest features, or contribute to the codebase through our GitHub repository.
This is a beta release. While we've tested extensively, you may encounter unexpected issues. Please report them to help improve future releases.