Hello, malli
Maneet
This is the first post on the malli blog. It exists mostly to prove the pipeline works end to end, but the format below is what every future post will look like.
How posts are written
Posts are plain markdown files committed to the repo under priv/posts/YEAR/MM-DD-slug.md.
The filename supplies the publish date and the URL slug — this post lives at
priv/posts/2026/08-04-hello-malli.md, so it is served from /blog/hello-malli.
Everything above the --- separator is an Elixir map of metadata:
%{
title: "Hello, malli",
description: "Why we're building a mall directory.",
tags: ["announcements"],
published: true
}
Set published: false to keep a draft in the repo without it showing up on the site.
What gets rendered
GitHub Flavored Markdown is on, so you get tables, autolinks, and strikethrough:
| Feature | Supported |
|---|---|
| Tables | yes |
| Fenced code | yes |
| Footnotes | not yet |
Fenced code blocks are syntax-highlighted at compile time, which means there is no JavaScript highlighter shipped to the browser:
defmodule Malli.Blog do
def all_posts, do: @published
end
Posts compile into the release. Publishing is a deploy, not a database write.
What's next
Expect writing about the directory itself — how mall and shop data gets in, what we learned building the search, and the occasional note on the Elixir side of things.