TableauEexExtension - Tableau Extension to Render EEx templates

Over the last several months, I’ve been using Tableau to rebuild my long-neglected website. Tableau is part of the Elixir Tools project headed by @mhanberg, and is built on top of MDEx by @leandrocp. This library is one of ten libraries and Elixir extensions that I built. Most of these were built with the assistance of Kiro.

TableauEexExtension is like Tableau’s Tableau.PageExtension and Tableau.PostExtension in that it reads all files in a configurable directory (_eex/ by default) and renders them as files in the source root. It’s suitable for well-known files where some dynamic content would be beneficial: robots.txt, humans.txt, etc.

Where Tableau.PageExtension and Tableau.PostExtension render to HTML and transform the name (_page/about.md becomes <base_url>/about/index.html), TableauEexExtension keeps the filename provided without the .eex extension (_eex/humans.txt becomes /humans.txt).

Example

# _eex/humans.txt.eex
/* TEAM */
Author: <%= @config.author %>
Site: <%= @config.url %>

/* SITE */
Last update: <%= Date.to_iso8601(Date.utc_today()) %>

This generates:

/* TEAM */
Author: Austin Ziegler
Site: https://halostatue.ca

/* SITE */
Last update: 2026-03-06
4 Likes