← back to posts

Hugo & Markdown: The Art of Writing the Web

The best tools get out of the way. Hugo and Markdown share this virtue — letting writers focus on words and developers focus on structure, without either group paying much attention to the machinery underneath.

Hugo: Fast by Design

Hugo is a static site generator written in Go. It takes a folder of Markdown files and compiles them into a complete, ready-to-deploy website — no database, no server-side rendering, just fast static HTML.

And fast means it: Hugo regularly builds thousands of pages in under a second. Drop a .md file into content/, and Hugo picks it up automatically — assigns it a URL, applies a template, adds it to your taxonomy. Convention over configuration, all the way down.

Markdown: Writing That Stays Readable

Markdown was created by John Gruber in 2004 with a simple idea: write plain text that looks readable as-is, using punctuation to convey structure. # becomes a heading, **bold** becomes bold, - starts a list item.

The result is that your files are just text — no proprietary format, no toolbar required, readable everywhere forever. Markdown written in 2010 still opens cleanly today.

How Hugo Extends Markdown

Hugo uses the Goldmark renderer and extends Markdown with two ideas: front matter and shortcodes.

Front matter is a YAML block at the top of each file that tells Hugo the page’s title, date, tags, and any custom fields your templates use:

1
2
3
4
5
---
title: "My First Post"
date: 2026-03-31
tags: ["hugo", "markdown"]
---

Shortcodes handle what plain Markdown can’t — YouTube embeds, styled callouts, figures with captions — without writing raw HTML:

1
2


    
    
A caption

A caption

Where They Shine Together

Hugo and Markdown power some of the web’s most reliable publishing setups: the Kubernetes docs, the Cloudflare blog, countless developer portfolios. What they share is a preference for content over infrastructure — write in your editor, deploy with Git, no servers to maintain.

Markdown lives happily in version control. Reviewing a colleague’s article becomes as natural as reviewing their code.

Getting Started

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# Install (Windows)
winget install Hugo.Hugo.Extended

# macOS
brew install hugo

# Create and run a site
hugo new site mysite && cd mysite
git init
git submodule add https://github.com/theNewDynamic/gohugo-theme-ananke themes/ananke
echo "theme = 'ananke'" >> hugo.toml
hugo new posts/my-first-post.md
hugo server -D

The dev server rebuilds instantly on every save. Hugo is open source at gohugo.io — the Markdown spec lives at commonmark.org.