# How to: Write and format markdown

1. Open any markdown or text source — it's editable immediately. There's no
   separate **Edit** step to find first.
2. Type the usual markdown symbols and they render as you go: `#` through
   `######` for headings, `**bold**`, `_italic_`, `` `code` ``,
   `~~strikethrough~~`, `- item` for a bulleted list, `[text](url)` for a
   link, `![alt text](path)` for an image.
3. Move your cursor off what you just typed and the symbols disappear into
   the real thing — a heading grows to size, `**bold**` becomes **bold**,
   `- item` gets an actual bullet, `![alt](path)` becomes the picture. Move
   your cursor back onto it and the raw markdown reappears so you can edit
   it. Nothing is hidden forever; it's only hidden where you aren't.
4. Use shortcuts instead of typing the symbols. Select some text — or just
   put your cursor anywhere in a word, with nothing selected — and press:
   - **Cmd/Ctrl+B** — bold
   - **Cmd/Ctrl+I** — italic
   - **Cmd/Ctrl+E** — code
   - **Cmd/Ctrl+Shift+X** — strikethrough
   - **Cmd/Ctrl+K** — link (wraps the word as the link text and selects
     `url` so you can type the destination right away)
   - **Cmd/Ctrl+1** through **Cmd/Ctrl+6** — set the current line's heading
     level; the same number again removes it
5. **Tab** indents rather than leaving the editor — useful for nested lists,
   but it means keyboard focus is trapped until you press **Escape**, which
   is the way out.
6. For an image, the `!` in front of `[alt](path)` is what makes it a
   picture instead of a link. A picture from a file on your machine shows
   inline; one from a web address doesn't — the editor never fetches
   anything from the internet.
7. A bare `https://…` address, with no brackets at all, is recognised and
   styled as a link on its own — you don't need `[text](url)` unless you
   want different link text than the URL itself.
8. Click a link to follow it: a link to another file in the project, such as
   `[Skills](05-skills.md)`, opens that file here, and a web address opens in
   your browser. To edit a link instead, move the cursor into it with the
   arrow keys — its raw markdown reappears.
9. **Cancel** and **Save** stay in the header the whole time. Save writes
   your changes back without leaving the editor; Cancel discards them and
   asks first if you have unsaved changes.

See [How to: Edit a document in place](https://exaflux.io/docs/axon/how-to/edit-a-document-in-place) for the
save/cancel flow itself, and [Artifacts & documents](https://exaflux.io/docs/axon/artifacts-and-documents)
for how documents open in the app.
