← Blog

Hello, malli

Maneet

announcements

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.