A static site generator in 90 lines of Python

The whole generator is: read front matter, render markdown, drop it in a Jinja template, write a file. Everything else is taste.

post = frontmatter.load(path)
html = markdown.markdown(post.content, extensions=["fenced_code", "codehilite"])
write(out / f"{slug}.html", template.render(post=post, body=html))

No node_modules, no build server, no hydration. The output is plain HTML that will still render in a decade.

← All posts