Post Format Reference
How the editor works
The editor has two panes: Participants (top) and Messages (bottom). You write in both separately — they're combined automatically.
- Participants pane: one name per line — the order maps each name to an indent level
- Messages pane: one line = one bubble; leading spaces determine who speaks
- 0 spaces → 1st participant, 1 space → 2nd, 2 spaces → 3rd, etc.
Participants pane
One name per line — the order sets each name's indent level:
Alice Bob
- At least 2 participants — 2 to 4 reads best; up to 9 each get their own colour
- 1st name = 0 spaces, 2nd = 1 space, 3rd = 2 spaces, and so on
- Unicode names are fine — only colons, quotes and newlines are disallowed
- Names must be unique (case-insensitive)
Messages pane
Write one bubble per line. Leading spaces set the speaker:
Hello Bob! Hey Alice, what's up? Just checking in. Doing great, thanks!
Press Tab in the messages pane to insert one space quickly.
Code blocks
Use fenced code blocks with a language tag. Indent the fence to match the speaker:
Check this out:
Sure, show me!
```javascript
for (var i = 0; i < 3; i++) {
setTimeout(() => console.log(i), 100);
}
```
Interesting — closure gotcha!Above, the fence sits at 0 spaces, so the code block is spoken by the 1st participant. The code inside keeps its own indentation — only the fence's indent picks the speaker.
Supported languages: javascript, typescript, python, bash, sql, yaml, json, css, html, rust, go, java, plaintext
Three participants
Participants pane:
Lead Dev QA
Messages pane (0 spaces = Lead, 1 space = Dev, 2 spaces = QA):
We need to refactor this module. I can take that on this sprint. Don't forget to update the tests! Good call, I'll pair with QA on it. Ship it Friday.
What isn't part of the format
Only participants and messages are typed as text. Everything else is a separate field in the editor — don't write it into the panes:
- The post title is the input at the top of the editor, not a "title:" line
- Categories are chosen in the sidebar (up to 3)
- SEO title, meta description and OG image live in the SEO panel
- The "participants:" and "messages:" headers are added for you when the post is saved
Common errors
The editor shows these inline as you type. What each one means:
- Use spaces not tabs for indentation
- A tab character got in — often from pasting. Replace every tab with spaces.
- Line N: indent of X spaces doesn't match any participant
- You indented further than you have participants. With 2 participants only 0 and 1 space are valid.
- Add at least 2 participants
- The participants pane needs two or more names, one per line.
- Add a "messages:" section to your post
- Usually means the messages pane is empty, or a paste overwrote the pane structure. Reload the editor if the panes look wrong.
- Your conversation has no messages
- The messages pane has only blank lines. Write at least one bubble.
Tips
- Keep participant names short — "Alice", not "Alice the Senior Engineer"
- Blank lines between messages are ignored — use them freely for readability
- Tabs are not allowed — use spaces only (the editor's Tab key inserts a space)
- Recommended post length: 10–20 bubbles (~1–2 minute read)