refactor(wpcarro/website): Prefer substituteAll

`substituteAll` supports templating with @variables@, which I think really
cleans things up.

Change-Id: Icfad15ac9e174495ba02260d817f7330f1616c6f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4722
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
This commit is contained in:
William Carroll 2021-12-27 20:06:08 -04:00 committed by clbot
parent 52369a11e3
commit e107311cb8
8 changed files with 94 additions and 85 deletions

View file

@ -1,27 +1,27 @@
{ pkgs, depot, ... }:
rec {
let
inherit (builtins) readFile;
inherit (depot.users) wpcarro;
header = "${./fragments/header.html}";
footer = "${./fragments/footer.html}";
addendum = "${./fragments/addendum.html}";
root = pkgs.stdenv.mkDerivation {
name = "wpcarro.dev";
src = builtins.path { path = ./.; name = "website"; };
installPhase = ''
mkdir -p $out
cat ${header} \
${./fragments/homepage.html} \
${footer} \
${addendum} > $out/index.html
mkdir -p $out/habits
cp -r ${wpcarro.website.habit-screens} $out/habits/index.html
cp -r ${wpcarro.website.blog.root} $out/blog
'';
render = contentHtml: pkgs.substituteAll {
inherit contentHtml;
src = ./fragments/template.html;
};
in {
inherit render;
root = pkgs.runCommandNoCC "wpcarro.dev" {} ''
mkdir -p $out
# /
cp ${render (readFile ./fragments/homepage.html)} $out/index.html
# /habits
mkdir -p $out/habits
cp -r ${wpcarro.website.habit-screens} $out/habits/index.html
# /blog
cp -r ${wpcarro.website.blog.root} $out/blog
'';
}