← Blog

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):

Foggy mountains — Unsplash

Smaller inline-friendly shot with title text:

Ocean

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

  1. Clone the content repo
  2. Push Markdown under content/blog
  3. 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_REPO at this repository

Blockquote

“Good documentation is the difference between confusion and clarity.”
— handy reminder for project READMEs

Table

Asset typeMarkdownHTML 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.