about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--users/tazjin/blog/default.nix7
-rw-r--r--users/tazjin/homepage/feed.nix2
-rw-r--r--web/blog/default.nix5
-rw-r--r--web/blog/fragments.nix2
-rw-r--r--web/tvl/blog/default.nix6
-rw-r--r--web/tvl/default.nix14
6 files changed, 19 insertions, 17 deletions
diff --git a/users/tazjin/blog/default.nix b/users/tazjin/blog/default.nix
index c65b5cb50bf0..6ac89e46656a 100644
--- a/users/tazjin/blog/default.nix
+++ b/users/tazjin/blog/default.nix
@@ -5,8 +5,9 @@ with depot.nix.yants;
 let
   inherit (builtins) hasAttr filter;
 
-  blogConfig = {
+  config = {
     name = "tazjin's blog";
+    baseUrl = "https://tazj.in/blog";
 
     footer = ''
       <p class="footer">
@@ -26,12 +27,12 @@ let
     mkdir -p $out
 
     ${lib.concatStringsSep "\n" (map (post:
-      "cp ${renderPost blogConfig post} $out/${post.key}.html"
+      "cp ${renderPost config post} $out/${post.key}.html"
     ) posts)}
   '';
 
 in {
-  inherit posts rendered;
+  inherit posts rendered config;
 
   # Generate embeddable nginx configuration for redirects from old post URLs
   oldRedirects = lib.concatStringsSep "\n" (map (post: ''
diff --git a/users/tazjin/homepage/feed.nix b/users/tazjin/homepage/feed.nix
index 2c6634e65976..2a033444e8ba 100644
--- a/users/tazjin/homepage/feed.nix
+++ b/users/tazjin/homepage/feed.nix
@@ -22,7 +22,7 @@ let
     };
   });
 
-  allEntries = (map blog.toFeedEntry depot.users.tazjin.blog.posts)
+  allEntries = (with depot.users.tazjin.blog; map (blog.toFeedEntry config) posts)
              ++ (map pageEntryToEntry pageEntries);
 
   feed = {
diff --git a/web/blog/default.nix b/web/blog/default.nix
index fd8f7dc9fc55..ec386a217766 100644
--- a/web/blog/default.nix
+++ b/web/blog/default.nix
@@ -40,8 +40,8 @@ let
   fragments = import ./fragments.nix args;
 
   # Functions for generating feeds for these blogs using //web/atom-feed.
-  toFeedEntry = defun [ post atom-feed.entry ] (post: rec {
-    id = "https://tazj.in/blog/${post.key}";
+  toFeedEntry = { baseUrl, ...}: defun [ post atom-feed.entry ] (post: rec {
+    id = "${baseUrl}/${post.key}";
     title = post.title;
     content = readFile (renderMarkdown post.content);
     published = post.date;
@@ -52,7 +52,6 @@ let
       href = id;
     };
   });
-
 in {
   inherit post toFeedEntry;
   inherit (fragments) renderPost;
diff --git a/web/blog/fragments.nix b/web/blog/fragments.nix
index f95c0f17a5fe..9a4446324e57 100644
--- a/web/blog/fragments.nix
+++ b/web/blog/fragments.nix
@@ -59,7 +59,7 @@ let
     <hr>
   '';
 
-  renderPost = { name, footer }: post: runCommandNoCC "${post.key}.html" {} ''
+  renderPost = { name, footer, ... }: post: runCommandNoCC "${post.key}.html" {} ''
     cat ${writeText "header.html" (header name post.title)} > $out
 
     # Write the post title & date
diff --git a/web/tvl/blog/default.nix b/web/tvl/blog/default.nix
index fac627a94099..cedfc6b41787 100644
--- a/web/tvl/blog/default.nix
+++ b/web/tvl/blog/default.nix
@@ -1,6 +1,12 @@
 { depot, ... }:
 
 {
+  config = {
+    name = "TVL's blog";
+    footer = depot.web.tvl.footer {};
+    baseUrl = "https://tvl.fyi/blog";
+  };
+
   posts = [
     {
       key = "kicking-off-tvix";
diff --git a/web/tvl/default.nix b/web/tvl/default.nix
index c40335003139..4a3688bf3177 100644
--- a/web/tvl/default.nix
+++ b/web/tvl/default.nix
@@ -4,16 +4,12 @@ with depot.nix.yants;
 
 let
   inherit (pkgs) graphviz runCommandNoCC writeText;
-  inherit (depot.web) blog atom-feed;
+  inherit (depot.web) atom-feed blog tvl;
 
-  blogConfig = {
-    name = "TVL's blog";
-    footer = depot.web.tvl.footer {};
-  };
 
   postRenderingCommands = defun [ (list blog.post) string ] (posts:
     lib.concatStringsSep "\n"
-      (map (p: "cp ${blog.renderPost blogConfig p} $out/blog/${p.key}.html") posts)
+      (map (p: "cp ${blog.renderPost tvl.blog.config p} $out/blog/${p.key}.html") posts)
   );
 
   tvlGraph = runCommandNoCC "tvl.svg" {
@@ -33,12 +29,12 @@ let
       href = "https://tvl.fyi/feed.atom";
     };
 
-    entries = map blog.toFeedEntry depot.web.tvl.blog.posts;
+    entries = map (blog.toFeedEntry tvl.blog.config) tvl.blog.posts;
   };
 
   atomFeed = writeText "feed.atom" (atom-feed.renderFeed feed);
 
-  homepage = depot.web.tvl.template {
+  homepage = tvl.template {
     title = "The Virus Lounge";
     content = ''
       The Virus Lounge
@@ -109,6 +105,6 @@ let
 in runCommandNoCC "website" {} ''
   mkdir -p $out/blog
   cp ${homepage} $out/index.html
-  ${postRenderingCommands depot.web.tvl.blog.posts}
+  ${postRenderingCommands tvl.blog.posts}
   cp ${atomFeed} $out/feed.atom
 ''