Edited: Sunday 5 January 2025

📼 Xlog is a static site generator for digital gardening written in Go. It serves markdown files as HTML. It 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

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

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