Noted.do

Formatting guide

Write this in a note, then publish. Each example shows the result right below it.

Headings

## Section heading
### Smaller heading

Section heading

Smaller heading

Text styles

**Bold**, _italic_, ~~strikethrough~~, ==highlight==, `inline code`, 2^nd and E = mc^2, H<sub>2</sub>O.
Add a footnote like this.[^1] Bare links become clickable: https://relay.do

[^1]: Footnotes appear at the bottom of the post.

Bold, italic, strikethrough, highlight, inline code, 2nd and E = mc2, H2O.
Add a footnote like this.1 Bare links become clickable: https://relay.do


  1. Footnotes appear at the bottom of the post. 

Pictures

Use the image button on the plugin bar to upload, then add the line it gives you.

![Harbor at dusk](/assets/example.jpg "Caption goes in quotes")

Leave out the quoted part if you don't want a caption. Pictures hosted anywhere else work the same way.

Use the image button on the plugin bar to upload, then add the line it gives you.

Harbor at dusk
Caption goes in quotes

Leave out the quoted part if you don't want a caption. Pictures hosted anywhere else work the same way.

Code block

```php
<?php
$posts = db()->query('SELECT title FROM posts')->fetchAll();
foreach ($posts as $post) {
    echo $post['title'], PHP_EOL;
}
```
<?php
$posts = db()->query('SELECT title FROM posts')->fetchAll();
foreach ($posts as $post) {
    echo $post['title'], PHP_EOL;
}

Code languages

Put the language after the three backticks. Supported names include:
php, js, ts, python, bash, sql, json, html, css, yaml, nginx, dockerfile, go, rust, java, cs, cpp, ruby, diff, ini, markdown. Leave it blank and the blog guesses.

```bash
sudo systemctl restart nginx
curl -I https://blog.relay.do
```

Put the language after the three backticks. Supported names include:
php, js, ts, python, bash, sql, json, html, css, yaml, nginx, dockerfile, go, rust, java, cs, cpp, ruby, diff, ini, markdown. Leave it blank and the blog guesses.

sudo systemctl restart nginx
curl -I https://blog.relay.do

Diff

```diff
- 'max_image_px' => 1600,
+ 'max_image_px' => 2400,
```
- 'max_image_px' => 1600,
+ 'max_image_px' => 2400,

Lists

- Bullet item
- Another item
    - Nested item

1. First step
2. Second step
  • Bullet item
  • Another item
    • Nested item
  1. First step
  2. Second step

Checklists

- [x] Back up the Listed feed
- [ ] Import old posts
  • Back up the Listed feed
  • Import old posts

Quote

> Quoted text goes here.

Quoted text goes here.

Callouts

> [!NOTE]
> Useful information readers should notice.

> [!TIP]
> A helpful suggestion.

> [!WARNING]
> Something that needs attention.

Table

| Service | Host |
| :--- | :--- |
| Blog | blog.relay.do |
| Files | sn.relay.do |
Service Host
Blog blog.relay.do
Files sn.relay.do

Definition list

CloudPanel
: The control panel that runs this site.
CloudPanel
The control panel that runs this site.

YouTube video

Paste the link on its own line:

https://www.youtube.com/watch?v=aqz-KE-bpKQ

Paste the link on its own line:

HTML

Raw HTML works too, like on Listed. Scripts and unsafe styles are removed.

<center>Centered text</center>

<details>
<summary>Click to expand</summary>

Anything **inside**, including Markdown.

</details>

<p style="color: #c7000c; text-align: right">Styled paragraph</p>

<iframe src="https://player.vimeo.com/video/76979871" width="560" height="315" allowfullscreen></iframe>

Raw HTML works too, like on Listed. Scripts and unsafe styles are removed.

Centered text
Click to expand

Anything inside, including Markdown.

Styled paragraph

Divider

Above the line

---

Below the line

Above the line


Below the line

Post options (front matter)

Start a note with a block between two `---` lines to set options, exactly like Listed. Everything is optional.

---
desc: One-line summary shown in previews and search results
image_url: https://blog.relay.do/uploads/u1/2026/09/cover.jpg
custom_path: my-custom-address
created_at: 2026-01-15
pinned: true
hidden: false
author_name: Guest Writer
author_link: https://example.com
canonical: https://example.com/where-this-was-first-published
---

Then the post begins here.

- **hidden: true** keeps the post off your blog's list and feed; anyone with the link can still read it.
- **Private** (the checkbox on the plugin bar, or `private: true`) gives the post a secret link instead of a public address.
- **pinned: true** keeps the post at the top of your blog.

Start a note with a block between two --- lines to set options, exactly like Listed. Everything is optional.


Then the post begins here.

  • hidden: true keeps the post off your blog's list and feed; anyone with the link can still read it.
  • Private (the checkbox on the plugin bar, or private: true) gives the post a secret link instead of a public address.
  • pinned: true keeps the post at the top of your blog.

Pages

A page is a note that appears in your blog's menu instead of the post list, like an About page.

---
page: true
page_sort: 1
---

About me and this blog.

Use `page_link: https://...` to add a menu item that links somewhere else.

A page is a note that appears in your blog's menu instead of the post list, like an About page.


page: true
page_sort: 1

About me and this blog.

Use page_link: https://... to add a menu item that links somewhere else.

Blog style (custom CSS)

Publish a note that starts with this front matter and contains only CSS. It styles your whole blog. Unpublish the note to remove it.

---
metatype: css
---

.blog-title { color: #c7000c; }
.post-preview { border-radius: 0; }
body { --paper: #fffaf0; }

Publish a note that starts with this front matter and contains only CSS. It styles your whole blog. Unpublish the note to remove it.


metatype: css

.blog-title { color: #c7000c; }
.post-preview { border-radius: 0; }
body { --paper: #fffaf0; }