All notable changes to this project will be documented in this file.
Static Blog version 0.2.0 - 2026-08-05
Added
Footnote support, in both the labelled
[^source]form and the inline^[the note]form. Definitions are collected into a<section class="footnotes">at the end of the post, numbered by order of citation, each with a backreference link.A footnotes guide covering both syntaxes, the rendered markup, and a stylesheet to drop into your site.
StaticBlog.Markdowncentralises markdown-to-HTML conversion so posts render identically frommix blog.build, the preview server, and the Micropub endpoint. Options are configurable withconfig :static_blog, :markdown.
Changed
Markdown is now rendered by MDEx instead of Earmark, which is retired and carries a security advisory. Tables, strikethrough, autolinks, task lists, and smart punctuation remain enabled, and raw HTML in posts is still passed through.
Fenced code blocks without a registered Makeup lexer now carry
class="language-NAME"rather thanclass="NAME". Highlighted blocks are unchanged atclass="makeup NAME".nimble_publisherupgraded to~> 2.1, which removes the last dependency on Earmark. If you use the:blog_moduleoption with your ownuse NimblePublishermodule, bump your own dependency to~> 2.1and rename any:earmark_optionsto:comrak_options.
Fixed
- A footnote marker in a post's first paragraph no longer leaks its number into the generated summary, meta description, and RSS
<description>.
Static Blog version 0.1.0 - 2026-04-12
Added
StaticBlog.Generatorbuilds a complete static site from markdown posts: index, per-post pages, category pages, colophon, 404, RSS feed, sitemap, and robots.txt.StaticBlog.Templatebehaviour with five callbacks (index,post,category,colophon,not_found) for pluggable template rendering.StaticBlog.Template.Defaultimplements the behaviour with a Daring Fireball-inspired design, light/dark theme toggle, JSON-LD structured data, and full Open Graph / Twitter Card metadata.