Zen Digital Garden

ZenMD

What

https://www.npmjs.com/package/zenmd

A convention-over-configuration static site generator, eliminating all boilerplate and framework setup (i.e.: accidental complexity1), requires no decisions or input from the user, freeing them to focus solely on their content.

Who

Crafted for the neurodivergent minimalist with ADHD/OCD, who can't remember all the reasons why config files can exceed the content.

Why

It is an attempt in answering:

How many steps does it take to publish markdown to a simple static blog with images and links between pages? 10? 20? Why not less than 5?

— Shao | 少蒙 (@randomor) October 14, 2023

With ZenMD, it's now just two steps:

  1. npx zenmd
  2. netlify deploy or whatever static hosting platform.

It transforms the following @randomor folder into the dist folder and properly link between them.

├── @randomor
│   ├── WonderWeave Press.md
│   ├── assets
│   │   └── digital_garden.webp
│   ├── index.md
│   ├── posts
│   │   └── index.md
│   ├── zenjournal.md
│   └── zenmd.md
└── dist
	├── assets
	│   └── digital_garden.webp
	├── index.html
	├── posts
	│   └── index.html
	├── sitemap.xml
	├── wonderweave-press.html
	├── zenjournal.html
	└── zenmd.html

How is it different?

Started looking around, yet, no tool does this combination of things:

ZenMD fills the gap above, and also opens up a few interesting workflows:

What is this good for?

Footnotes

Footnotes

  1. Accidental complexity refers to complexity in software that arises from the tools or methods used, unlike essential complexity, which stems from the inherent demands of the problem itself. Accidental complexity is often considered avoidable or reducible. Just take a look at this default generated next.js app, you won't remember why 90% of these files are there in 5 years.