Turn your Markdown files into a full-featured blog with zero hassle π
π Table of Contents
- β¨ Features
- π― MVP Goal
- π Quick Start
- π Project Structure
- πΌ Example
- βοΈ Configuration
- π£ Roadmap
- π€ Contributing
- β‘ Plugin Hooks (Developers)
- π License
β¨ Features
- β Write posts in Markdown
- β Zero Config β start instantly
- β π¨ Custom Themes (minimal, modern, dark, etc.)
- β Custom plugins support
- β π¦ Static Export for deployment (Netlify, Vercel, GitHub Pages)
- β π Beginner-friendly open source project
π― MVP Goal
Deliver a fast, hackable blogging framework where developers can:
- π Write in Markdown
- π¨ Apply themes
- β‘ Extend with plugins
- π·οΈ Add tags to posts
- π Publish with one command
π Quick start
π§ Requirements
- Node.js v18+
- npm/yarn/pnpm
β‘ Install & Run
# Create a new blog
npx zeno-blog init mysite
cd mysite
# Build the blog
npx zeno-blog build
# Start the development server
npx zeno-blog serve 3000
Open π http://localhost:3000
π Project Structure
zeno/
βββ bin/
β βββ zeno.js
βββ src/
β βββ builder.js
β βββ cli.js
β βββ config.js
β βββ server.js
βββ plugins/
β βββ popup.js
βββ themes/
β βββ default/
βββ posts/
βββ first-post.md
πΌ Example
---
title: "What is Zeno?"
date: "2025-09-19"
tags: "first post, blog"
---
Zeno is a plugin-first Markdown blog framework built in JavaScript. It allows you to write in Markdown, apply themes, extend with plugins, and publish your blog with one command.
π Preview (Clazzy theme):
βοΈ Configuration
themes/default/
βββ components/
β βββ navbar.html
β βββ posts.html
βββ index.html
βββ post.html
βββ style.css
components/β Reusable components for your pages.components/posts.html- Individual post template.index.htmlβ Home page template.post.htmlβ Individual post template.style.cssβ Theme styles.
π£ Roadmap
- [ ] π Search Feature
- [ ] π·οΈ Tag archive pages
- [ ] π Filtering posts by tags
- [ ] π¨β¨ Advanced theme customization
π€ Contributing
π‘ Contributions are welcome!
-
- Fork the repo
-
- Create a feature branch (git checkout -b feature/my-feature)
-
- Commit and push your changes
-
- Submit a pull request
β‘ Plugin Hooks (Developers)
Zeno provides plugin hooks so developers can extend functionality:
onMarkdownParse(markdown, frontmatter)β Modify Markdown before rendering.onRenderHTML(html, frontmatter)β Modify HTML after rendering.onPostBuild(distDir)β Hook after the blog is built.
π License
Zeno is licensed under the MIT License - see LICENSE