
This post exists only for testing your blog rendering pipeline.
It is intentionally long and uses as many Markdown features as possible so you can verify:
If anything looks off, you probably need to adjust your MDXComponents or Tailwind classes.
This is an H1 (the title above).
Lorem ipsum dolor sit amet, consectetur adipiscing elit. You can also mix bold and italic together.
Use H3s for subsections. You can also add inline code like npm run dev in the same paragraph.
A normal paragraph with a link to Next.js docs and another to Tailwind CSS.
More emphasis examples:
gray-matterreact-markdownreading-timeContent/blogsnpm run devUse npm run dev to start the development server, and npm run build to build for production.
# Install dependencies
npm install gray-matter react-markdown reading-time lucide-react
# Run dev server
npm run dev
import { getAllBlogPosts } from "@/lib/blog";
export function getLatestPostTitle() {
const posts = getAllBlogPosts();
if (!posts.length) return "No posts yet";
return posts[0].frontmatter.title;
}
import ReactMarkdown from "react-markdown";
import { MDXComponents } from "@/components/MDXComponents";
export function BlogBody({ content }: { content: string }) {
return (
<div className="prose prose-neutral dark:prose-invert">
<ReactMarkdown components={MDXComponents}>{content}</ReactMarkdown>
</div>
);
}
This is a simple blockquote. It should stand out from the main text and be easy to read.
Pro tip: Long-form technical content benefits a lot from clear headings, tables, and highlighted code.
A table to test how tabular data appears:
| Feature | Location | Notes |
| ------------- | ------------------------------- | --------------------------------- |
| Content | Content/blogs/*/index.md | Markdown/MDX, frontmatter + body |
| Loader | lib/blog.ts | Reads files, computes read time |
| List page | app/blog/page.tsx | Shows all posts |
| Detail page | app/blog/[slug]/page.tsx | Renders a single article |
| Components | components/MDXComponents.tsx | Controls markdown typography |
If you add a cover.png next to this file, you can reference it like:

Or an external image:

(If image behavior looks odd, you can later add a custom img entry to MDXComponents.)
Above and below this sentence are horizontal rules:
This should visually separate sections in a long article.
Sometimes you just need a big block of text to see how the reading experience feels.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed vitae lacus nec justo tincidunt consectetur. Mauris malesuada arcu sed sem dignissim, sed pulvinar leo dapibus. Integer bibendum urna a semper fermentum. Suspendisse potenti. Cras scelerisque, lorem id porttitor blandit, massa arcu pharetra nibh, at vestibulum arcu risus et augue.
Another paragraph to test vertical rhythm and spacing between paragraphs. Maecenas laoreet, augue ac suscipit convallis, est massa aliquam est, id hendrerit justo nisi in lacus. Aenean eget pulvinar justo, id tincidunt elit.
If this test post renders correctly, you should see:
Once you’re happy with the visuals:
Content/blogs/your-new-post/index.md.