about summary refs log tree commit diff
path: root/users/wpcarro/website/blog/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'users/wpcarro/website/blog/default.nix')
-rw-r--r--users/wpcarro/website/blog/default.nix47
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">&gt; Half-baked musings lossily encoded.</p>
-        <p class="text-gray-500">&gt; - 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
   '';
 }