Rich media showcase
Reference post: images, video, embeds, lists, tables, tasks, and many code fences.
- demo
- markdown
Use this file to confirm images, video, embedded players, lists, and syntax highlighting all render the way you expect.
Images (Markdown)
A landscape via Markdown image syntax (external URL):
Smaller inline-friendly shot with title text:
HTML5 video
Native <video> with MP4 source (MDN-hosted sample, CC0). Your sanitizer allows video, source, and poster.
Embedded iframe (YouTube)
Use sparingly for performance; good for demos and talks.
Lists
Unordered (nested)
- First top-level item
- Second item with children:
- Nested A
- Nested B
- Deeper level
- Third item
Ordered
- Clone the content repo
- Push Markdown under
content/blog - Trigger revalidate or wait for cache TTL
Task list (GFM)
- Wire GitHub as content source
- Add KV caching
- Write your first real post
- Point
GITHUB_REPOat this repository
Blockquote
“Good documentation is the difference between confusion and clarity.”
— handy reminder for project READMEs
Table
| Asset type | Markdown | HTML in MD |
|---|---|---|
| Image | ![]() | Optional |
| Video | — | <video> |
| Embed | — | <iframe> |
Code snippets
inline code inside a sentence.
TypeScript
type Post = {
slug: string;
title: string;
draft?: boolean;
};
export function isPublished(post: Post, dev: boolean): boolean {
if (dev) return true;
return post.draft !== true;
}
Shell
# Warm cache after a content push
curl -sS -X POST "https://your-domain.pages.dev/api/revalidate" \
-H "X-Revalidate-Token: $WEBHOOK_SECRET" \
-H "Content-Type: application/json"
JSON (Wrangler-style)
{
"name": "al-sitenblog",
"compatibility_date": "2024-12-01",
"vars": {
"GITHUB_OWNER": "you",
"GITHUB_REPO": "site-content"
}
}
CSS
.prose img {
border-radius: 0.75rem;
}
HTML fragment
<section aria-label="Example">
<h2>Hello</h2>
<p>This is escaped inside the fence.</p>
</section>
That covers the usual building blocks. Delete or trim this post when you no longer need it.