| modified | Thursday 7 May 2026 |
|---|
After years of trying different tools for my personal wiki, I built XLog - a static site generator specifically designed for knowledge bases, digital gardens, and personal wikis. Here’s why it exists and what makes it different.
Most static site generators (Hugo, Jekyll, 11ty) are built for blogs and marketing sites. They’re great at what they do, but they’re not optimized for interconnected knowledge bases.
Cloud tools (Notion, Obsidian Publish) solve the knowledge base problem but lock you into their platforms. Your notes become dependent on their infrastructure, their pricing, their features.
I wanted something that combined the best of both worlds:
XLog is a fast, Git-native framework for building knowledge bases. It’s written in Go and designed specifically for interconnected note-taking, not general websites.
Key features:
Automatic Backlinks - Mention a page name ([Page Name](/Page_Name)) and XLog creates bidirectional links automatically. No manual link management.
Desktop Editor Workflow - Use Vim, VS Code, Emacs, or any text editor. Edit markdown locally with live preview in your browser.
Git-Native - Everything is markdown files in folders. Full version control, sync with Git, no database.
37 Built-In Extensions - Hashtags, search, todos, photos, and more. Knowledge-base features out of the box.
Live Preview - Save in your editor, instantly see changes in browser. No build step during writing.
1go install github.com/emad-elsaid/xlog/cmd/xlog@latest
1mkdir my-wiki
2cd my-wiki
3echo "# Welcome to My Wiki" > index.md
4xlog
Visit http://localhost:3000 and see your note rendered.
Click “Edit” - opens the markdown file in your configured text editor. Make changes, save, and the browser updates instantly.
That’s it. No complex configuration, no theme setup, no build process.
XLog intentionally doesn’t include a browser-based editor. Instead, you edit in Vim, VS Code, Emacs, or whatever you prefer.
Why?
The “Edit” button in XLog opens your desktop editor. You’re editing local markdown files, just with a live preview in your browser.
This is XLog’s killer feature. Write naturally and connections emerge:
1# Machine Learning Notes
2
3I'm learning about [Neural Networks](/Neural_Networks) and [Decision Trees](/Decision_Trees).
4
5Both relate to [Supervised Learning](/Supervised_Learning).
XLog automatically:
No manual link creation. No broken links when you rename files. Just write and connect.
XLog is optimized for digital gardens - interconnected, evolving notes rather than chronological blog posts.
Good for:
Not good for:
If you’re building an interconnected knowledge base, XLog is perfect. If you need a general website, use Hugo or Jekyll.
| Feature | XLog | Hugo/Jekyll | Obsidian | Notion |
|---|---|---|---|---|
| Editing | Desktop editor | Desktop editor | Desktop app | Browser |
| Backlinks | Automatic | Manual | Automatic | Manual |
| Storage | Local markdown | Local markdown | Local markdown | Cloud |
| Deployment | Static HTML | Static HTML | Paid publish | Cloud only |
| Speed | Fast (Go) | Fast | N/A | Depends on network |
| Cost | Free, open-source | Free | Free (publish paid) | Freemium |
XLog sits between pure static generators (Hugo) and cloud tools (Notion), offering knowledge-base features with full data ownership.
XLog is for developers and technical users who:
XLog is not for users who:
I use XLog for:
The XLog documentation itself is built with XLog. Every page is interconnected, concepts link naturally, and the knowledge graph reveals relationships I didn’t consciously create.
Documentation:
Repository:
Quick start:
1go install github.com/emad-elsaid/xlog/cmd/xlog@latest
2mkdir my-notes && cd my-notes
3echo "# Hello World" > index.md
4xlog
Visit http://localhost:3000 and start building your knowledge base.
XLog is built on three principles:
I built XLog because I wanted a knowledge base tool that respects these principles while providing automatic backlinks and live preview. If you share these values, give XLog a try.
XLog is actively developed and open to feedback. If you try it:
I’m building XLog for people who value local-first, Git-native knowledge management. If that’s you, welcome!
Links: