smirky
v1.0.5
Published
A tiny, theme-friendly static website generator powered by Markdown.
Maintainers
Readme
Smirky — Minimalist Static Website Generator
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!
Why Smirky?
- 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
Features
- 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
Getting Started
- Install Smirky globally or as a dev dependency:
# global installation
npm install -g smirky
# or as a dev dependency in your project
npm install --save-dev smirky- 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.jsonHow Themes Work
Smirky uses templates and partials to assemble your pages:
layout.html— main wrapperindex.html— home pagepage.html— static pagespost.html— individual blog postsblog.html— blog index and tag pagestags.html— tag index
Partials are reusable components:
head.html— meta tags, CSSnavbar.html— navigation barfooter.html— footer contentblog_post_card.html— blog summary cardtag_pill.html— tag label
Smirky works with Fabform.io for contact forms without a backend.
Example Contact Form:
<form
action="https://fabform.io/f/FORM_ID"
method="POST"
>
<input type="text" name="name" placeholder="Your name" required />
<input type="email" name="email" placeholder="Your email" required />
<textarea name="message" placeholder="Your message"></textarea>
<button type="submit">Send</button>
</form>- Replace
FORM_IDwith 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:
Philosophy
Smirky is for people who want simple static sites. No plugins, no hidden configs, no ceremony.
Write Markdown, run Smirky, done.
