md2hd

Guide3 min read

Quickstart

From nothing to a map you can read, in about two minutes. No install, no account, and no file leaves your machine.

Open the app. Two sample maps are already loaded — Partnerships and Service Map — so you can read a finished one before you write anything.

Click any card. The map re-forms around it, the detail panel opens on the right, and every link states itself in that node’s voice. Click the background to put the map back.

That is the whole product. The rest of this page is how to get your own notes into it.

Write two nodes

Make a file called map.md anywhere on your machine:

---
id: acme
type: org
title: Acme Corp
subtitle: 40 people · Bristol
rel:
  employs: [jane-doe]
---

The anchor account. Everything routes through [[jane-doe]].

---
id: jane-doe
type: person
title: Jane Doe
subtitle: Head of Operations
email: jane@acme.example
---

Replies within a day. Ignores anything that looks like a form letter.

Two frontmatter blocks in one file, so two nodes. The --- line before id: jane-doe opens a second node because a YAML key follows it — a --- followed by prose is still an ordinary horizontal rule, and notes you wrote before md2hd existed keep rendering the way they always did.

Open it

Back in the app, use Import files in the left rail and pick map.md. Or drag the file straight onto the canvas.

You now have two cards and one line between them, labelled employs. Select Jane and the same line reads works at instead, because that is the same fact from her side.

Point it at a folder

Import folder takes a whole directory. Every .md file in it is read, every frontmatter block becomes a node, and links resolve across files — [[jane-doe]] in one file finds id: jane-doe in another.

This is the intended way to use md2hd. Nothing is copied or moved: the browser reads the files, parses them, and draws.

Name the map

One block with type: map configures the whole project. It is not a node and never appears on the canvas.

---
type: map
title: Accounts
layout: LR
inverse:
  works_at: employs
types:
  org: { label: Organization, color: '#4A9BFF' }
  person: { label: Person, color: '#3FC8D4' }
---

Types you leave out are assigned a colour from the built-in palette in order, so a map needs no colours at all to read clearly.

  • Writing nodes — every field a card understands.
  • Relationships — the four ways to draw an edge, and why writing a fact from both ends still produces one line.
  • Reading a map — focus, search, filters and the panel.

Your maps are stored in this browser’s local storage. Clearing site data for this site clears them — your original markdown files are untouched either way.