Here's a test markdown body that exercises all the rendering paths in the workshop's Markdown component (unified + remark-gfm + Shiki):
A short intro paragraph with **bold**, *italic*, ~~strikethrough~~, and `inline code`. Plus a
[link](https://iamdrdigital.xyz) for good measure.
## the closet
This is the first h2 — it'll show up in the TOC as the highlighted "current" section.
A paragraph with a soft line break.
And a continued thought below it.
### a deeper heading
The TOC only picks up h2s, so this h3 stays out of the sidebar but should still render with its own
styling.
## what i kept
A second h2, dim in the TOC. This is where we test code blocks.
```ts
type Photo = {
id: number
title: string
takenAt: Date | null
tone: 'color' | 'bw'
digital: boolean
}
export async function getFeaturedPhoto(): Promise<Photo | null> {
const res = await payload.find({
collection: 'photos',
where: { featured: { equals: true } },
sort: '-takenAt',
limit: 1,
})
return res.docs[0] ?? null
}
A bash block too:
$ pnpm dev
> Local: http://localhost:3000
> Ready in 1.4s
And one without a language tag — should still render but unhighlighted:
plain preformatted text
no syntax color expected
the migration
▎ the goal wasn't independence. it was knowing where my files actually live.
▎
▎ — a quote from the wireframe, rendered with the accent left-border
Nested blockquote test:
▎ outer quote
▎
▎ ▎ inner quote, two levels deep
lists, tables, tasks
Unordered:
- first item
- second item with bold inside
- third item with code inside
- nested item
- another nested item
Ordered:
1. one
2. two
3. three with a link
GFM task list:
- ship photo side
- ship workshop side
- ship lobby + transitions
write a real post
GFM table:
┌─────────────┬─────────────┬──────────┐ │ field │ type │ required │ ├─────────────┼─────────────┼──────────┤ │ title │ text │ yes │ ├─────────────┼─────────────┼──────────┤ │ slug │ text/unique │ yes │ ├─────────────┼─────────────┼──────────┤ │ kind │ enum │ yes │ ├─────────────┼─────────────┼──────────┤ │ publishedAt │ date │ no │ └─────────────┴─────────────┴──────────┘
one year in
An inline code reference next to bold and italic in the same sentence to test mixing.
A horizontal rule below:
what i'd do differently
A final h2 to round out the TOC. Image test (only renders if you have a real Media URL):
https://media.iamdrdigital.xyz/iamdrdigital-media/photos/DSC03131.jpg
Final paragraph — confirms that trailing content after an image still wraps and reads correctly.
This covers: paragraphs, all 4 inline formats, links, h1/h2/h3 (h2 feeds the TOC), 3 code-block flavors (TS/bash/no-lang), blockquote (single + nested), unordered/ordered lists with nesting, GFM task list, GFM table, horizontal rule, image, and mixed inline formatting. If anything renders poorly, you'll spot it immediately in the article window.