chore(tazjin): Move //web/blog & //web/homepage to my userdir
Change-Id: I96a2620ffb1d9e98a1d8ce7d97f2c4f58c2dbfd3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/603 Reviewed-by: tazjin <mail@tazj.in>
This commit is contained in:
parent
a46ffd85f5
commit
a2cbbedc65
32 changed files with 0 additions and 0 deletions
|
|
@ -1,59 +0,0 @@
|
|||
# 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, ... }@args:
|
||||
|
||||
with depot.nix.yants;
|
||||
|
||||
let
|
||||
inherit (builtins) filter hasAttr map;
|
||||
|
||||
# Type definition for a single blog post.
|
||||
post = struct "blog-post" {
|
||||
key = string; #
|
||||
title = string;
|
||||
date = 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;
|
||||
|
||||
rendered = depot.third_party.runCommandNoCC "tazjins-blog" {} ''
|
||||
mkdir -p $out
|
||||
|
||||
${lib.concatStringsSep "\n" (map (post:
|
||||
"cp ${fragments.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;
|
||||
|
||||
# Generate embeddable nginx configuration for redirects from old post URLs
|
||||
oldRedirects = lib.concatStringsSep "\n" (map (post: ''
|
||||
location ~* ^(/en)?/${post.oldKey} {
|
||||
# TODO(tazjin): 301 once this works
|
||||
return 302 https://tazj.in/blog/${post.key};
|
||||
}
|
||||
'') (filter (hasAttr "oldKey") posts));
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue