What Is Emanote?
Emanote is an open-source tool that transforms a folder of Markdown notes into a beautiful, interconnected website — often called a digital garden. Built on top of Haskell and the Nix ecosystem, it takes the plain-text notes you already write and turns them into a navigable, wiki-style knowledge base you can publish publicly or keep private.
Unlike traditional documentation tools, Emanote understands wikilinks ([[Note Title]]), backlinks, and hierarchical structures — making it ideal for personal knowledge management (PKM) practitioners who want to share their thinking online.
Prerequisites
- A basic familiarity with Markdown syntax
- A computer running macOS, Linux, or Windows (via WSL2)
- The Nix package manager installed
- Git (recommended for version control and deployment)
Step 1: Install Nix and Enable Flakes
Emanote is distributed as a Nix flake. First, install Nix using the official installer, then enable flake support by adding the following line to your Nix configuration:
experimental-features = nix-command flakes
Once Nix is set up, you can run Emanote directly without a full installation:
nix run github:srid/emanote
Step 2: Create Your Notes Folder
Emanote works with any folder of .md files. A minimal structure looks like this:
my-garden/
index.md
notes/
first-note.md
second-note.md
The index.md file is your homepage. Give it a meaningful title using YAML front matter:
---
title: My Digital Garden
---
Welcome to my notes!
Step 3: Run the Live Preview Server
Navigate to your notes folder and run:
nix run github:srid/emanote -- run .
Open http://localhost:8080 in your browser. You'll see your garden rendered in real time. Any changes you save to your Markdown files will instantly refresh the page.
Step 4: Use Wikilinks to Connect Your Notes
The power of Emanote lies in its support for wikilinks. Inside any note, reference another by its filename:
See also: [[second-note]]
Emanote automatically resolves these links and builds a backlink panel on each page, showing you which notes point to the current one. This creates the interconnected web of ideas that defines a digital garden.
Step 5: Customize with emanote.yaml
Place an emanote.yaml file in your notes root to configure the site title, theme, and more:
title: My Knowledge Garden
baseUrl: https://yourdomain.com
Step 6: Deploy Your Garden
Emanote can generate a static site ready for hosting on any platform:
- Run
nix run github:srid/emanote -- gen ./output .to build static HTML - Deploy the
output/folder to Netlify, GitHub Pages, or Cloudflare Pages - Set up a GitHub Action to auto-deploy on every commit
Next Steps
Once your garden is live, explore Emanote's advanced features: custom templates, tag-based filtering, Pandoc integration for citations, and YAML-driven metadata. The best digital gardens grow slowly — start with a handful of notes and let the connections emerge naturally over time.