airnoteSign in

A simple home for your notes.

Every note is a plain markdown file. Share a folder, or publish the whole thing at your own address.

Start a spaceyou.airnote.md

Markdown files, all the way downAn address of your ownNo passwords

The workspace: the spaces and folder trees this reader can open, the note they are reading, and that note’s own headings beside it.

one note · no javascript

This page is a note

Markdown, put through the same pipeline as yours, with no JavaScript on it. If you like reading it, you will like reading here.

What a space is

A folder tree of markdown files.

Recipes/
├─ Weeknight pasta.md
├─ Sauces/
│  ├─ Marinara.md
│  └─ Pesto.md
└─ Index.md

One space per subject: Recipes, Physics, Work. Spaces are cheap. Make a new one instead of bending an old one to fit.

Share the folder, not the file

Share a whole space, one folder inside it, or a single note. Nobody can hand out access they do not have.

Role Read Comment Write Share Publish
Can read
Can comment
Can edit notes, folders
Admin
The sharing panel for a folder, listing three people and the role each holds.

Talk in the margin

Select a sentence and comment on it. Comments live beside the note, not in it, so publishing never needs cleanup. Every comment carries a name.

A comment thread anchored to a highlighted sentence, beside the note rather than inside it.

Find it by typing

Press ⌘K anywhere. Search finds your notes, folders, spaces, and the people you share with — titles first. It searches only your things, never anyone else's.

The ⌘K palette, showing matches grouped into notes, folders, spaces and people.

Publish the space

Your username is your address: you.airnote.md. Turn a space on and it is a site — cached, indexable, no JavaScript.

Address Who it is for Cached Indexed
you.airnote.md/recipes/pasta anyone yes yes
airnote.md/@you/pasta the person you sent it to never if you ask
airnote.md/n/<id> whoever holds a grant never never

Take a page down and the address answers 410 Gone, not 404. It existed.

A published note on its own host, at you.airnote.md/recipes/sauces/marinara.

Reading is the product

The type is set for reading: line lengths that fit, a dark theme designed for dark. Each space picks one of three font pairings.

The three font pairings — Geist, Source and Literata — set in the same three lines.

Everything markdown carries

One pipeline, so what works here works everywhere: app, site, export.

export function measure(pairing: PairingId): string {
  // 35em of Geist measures 88 characters, so the
  // number belongs to the face, not the product.
  return PAIRINGS[pairing].measure
}

Math is typeset on the server — inline, φ=1+52\varphi = \frac{1+\sqrt5}{2}φ=21+5, and in display blocks:

ex2dx=π\int_{-\infty}^{\infty} e^{-x^2}\,\mathrm{d}x = \sqrt{\pi}ex2dx=π

Tables, task lists, footnotes1, highlights, and wiki-links that survive renames. Like this. A note you have not written yet reads as Tomorrow until you write it.

Footnotes

  1. For asides that want more than a parenthesis.

Addresses outlive notes

Addresses keep working. Change your username and the old one redirects forever. Move a note and its old address still finds it. Deleted notes sit in the trash for thirty days, still yours.

Start one

Name a space and write something in it. No passwords — sign in with a link sent to your inbox, or with Google or GitHub.

Start a space

Read the markdown this page is made of
## This page is a note

Markdown, put through the same pipeline as yours, with no JavaScript on it.
If you like reading it, you will like reading here.

## What a space is

A folder tree of markdown files.

```
Recipes/
├─ Weeknight pasta.md
├─ Sauces/
│  ├─ Marinara.md
│  └─ Pesto.md
└─ Index.md
```

One space per subject: Recipes, Physics, Work. Spaces are cheap. Make a new
one instead of bending an old one to fit.

## Share the folder, not the file

Share a whole space, one folder inside it, or a single note. Nobody can hand
out access they do not have.

| Role | Read | Comment | Write | Share | Publish |
|---|:-:|:-:|:-:|:-:|:-:|
| Can read | ✓ | | | | |
| Can comment | ✓ | ✓ | | | |
| Can edit | ✓ | ✓ | ✓ | notes, folders | |
| Admin | ✓ | ✓ | ✓ | ✓ | ✓ |

## Talk in the margin

Select a sentence and comment on it. Comments live beside the note, not in
it, so publishing never needs cleanup. Every comment carries a name.

## Find it by typing

Press ⌘K anywhere. Search finds your notes, folders, spaces, and the people
you share with — titles first. It searches only your things, never anyone
else's.

## Publish the space

Your username is your address: you.airnote.md. Turn a space on and it is a
site — cached, indexable, no JavaScript.

| Address | Who it is for | Cached | Indexed |
|---|---|:-:|:-:|
| `you.airnote.md/recipes/pasta` | anyone | yes | yes |
| `airnote.md/@you/pasta` | the person you sent it to | never | if you ask |
| `airnote.md/n/<id>` | whoever holds a grant | never | never |

Take a page down and the address answers **410 Gone**, not 404. It existed.

## Reading is the product

The type is set for reading: line lengths that fit, a dark theme designed
for dark. Each space picks one of three font pairings.

## Everything markdown carries

One pipeline, so what works here works everywhere: app, site, export.

```ts
export function measure(pairing: PairingId): string {
  // 35em of Geist measures 88 characters, so the
  // number belongs to the face, not the product.
  return PAIRINGS[pairing].measure
}
```

Math is typeset on the server — inline, $\varphi = \frac{1+\sqrt5}{2}$, and in
display blocks:

$$
\int_{-\infty}^{\infty} e^{-x^2}\,\mathrm{d}x = \sqrt{\pi}
$$

Tables, task lists, footnotes[^why], ==highlights==, and [[wiki-links]] that
survive renames. [[What a space is|Like this]]. A note you have not written
yet reads as [[Tomorrow]] until you write it.

[^why]: For asides that want more than a parenthesis.

## Addresses outlive notes

Addresses keep working. Change your username and the old one redirects
forever. Move a note and its old address still finds it. Deleted notes sit in
the trash for thirty days, still yours.

## Start one

Name a space and write something in it. No passwords — sign in with a link
sent to your inbox, or with Google or GitHub.