Saturday 14 January 2023
📼 Xlog is a static site generator for digital gardening written in Go. It serves markdown files as HTML and allows editing files online. It focuses on enriching markdown files and surfacing implicit links between pages.
Xlog is a result of trying to build an offline personal knowledgebase with the ability to autolink pages together automatically. Without depending on proprietary file format or online service.
🏃 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
- Supports Github flavor markdown
- Full 1/3 Features Test page
![]() |
![]() |
Has a list of tools defined by extensions. triggered with Ctrl+K |
Supports Emojis, The first Emoji is considered the icon of the page and displayed beside the title |
![]() |
![]() |
Dark theme and Light theme | Support Todo lists, Shows task list (Done/Total tasks) beside page link |
![]() |
![]() |
Support MathJax format | Autopair parenthesis/brackets |
Usecases ¶
- Local server for Note taking or digital gardening
- Generate static website just like the one you’re reading now
🏁 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