← Home
astromdxdemo

Hello World — Blog Setup Demo


Welcome to my blog! This is a sample post to demonstrate all the rich content features available out of the box.

Code Highlighting

Syntax highlighting powered by Shiki with dual themes (light & dark):

interface BlogPost {
  title: string;
  pubDate: Date;
  tags: string[];
  draft: boolean;
}

function getRecentPosts(posts: BlogPost[], n = 5): BlogPost[] {
  return posts
    .filter((p) => !p.draft)
    .sort((a, b) => b.pubDate.valueOf() - a.pubDate.valueOf())
    .slice(0, n);
}

And here’s some inline code: const x = 42;

GFM Table

FeatureStatus
MDX Components
Syntax Highlighting
Auto TOC
Heading Anchors
React Islands
RSS Feed
Sitemap

React Island

This interactive counter is a React component hydrated on the client via Astro’s islands architecture:

The surrounding content remains static HTML — zero JavaScript unless you opt in.

Blockquote

The best way to predict the future is to invent it. — Alan Kay

Lists

Things I like about Astro:

  • Content-first by default
  • Zero JS shipped unless you need it
  • Framework agnostic — use React, Vue, Svelte, or nothing
  • Built-in Markdown/MDX support
  • Excellent developer experience

Check out the Astro documentation — this link opens in a new tab thanks to rehype-external-links.


That’s it! Every feature you see above works out of the box with this blog setup.