md2hd

Guide4 min read

Configuring a map

The one block that names the project, sets the rank direction, and decides what each type is called and what colour it draws in.

A single frontmatter block with type: map configures the whole project. It is not a node: it never appears on the canvas and never gets a card.

---
type: map
title: Partnerships
layout: TB
inverse:
  works_at: employs
  met: attended_by
symmetric: [knows]
types:
  org: { label: Organization, color: '#4A9BFF' }
  person: { label: Person, color: '#3FC8D4' }
  program: { label: Program, color: '#4FBE8B' }
---

Put it at the top of whichever file you think of as the map’s front door. Every field is optional, and a map with no config block at all still reads clearly.

The fields

Field Effect
title The map’s name.
layout TB (top to bottom, the default) or LR (left to right).
types { label, color } per node type.
inverse works_at: employs — one relation is the other seen backwards.
symmetric Relations that read the same both ways: [knows, met].

Types and colour

types does two things: it gives a type a display label, and it fixes its colour.

types:
  org: { label: Organization, color: '#4A9BFF' }
  person: Person                          # label only, colour assigned
  program: '#4FBE8B'                      # colour only, label is the key

Any type you leave out is assigned a colour from the built-in palette in the order it is first seen. Eight colours, starting at the brand blue and walking evenly around the wheel, all at matched lightness so no type shouts over another:

#4a9bff  blue      #e3ae52  amber
#3fc8d4  aqua      #ea8a62  coral
#4fbe8b  green     #e2749f  rose
#a8c25c  moss      #9e8aec  violet

Nodes referenced but never written draw in a reserved grey — present, but with nothing of their own to say.

The point of naming colours yourself is not decoration. It is that a colour should mean the same thing across every map you keep, so org stays blue whether you are looking at accounts or at a service diagram.

Rank direction

layout: TB stacks ranks top to bottom; LR runs them left to right. Wide shallow graphs read better as LR; deep ones as TB.

You can override it per session from the map surface’s config dock — Across and Down under LAYOUT — without editing the file. That override is not saved; the file stays the source of truth.

Where the block lives

Only one map block is used per project. If more than one file has one, the last one read wins, so keep it to a single file to avoid surprising yourself later.

The block does not have to be alone in its file. Putting it at the top of the file that also holds your most central nodes is a perfectly good arrangement.

Positions

Dragging a card saves its position for that map. Positions are stored alongside the map in your browser, not written back into your markdown — your files stay exactly as you wrote them.

Switching rank direction from the dock clears the saved positions and lays the map out again from scratch.