README
Edited: Saturday 9 May 2026

XLog

Fast, Git-native framework for building knowledge bases

Go Report Card GoDoc

XLog is a static site generator optimized for digital gardens and personal wikis. Written in Go with 37 built-in extensions for backlinks, hashtags, search, and more.

Features

  • Automatic Page Linking - Just mention a page name and XLog converts it to a link automatically. No more [syntax](/required)
  • Live Preview - Embedded web server with hot-reload shows changes instantly
  • Bidirectional Backlinks - Automatic backlinks show all pages linking to the current page
  • Fast - Written in Go, renders large knowledge bases in seconds
  • Git-Native - Filesystem-based, works with any text editor and version control
  • Extensible - 37 built-in extensions for photos, todos, search, and more
  • Flexible Output - Serve locally or generate static sites for deployment

Quick Start

1go install github.com/emad-elsaid/xlog/cmd/xlog@latest
2mkdir my-notes
3cd my-notes
4echo "# Hello World" > index.md
5xlog
6# => Browse to http://localhost:3000

Use Cases

  • Personal Wiki - Interconnected notes with automatic backlinks
  • Research Notes - Organize papers, citations, and ideas
  • Documentation - Team knowledge bases and project docs
  • Learning Journal - Study notes with hashtags and search
  • Digital Garden - Public or private knowledge sharing

How It Works

  1. Write - Create markdown files in any text editor (Vim, Emacs, VS Code)
  2. Preview - Run xlog to start the live preview server with hot-reload
  3. Enhance - XLog automatically adds backlinks, hashtags, and search
  4. Deploy - Generate static site with xlog -build output/

XLog runs a web server that watches your markdown files. When you click “Edit” in the browser, it opens the file in your configured editor. Save the file, and the browser automatically refreshes to show your changes.

Why XLog?

vs Other Static Generators: XLog adds knowledge-base features (backlinks, hashtags, search) out of the box

vs Cloud Tools: XLog is free, self-hosted, privacy-focused, and works offline

vs Obsidian Publish: XLog is open source, customizable via extensions, and Git-native

vs Notion: XLog is local-first, markdown-based, and integrates with your existing workflow

Documentation

Extensions (37 Built-in)

XLog includes 37 extensions that enhance your knowledge base:

Knowledge Base:

  • Automatic Page Linking - Write naturally; XLog automatically converts page mentions to links
  • Backlinks - Automatic bidirectional links between pages
  • Hashtags - Tag pages and browse by topic
  • Search - Full-text search across all notes
  • Recent - Activity tracking for recently modified pages

Content:

  • Photos - EXIF data extraction for photo albums
  • Todos - Task lists with checkboxes
  • Mermaid - Diagrams and flowcharts
  • MathJax - Mathematical notation

And 29 more… View all extensions

Shell Completion

1# Bash
2eval "$(xlog -completion bash)"
3
4# Zsh
5eval "$(xlog -completion zsh)"
6
7# Fish
8xlog -completion fish | source

Contributing

  • Create new extensions
  • Improve the core codebase
  • Report issues or suggest features

See CONTRIBUTING.md for details.

Vendored Packages

XLog vendors some dependencies for more control and stability. We thank the original authors:

License

XLog is released under the MIT license