diff options
Diffstat (limited to 'users/wpcarro/website/blog/default.nix')
-rw-r--r-- | users/wpcarro/website/blog/default.nix | 47 |
1 files changed, 16 insertions, 31 deletions
diff --git a/users/wpcarro/website/blog/default.nix b/users/wpcarro/website/blog/default.nix index bef06cad7457..713c42a83b33 100644 --- a/users/wpcarro/website/blog/default.nix +++ b/users/wpcarro/website/blog/default.nix @@ -6,16 +6,16 @@ let inherit (builtins) hasAttr filter readFile; inherit (depot.web.blog) post includePost renderPost; inherit (depot.users) wpcarro; - inherit (pkgs) runCommandNoCC; config = { name = "wpcarro's blog"; baseUrl = "https://wpcarro.dev/blog"; + footer = ""; }; posts = filter includePost (list post (import ./posts.nix)); - rendered = runCommandNoCC "wpcarros-blog" {} '' + rendered = pkgs.runCommandNoCC "wpcarros-blog-posts" {} '' mkdir -p $out ${lib.concatStringsSep "\n" (map (post: @@ -23,41 +23,26 @@ let ) posts)} ''; - formatDate = date: readFile (runCommandNoCC "date" {} '' + formatDate = date: readFile (pkgs.runCommandNoCC "date" {} '' date --date='@${toString date}' '+%B %e, %Y' > $out ''); - postsList = pkgs.writeText "index.html" '' - <div class="max-w-sm md:max-w-prose mx-auto"> - <section class="pt-8 pb-14"> - <p class="font-bold pb-4">Personal blog by <a class="font-bold text-blue-600 hover:underline" href="https://wpcarro.dev">wpcarro</a>.</p> - <p class="text-gray-500">> Half-baked musings lossily encoded.</p> - <p class="text-gray-500">> - misc reviewer</p> - </section> - <ul> - ${lib.concatStringsSep "\n" (map (post: '' - <li class="pb-10"> - <h2 class="text-bold font-2xl "> - <a class="font-bold text-blue-600 hover:underline" href="${config.baseUrl}/${post.key}.html"> - ${post.title} - </a> - </h2> - <p class="text-gray-500"> - ${formatDate post.date} - </p> - </li> - '') posts)} - </ul> - </div> - ''; + postsHtml = readFile (pkgs.substituteAll { + src = ./fragments/posts.html; + postsHtml = lib.concatStringsSep "\n" (map toPostHtml posts); + }); + + toPostHtml = post: readFile (pkgs.substituteAll { + src = ./fragments/post.html; + postUrl = "${config.baseUrl}/${post.key}.html"; + postTitle = post.title; + postDate = formatDate post.date; + }); in { inherit posts rendered config; - root = runCommandNoCC "wpcarros-blog" {} '' + root = pkgs.runCommandNoCC "wpcarros-blog" {} '' mkdir -p $out - - cat ${wpcarro.website.header} \ - ${postsList} \ - ${wpcarro.website.addendum} > $out/index.html + cp ${wpcarro.website.render postsHtml} $out/index.html ''; } |