npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, πŸ‘‹, I’m Ryan HefnerΒ  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you πŸ™

Β© 2026 – Pkg Stats / Ryan Hefner

docmach

v1.1.2

Published

Docmach - markdown compiler for blogs & project Documentation πŸš€

Readme

Docmach

Docmach is a Markdown-powered static site generator designed for modern blogs and project documentation. It integrates the simplicity of Markdown and Tailwind CSS to generate sites with minimal effort.

Features

  • Markdown Compilation – Write Markdown with full HTML support and syntax highlighting
  • Custom Templating System – Use fragments, functions, and wrappers via <docmach> tags
  • Tailwind CSS Integration – Built-in Tailwind CSS compiler for beautiful, responsive designs
  • Live Reload & Watch Mode – Instant preview with WebSocket-based hot reload
  • Incremental Builds – Smart caching and dependency tracking for fast rebuilds
  • Build Manifest – Auto-generated JSON manifest with page metadata and tag information
  • Programmatic API – Use Docmach as a library for dynamic content generation
  • Simple Configuration – Minimal setup required to get started

See more

Installation

# Install locally
npm i docmach
npx docmach

# Or install globally
npm i docmach -g
docmach

Configuration

Add the following to your package.json file:

"docmach": {
  "docs-directory": "./docs",
  "build-directory": "./docmach",
  "assets-folder": "./assets"
}

Configuration Options

| Option | Description | Default | | ------------------- | -------------------------------------------- | -------------- | | docs-directory | Directory containing your Markdown files | Root directory | | build-directory | Output directory for the generated site | ./docmach | | assets-folder | Directory with assets to be copied to output | None |

🧩 How Docmach Works

Docmach parses all .md files in your input folder, extracting and processing Markdown and HTML content. It uses special Docmach tag to apply templates and functions.

Docmach tag

Docmach tag work similarly to HTML tags:

<docmach
  type="fragment"
  file="template.html"
  params="title=My Page; author=JohnDoe"
/>

<!-- Yes this works, passed as function parameter -->
<docmach
  type="function"
  file="author-bio.js"
  params="title=My Page; author={name: JohnDoe, age: 24, date: 20th March 2015}"
/>

Using Fragment

<!-- template.html -->

<html>
  <head>
    <title>{{ title }}</title>
  </head>
  <body>
    <h2>{{ author }}</h2>
  </body>
</html>

Using Function tags

// in author-bio.js
export default function (title, author) {
  return `
   <div>
   <h1>by ${title}</h1>
   <h3>by ${author.name}</h3>
   <p>Aged: ${author.age}</p>
   <p>On: ${author.date}</p>
   </div>
   `;
}
// such functions should do it works fast please.

Docmach Attributes

| Attribute | Type | Description | | --------------- | ------ | ------------------------------------------------------------------------- | | type | string | Template type: "fragment", "function", or "wrapper" | | file | string | Location of template code: .html for fragments or .js for functions | | params | string | Parameters passed to templates (supports objects: key: {nested: value}) | | replacement | string | (Wrapper only) Placeholder name where content will be inserted |

Using Wrapper Tags

Wrappers allow you to wrap Markdown content with custom HTML:

<docmach
  type="wrapper"
  file="layout.html"
  replacement="content"
  params="title: My Page"
>
  # This Markdown content will be wrapped Your content here gets inserted into
  the `{{ content }}` placeholder.
</docmach>

CLI Commands

docmach              # Start dev server with live reload
docmach build        # Build for production
docmach print        # Visualize all pages in your site

Build Manifest

Docmach automatically generates docmach-manifest.json during builds, containing:

  • All page paths and URLs
  • Docmach tags used in each page
  • Template dependencies and parameters

Perfect for building navigation, sitemaps, or analyzing your site structure.

Why Choose Docmach?

  • Live Reload That Actually Works πŸ”„ – See changes instantly
  • CLI That Doesn't Get in Your Way πŸ› οΈ – Simple, intuitive commands
  • Developer Experience Focused 🌟 – Built with modern web development workflows in mind
  • Flexible & Extensible 🧩 – Adapt to your project needs without complexity

Roadmap

See ROADMAP.md for planned features and future direction.

Upcoming features:

  • Plugin system for extensibility
  • Frontmatter support (YAML/TOML)
  • Collections and taxonomies
  • i18n support
  • CMS integrations

Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

Quick start:

git clone https://github.com/CodeDynasty-dev/Docmach.git
cd Docmach
npm install
npm run watch

Documentation

License

Apache License 2.0