Back to Blog

Is Markdown the Best Format for Blogs?

June 15, 2025
By Sebastian Alvarez
3 min read
Loading...
Markdown
Blog
Content Strategy
Developer Tools
Developer Experience
Is Markdown the Best Format for Blogs?

Introduction

When building a developer blog, choosing how to store and write your content matters as much as how you display it. After experimenting with JSON, WYSIWYG editors, and headless CMSes, I found Markdown to be the cleanest, most scalable solution.

In this post, I'll explain why I use Markdown to structure my blog content, how it's stored, how it's dynamically rendered in the frontend — and why Markdown solves problems that plain JSON couldn’t.


Why I Store Blog Posts in Markdown

Here’s why Markdown is my go-to format:

1. 🧠 Simple, Human-Readable Syntax

Markdown feels natural to write. Headers, lists, code blocks, and links are quick to type, with zero friction. It's like writing an email with formatting superpowers — no UI lag, no weird HTML artifacts.

2. 🧱 Easy to Store, Version, and Track

Each post in my blog is stored as a simple JavaScript object that includes a Markdown content field. This means I can:

  • Store content in Git (like code)
  • Track changes over time
  • Use pull requests for content reviews
  • Move fast without external tooling

3. 🔄 Dynamic and Flexible Rendering

One major pain point I faced early on was using raw JSON to structure post content. That meant manually defining paragraphs, code blocks, and titles like this:

[
  { "type": "h2", "text": "Introduction" },
  { "type": "p", "text": "This post will cover..." },
  { "type": "code", "language": "js", "text": "const x = 42;" }
]

This quickly became messy and hard to scale. Every post had a slightly different structure, and I found myself writing a custom renderer to deal with all the variations. Markdown solved that instantly.

With Markdown, I can write naturally and let a parser like marked or remark handle the conversion to HTML, cleanly and consistently.

4. ✍️ Developer-First Writing Experience

Since my entire blog is code-based, it makes sense that writing should happen in code too. I can write a new blog post in my code editor, commit it with Git, and deploy. No extra UIs or plugins needed.


How I Use It in My Blog

Here’s what a blog post structure looks like in my setup:

{
  slug: 'mastering-async-javascript',
  title: 'Mastering Asynchronous JavaScript',
  date: 'October 26, 2023',
  excerpt: 'A deep dive into Promises, async/await...',
  content: `## Introduction\nAsynchronous programming is...`,
  author: 'Sebastian Alvarez',
  tags: ['JavaScript', 'Async']
}

The content is raw Markdown. In the frontend, I convert it using marked:

<div
  className="prose dark:prose-invert max-w-none"
  dangerouslySetInnerHTML={{ __html: marked(post.content) }}
/>

This gives me the freedom of Markdown plus full control of rendering.


Styling with Tailwind (Secondary but Nice)

To make the Markdown look good, I use Tailwind’s @tailwindcss/typography plugin. It gives me a prose class that adds consistent styles to elements like <h1>, <p>, <pre>, and more.

Tailwind's utility-based customization lets me tweak the style without touching the HTML. For example:

prose-headings:text-primary
prose-a:text-accent hover:prose-a:text-primary
prose-code:font-code
prose-pre:bg-muted

This means I don’t have to worry about content authors messing up the layout — Markdown handles structure, and Tailwind handles appearance.


Conclusion

Markdown hits the sweet spot for blogging as a developer:

  • Fast to write
  • Easy to maintain
  • Dynamic to render
  • Portable across tech stacks
  • Perfect for Git-based workflows

If you're building a blog or dev-focused site, consider Markdown as your foundation — and let styling be a second step, not the first problem to solve.

What did you think?

Loading reactions...

Found this article helpful? Share it!