Edited: Thursday 20 February 2025

The world's most extensive framework for building digital gardens

Xlog is one of the most complete static site generator for digital gardens and knowledge bases. Written in Go makes it the fastest in its class. Xlog focuses on enriching markdown files and surfacing implicit links between pages.

Xlog allows you to create knowledgebase using any method you are familiar with:

  • Weblog (Blog): Xlog allows you to write articles in markdown format with huge variety of automatic improvements such as auto linking text to other articles
  • Video Log (Vlog): Xlog allow you to (take screenshot, record camera, record desktop) and display it as part of the page
  • Sound Log (Slog): You can use Xlog to record audio and add it to the current page
  • Photo Log (Plog): Xlog can display photos from a directory and detect the photo capture EXIF data like ISO, Aperture, Shutter speed, Camera and Lens used.

Hence the X in Xlog refers to all of these types of accumulating knowledge and more.

Xlog also allows:

  • Generating your knowledgebase as a website. in fact this website is generated by Xlog and hosted on Github pages
  • Support hashtags, mermaid graphs, code blocks, emojis…and many more

⚑ Quick Start

1go install github.com/emad-elsaid/xlog/cmd/xlog@latest
2mkdir new-site
3cd new-site
4xlog
5# => Now browse to http://localhost:3000

πŸ”‘ Core Features

  • Serves any file from current directory
  • Any markdown is rendered to HTML format
  • Light and Dark theme depending on device preference
  • Supports Github flavor markdown (Emojis, Todo lists, MermaidJS, MathJax)
  • Full 1/3 Features Test page

πŸ“Œ Usecases

🌱 Getting started

βš–οΈ Principles

  • Uses the file system. No databases required
  • Minimal design and dependencies
  • Small core, flexible enough for developers to extend it.
  • Avoid adding syntax to markdown, instead enhance how existing syntax is rendered

πŸ“š Documentation

  • This website serves as end user documentation and developer entry point for developing extensions
  • There is also a Go package documentation that you can use to understand what xlog expose as public API

πŸŽ“ Tutorials

🧩 Extensions

🀝 Contributors

Contributing

You can help Xlog in many ways:

  • Create a new extension
  • Improve the core codebase
  • Package it for different operating systems or different Linux distribution

πŸ§‘β€πŸ€β€πŸ§‘ Community

πŸ“œ License

Xlog is released under MIT license