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.
Pagefindex is a wrapper for Pagefind for use with static sites written in Elixir and specific extension support for Tableau.
Pagefind is a fully static search library that aims to perform well on large sites, while using as little of your users’ bandwidth as possible, and without hosting any infrastructure.
With configuration similar to bun and esbuild, Pagefindex makes it easy to index a static site with a standalone Mix task.
mix pagefind # defaults to --site=_site --run-with=auto
mix pagefind --site=dist
mix pagefind --run-with=bun
mix pagefind --use-version=1.4.0
The real magic is for Tableau sites, as you can configure the Pagefindex.Tableau extension and it will automatically index your site after every mix tableau.build so that you have the Pagefind UI, library, and your site index available for every publish*.
config :tableau, Pagefindex.Tableau,
enabled: true,
run_with: :auto,
debounce_ms: 2000
*Batteries Not Included
You still have to prepare your site for using Pagefind, but it’s pretty easy.






















