🍄 Tiny 🤖 Go ✨ Markdown 🔮 Wiki
feat: responsive header navigation
fix: page title display
Normalize search queries to lowercase


browse  log 



You can also use your local clone with git send-email.


Mimir is a small, opinionated Markdown wiki, knowledge base, or digital garden written in Go. It is named after the Norse mythological figure Mímir, who seemed like a nice dude and knew a lot of things.

Mimir has the following features:

  • A simple, themeable online interface with a nice Markdown editor (using Ace).
  • No database. Wiki pages are stored as simple Markdown files in the filesystem.
  • Versioning (also flat file) and an online diff viewer.
  • Optional multi-user authentication with per-user viewing and editing permissions.
  • Auto-linking of [[Double Brackets]]. A link like this would lead to the page /double-brackets.
  • A backlinks display, showing pages which link to the current page.
  • A media upload library.

Mimir is built entirely around the things that I want from a wiki engine, but I am very open to ideas for new features and improvements on current ones, and will be delighted if anyone finds it useful!


Mimir requires Go to be installed.

Mimir requires an directory to create its wiki documents, and a config.toml file. These do not have to be in the same directory, but can be:

mkdir ~/wiki
touch ~/wiki/config.toml

An example config.toml looks like this:

site_title = "Mimir"
# If true, viewing will be restricted to signed in users with can_view = true.
# If false, any visitor can view the wiki.
restrict_viewing = true
# If true, editing and diff viewing will be restricted to signed in users with can_edit = true.
# If false, any visitor can edit and view page diffs.
restrict_editing = true
show_backlinks = true
# The media upload directory will be the /media subdirectory in your base wiki directory.
media_directory = "media"

# This user, 'admin', can both view and edit pages.
username = "admin"
password = "admin"
can_view = true
can_edit = true

# The user 'user' can only view pages.
username = "user"
password = "user"
can_view = true
can_edit = false

Clone this repository and run the program:

go run . --dir ~/wiki --config ~/wiki/config.toml

Alternatively, build the binary, then run it from somewhere on your $PATH:

go build .
mv mimir /usr/local/bin
mimir --dir ~/wiki --config ~/wiki/config.toml


The default theme for Mimir is intentionally bare-bones (some would say 'hideous'). If your wiki directory is ~/wiki and the theme = "themename" property is specified in config.toml, Mimir will attempt to load the file ~/wiki/themes/themename.css after the basic styles. An example nicer theme is provided in this repository under themes/default.css.