All notable changes to Docmach will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Plugin system -
pluginsconfig option accepting"docmach:name", relative file paths, or installed packages (ESM or CommonJS), with optional per-pluginoptions - Build hooks:
preBuild,transformHtml,page, andpostBuild. Hooks receive structured data (config, page metadata, generated html) - Per-plugin error isolation: a failing hook is reported once per build and never aborts it
- Invalid plugin references are reported and skipped instead of failing the build
- The build directory is created before
preBuildruns, so hooks can write into it on fresh builds - Official plugins:
docmach:rss(RSS 2.0 feed) anddocmach:search-index(client-side search JSON) - Plugin types (
DocmachPlugin,PageContext,PluginReference, and others) exported from the package
parseDocmachFIlesrunspreBuildat the start of full builds andpostBuildafter the manifest and sitemap are writtenconfigTypeis exported from the parserpackage.jsonnow ships thepluginsdirectory and atypesentry
- Added
docs/docs/plugins.md- plugin guide, hook reference, and official plugin options - README: added a Plugins section and configuration option
- API reference: added the
pluginsoption and a hook summary
1.0.20 - 2025-12-07
- Build Manifest Generation - Automatically generates
docmach-manifest.jsoncontaining all pages, links, and docmach tag metadata - Manifest includes source paths, output paths, URL links, and complete tag information
- Metadata extraction for all docmach tags (fragments, functions, wrappers)
- Enhanced documentation with advanced features guide
- API reference documentation
- Comprehensive roadmap for future development
- Contributing guidelines
- Improved compiler to extract tag metadata before processing
- Parser now collects page metadata during compilation
- Manifest only generated during full builds (not incremental updates)
- Added
docs/docs/advanced-features.md- Advanced usage patterns - Added
docs/docs/api-reference.md- Complete API documentation - Added
ROADMAP.md- Strategic development plan - Added
CONTRIBUTING.md- Contribution guidelines - Enhanced README with better examples and CLI documentation
1.0.19 - Previous Release
- Markdown compilation with syntax highlighting (highlight.js)
- Custom templating system with
<docmach>tags - Fragment templates with variable substitution
- Function templates for dynamic content
- Wrapper templates for layout composition
- Tailwind CSS integration
- Live development server with WebSocket hot reload
- File watching with incremental builds
- Template caching with LRU cache
- Asset copying and management
- CLI commands:
docmach,docmach build,docmach print
- Markdown-it parser with HTML support
- Chokidar file watcher
- WebSocket server for live reload
- Throttled rebuilds (250ms)
- Template dependency tracking
- Incremental asset copying
- Auto port selection (starting from 4000)
See ROADMAP.md for the strategic plan and priority tracks:
- Track 1 (v1.1) — Plugin system + hooks (designed around the AST/content graph), CLI polish, config done right
- Track 2 (v1.2) — Frontmatter and the content graph; manifest becomes a projection of the graph
- Track 3 (v1.3) — AST-first compiler, persistent content-addressed cache, worker isolation, parallel compilation
- Track 4 (v1.4) — CommonMark/GFM compliance, cross-runtime, watch-mode and quality infrastructure
- Track 5 (v2.0) — Stable, semver-locked plugin and programmatic APIs
No breaking changes. The manifest feature is automatically enabled during builds.
New files generated:
{build-directory}/docmach-manifest.json
To use the manifest:
import manifest from "./docmach/docmach-manifest.json";
// Access page metadata
manifest.pages.forEach((page) => {
console.log(page.link, page.docmachTags);
});- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: docs/