A tiny, theme-friendly static website generator powered by Markdown.
npm install smirky
I am a big fan of using the classic text editor VIM and using Markdown for writing plain text for technical writing
but using some of the static website generators out there I found them to be unnecessarily overly complicated
I just wanted a simple way for taking markdown files and coverting that content into a static website a.k.a made of just normal HTML pages.
Just like HTML is so simple for creating a web document, markdown is so simple for creating the content from plain text
and i didnt want to spend time fighting with the static website generator itself, creating themes and trying to figure out. What does what,and where verthing lives.
Most Static website generators haave too many damm features, and config files I need to wrestle with. Too that ened. Thats why I created Smirky
Smirky is a minimalist static website generator for people who just want to write Markdown and get a website — no ceremony, no plugins, no magic.
It is perfect for building blogs, landing pages, or any static site quickly.Its open source you can download the code and improve on it. Creating a static website from markdown should not be rocket science.
Smirky keeps with the Kiss principle. Keep It Simple Stupid!
---
* Write Markdown and get a website
* Supports tags in Markdown posts
* Minimal templates with header, navbar, footer, and content
* Blog posts and tag pages generated automatically
* Assets copied automatically
* No complex configuration
* Works with Fabform.io for contact forms
---
* Simple Markdown pages (pages/)
* Blog posts (content/) with tags
* Tag pages (/tags/) and blog index (/blog/)
* Clean templates and partials (theme/)
* Static assets copied automatically (theme/assets/)
* Contact forms via Fabform.io
* Generates everything in dist/ for deployment
---
1. Install Smirky globally or as a dev dependency:
``bashglobal installation
npm install -g smirky
2. Your project structure looks like this:
`
my-site/
├── pages/ # Static pages in Markdown
├── content/ # Blog posts in Markdown
├── theme/ # Optional: custom templates, partials, assets
└── package.json
`
How Themes Work
Smirky uses templates and partials to assemble your pages:
*
layout.html — main wrapper
* index.html — home page
* page.html — static pages
* post.html — individual blog posts
* blog.html — blog index and tag pages
* tags.html — tag indexPartials are reusable components:
*
head.html — meta tags, CSS
* navbar.html — navigation bar
* footer.html — footer content
* blog_post_card.html — blog summary card
* tag_pill.html — tag label
Smirky works with Fabform.io for contact forms without a backend.
Example Contact Form:
`html
action="https://fabform.io/f/FORM_ID"
method="POST"
>
`* Replace
FORM_ID with your Fabform ID
* Works directly on your static site
* No server, no backend---
Deployment
After running
npm run build, deploy the dist/` folder to any static host:* Netlify
* Vercel
* Cloudflare Pages
* GitHub Pages
---
Smirky is for people who want simple static sites. No plugins, no hidden configs, no ceremony.
Write Markdown, run Smirky, done.