diff options
Diffstat (limited to 'users/tazjin/blog/default.nix')
-rw-r--r-- | users/tazjin/blog/default.nix | 45 |
1 files changed, 6 insertions, 39 deletions
diff --git a/users/tazjin/blog/default.nix b/users/tazjin/blog/default.nix index a3c373a0fa76..fd2f38839a73 100644 --- a/users/tazjin/blog/default.nix +++ b/users/tazjin/blog/default.nix @@ -1,56 +1,23 @@ -# This creates the static files that make up my blog from the Markdown -# files in this repository. -# -# All blog posts are rendered from Markdown by cheddar. -{ depot, lib, pkgs, ... }@args: +{ depot, lib, pkgs, ... }: with depot.nix.yants; let - inherit (builtins) filter hasAttr map; + inherit (builtins) hasAttr filter; + inherit (depot.web.blog) post includePost renderPost; - # Type definition for a single blog post. - post = struct "blog-post" { - key = string; # - title = string; - date = int; - - # Optional time at which this post was last updated. - updated = option int; - - # Path to the Markdown file containing the post content. - content = path; - - # Should this post be included in the index? (defaults to true) - listed = option bool; - - # Is this a draft? (adds a banner indicating that the link should - # not be shared) - draft = option bool; - - # Previously each post title had a numeric ID. For these numeric - # IDs, redirects are generated so that old URLs stay compatible. - oldKey = option string; - }; - - posts = list post (import ./posts.nix); - fragments = import ./fragments.nix args; + posts = filter includePost (list post (import ./posts.nix)); rendered = pkgs.runCommandNoCC "tazjins-blog" {} '' mkdir -p $out ${lib.concatStringsSep "\n" (map (post: - "cp ${fragments.renderPost post} $out/${post.key}.html" + "cp ${renderPost post} $out/${post.key}.html" ) posts)} ''; - includePost = post: !(fragments.isDraft post) && !(fragments.isUnlisted post); in { - inherit post rendered; - static = ./static; - - # Only include listed posts - posts = filter includePost posts; + inherit posts rendered; # Generate embeddable nginx configuration for redirects from old post URLs oldRedirects = lib.concatStringsSep "\n" (map (post: '' |