As developers, we know documentation is crucial. It’s the bridge between our code and its users, the map for our collaborators, and often, the first impression our projects make. Yet, how many of us have felt the friction? The drag of complex tooling, the time spent wrestling with configurations instead of writing, or the frustration of ending up with docs that are slow, clunky, or just don’t feel right?
I’ve been there. That’s why I’m thrilled to introduce docmd – an open-source, Node.js-based static site generator born from a simple philosophy: “Zero clutter, just content.”
My goal with docmd was to create a tool that gets out of your way, letting you focus on what truly matters: crafting clear, concise, and helpful documentation using the Markdown you already know and love.
What Makes docmd Different in a Crowded Field?
The world isn’t short on documentation tools or static site generators. So, why docmd?
Radical Simplicity & Speed
- Minimal Setup: Install with
npm install -g @mgks/docmd
, thendocmd init
. You’re practically ready to go. Theconfig.js
is intuitive and designed for sensible defaults. - Fast Builds, Lightweight Output: No heavy framework overhead. docmd quickly processes your Markdown into optimized HTML, CSS (with minimal JS for theme toggling, etc.), ensuring your documentation site is blazing fast for your users. This is a stark contrast to some larger systems that can feel sluggish to build or navigate.
- Focus on Your Content: We prioritize the authoring experience. If you can write Markdown, you can build a beautiful documentation site with docmd without a steep learning curve.
Pure Markdown at its Core
Unlike tools that might require proprietary syntax extensions or a complex templating language to get started, docmd champions standard Markdown and simple YAML frontmatter for page metadata. This means your content remains portable and easy to manage.
Elegance Out-of-the-Box, Customizable When You Need It
- Beautiful Default Themes: Comes with multiple clean, responsive and highly customizable light/dark themes.
- Syntax Highlighting: Code blocks are beautifully highlighted using
highlight.js
, adapting to the chosen theme. - Custom CSS & JS: Easily extend or override styles and add custom functionality.
Built-in Essentials, No Plugin Overload
- While some tools require you to hunt for and configure numerous plugins for basic needs, docmd includes essentials.
- Custom Containers: This is a standout. Add richer components like callouts (:::tip), info boxes, warnings, cards for featured content, and even multi-step guides (:::steps) directly within your Markdown using an intuitive ::: containerName ::: syntax. This allows for structured, engaging content without writing custom HTML.
Truly Open Source (MIT Licensed):
docmd is free to use, modify, and distribute. It’s a community-focused tool, and contributions are welcome! This contrasts with some commercial or “open core” tools that might gatekeep features.
How docmd Works – The 30-Second Overview
- Initialize:
docmd init
scaffolds adocs/
directory and a config.js. - Write: Create your
.md
files indocs/
, using frontmatter for titles/descriptions. - Configure (Optional): Tweak
config.js
to define your site title, navigation sidebar, theme, logo, etc. - Preview:
docmd dev
starts a live-reloading server. See your changes instantly. - Build:
docmd build
generates the staticsite/
folder. - Deploy: Upload the
site/
folder to any static host (GitHub Pages, Netlify, Vercel, Cloudflare Pages, your own server) or simply use docmd github pages workflow to generate sites on the fly.
Who is docmd For?
- Developers documenting personal projects, open-source libraries, or internal tools who want a no-fuss solution.
- Startups & Small Teams needing to get documentation up quickly without a dedicated technical writer or complex infrastructure.
- Technical Writers who appreciate a Markdown-first workflow and want a clean, performant output.
- Anyone who loves Markdown and wants a simple way to publish it as a polished website.
See it in Action!
The entire documentation for docmd itself is, of course, built with docmd: ➡️ docmd.mgks.dev
Join the Journey & Get Involved:
docmd is young, but it’s built on a solid foundation with a clear vision. I believe there’s a strong need for documentation tools that respect the developer’s time and focus.
- Try it out:
npm install -g @mgks/docmd
- Star it on GitHub: https://github.com/mgks/docmd
- Feedback & Contributions: Issues, PRs, and ideas are always welcome!
- I’m excited to see what the community builds with docmd. Let’s make creating great documentation a simpler, more enjoyable process for everyone!