Drop SCSS Support
I don't need it, so let's focus on just using tailwind. This means we
don't need to build libsass either.
Add Prism.js for Syntax Highlighting
Earmark can't do it, and prism.js is focussed on loading only what you
need, which I can appreciate. Code blocks look mostly okay without it in
case people disable JS.
Set up Nix Build for Release
`nix build .#home` will build a mix release for the application that
can (currently) be configured with the following environment variables:
- `DATABASE_URL`: A URL describing the database to connect to, of the
- `POOL_SIZE`: The DB connection pool size
- `SECRET_KEY_BASE`: Usually generated via `mix phx.gen.secret`
- `PORT`: The port to listen on
- `TZ_DATA_DIR`: The directory to cache timezone data. Needed, as the
default value is the release directory, which is read-only when
launched via nix.
It also seems tailwind's jit was folded into the mainline, so that got
bumped here as part of making the build work.
Upgrade to Webpack 5 and Tailwind JIT
It seems webpack 4 has issues watching files outside of its working
directory, but 5 does not.
Set up Tailwind
It's the easiest way to do CSS these days, and I am lazy.
Generated Phoenix 1.5.8 umbrella application