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:

  1. Run nix run github:srid/emanote -- gen ./output . to build static HTML
  2. Deploy the output/ folder to Netlify, GitHub Pages, or Cloudflare Pages
  3. 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.