halostatue
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
Popular in Announcing
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #elixirconf-us
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #metaprogramming
- #security
- #hex









