🧩 Welcome to Bliki

Bliki is a minimal static site generator that bridges the gap between blogging and wiki. It takes Markdown files from a content/ folder and renders them as a complete static website in public/, using a theme-based templating system for presentation.

Static or dynamic? Bliki handles both! Your content lives in a git repository: every save is a commit, webhooks trigger rebuilds, and remote push/pull keep everything in sync. Client-side logic fetches live data from the API, and SSE pushes real-time rebuild notifications directly to the browser. The inline editor, auth status, and rebuild indicators all update automatically. Static files are always preferred when possible, but dynamic features are here where they matter.

Whether you want a traditional blog, a documentation site, or something in between, Bliki gives you a simple file-based workflow with Git-powered editing.

Below you'll find posts that cover the basics — or jump to About to learn more about the project.


Features

📝 Blogging — Write posts with Markdown & YAML frontmatter. Organize with tags, categories, and layouts. Drafts stay hidden until you're ready.

🔒 Access Control — Protect content with role-based ACLs. Admins, editors, and viewers each get the right level of access. JWT sessions make it seamless.

🌐 Git-Integrated — Every file is a commit. Web editor saves, push/pull to any Git remote, and webhook-triggered rebuilds keep everything in sync.

📡 On-the-fly Rendering — Protected pages are never statically generated. They render in real-time for authenticated users with the right permissions.

🎨 Themeable — Goldmark for CommonMark 0.31.2 compliant Markdown rendering. Swap templates, stylesheets, and JS without touching your content.

📦 Zero Dependencies — A single static binary. No database, no Node.js, no runtime — just `bliki build` and `bliki build --serve`.


Latest posts

Bliki Phase 4.1: Code Quality & Consolidation

Embed consolidation, component refactoring, bug fixes, and e2e test infrastructure

Bliki Phase 4: WYSIWYG Editor

Live preview, formatting toolbar, scoped events, and the /api/preview endpoint

Bliki Phase 3.5: Web Editor with SSE

Inline editing, real-time rebuild notifications, file locking

Bliki Phase 3: Authentication & ACL

JWT tokens, bcrypt passwords, role-based access control

Bliki Phase 2: Git-Based Filesystem

Making git the source of truth — clone, commit, push, webhook

Bliki Phase 1: Building the Core

The first commits — a static site generator in a single binary