Quickstart
Getting started
Write your first .3md
A 3md document is a frontmatter block followed by one or more planes. Create a
file named week.3md:
---
3md: 1.0
axis: time
title: My Week
---
@plane z=0 label="Monday"
# Monday
- [ ] Standup at 9
- [ ] Review the parser PR
@plane z=1 label="Tuesday"
# Tuesday
- [ ] Draft the spec
- [ ] Lunch with design
@plane z=2 label="Wednesday"
# Wednesday
- [ ] Ship the release
What each part does:
- The
---fenced block is frontmatter. The3md:key is required (it is the file's magic marker).axis:names the Z axis;title:is human-readable. - Each
@plane z=N label="..."line starts a new plane.zis required and must be a unique number per plane;labelis optional. - Everything after a directive, up to the next
@planeor end of file, is that plane's Markdown body.
That is a complete, valid document. You can also start even smaller: a plain
Markdown file with just a frontmatter header and no @plane lines is a valid
one-plane document.
View it
GitHub cannot preview .3md files natively, so use one of these.
Option 1: the hosted viewer (no install)
Open the viewer and paste your source, or share a link:
The viewer renders the planes as a 3D stack you can scrub, drag, and step through. The full editor and demo live at corvidlabs.xyz/3md/. See the viewer docs for the available view modes.
Option 2: embed the web component
Drop the <three-md> element into any HTML page:
<script type="module" src="https://corvidlabs.xyz/3md/assets/three-md.js"></script>
<three-md src="/week.3md"></three-md>
Option 3: install the CLI
The threemd command-line tool validates and inspects documents:
brew install CorvidLabs/tap/threemd
threemd validate week.3md # prints "ok" or exits non-zero with the error
threemd info week.3md # prints version, axis, title, and each plane
threemd html week.3md # renders the document to HTML on stdout
See the CLI reference for every subcommand.
Next steps
- The format in depth - all frontmatter keys, plane attributes, fenced grids, and cross-plane links.
- The viewer - view modes and embedding options.