From a2cbbedc65c9200fd3c2a6a698366ac431cc153d Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Fri, 26 Jun 2020 20:25:14 +0100 Subject: 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 --- web/homepage/default.nix | 72 ------------------------------------------------ 1 file changed, 72 deletions(-) delete mode 100644 web/homepage/default.nix (limited to 'web/homepage/default.nix') diff --git a/web/homepage/default.nix b/web/homepage/default.nix deleted file mode 100644 index 22380fdea700..000000000000 --- a/web/homepage/default.nix +++ /dev/null @@ -1,72 +0,0 @@ -# Assembles the website index and configures an nginx instance to -# serve it. -# -# The website is made up of a simple header&footer and content -# elements for things such as blog posts and projects. -# -# Content for the blog is in //web/blog instead of here. -{ depot, lib, ... }: - -with depot; -with nix.yants; - -let - inherit (builtins) readFile replaceStrings sort; - inherit (third_party) writeFile runCommandNoCC; - - # The different types of entries on the homepage. - entryClass = enum "entryClass" [ "blog" "project" "misc" ]; - - # The definition of a single entry. - entry = struct "entry" { - class = entryClass; - title = string; - url = string; - date = int; # epoch - description = option string; - }; - - escape = replaceStrings [ "<" ">" "&" "'" ] [ "<" ">" "&" "'" ]; - - postToEntry = defun [ web.blog.post entry ] (post: { - class = "blog"; - title = post.title; - url = "/blog/${post.key}"; - date = post.date; - }); - - formatDate = defun [ int string ] (date: readFile (runCommandNoCC "date" {} '' - date --date='@${toString date}' '+%Y-%m-%d' > $out - '')); - - formatEntryDate = defun [ entry string ] (entry: entryClass.match entry.class { - blog = "Blog post from ${formatDate entry.date}"; - project = "Project from ${formatDate entry.date}"; - misc = "Posted on ${formatDate entry.date}"; - }); - - entryToDiv = defun [ entry string ] (entry: '' - -
-

${escape entry.title}

- ${ - lib.optionalString ((entry ? description) && (entry.description != null)) - "

${escape entry.description}

" - } - -
-
- ''); - - index = entries: third_party.writeText "index.html" (lib.concatStrings ( - [ (builtins.readFile ./header.html) ] - ++ (map entryToDiv (sort (a: b: a.date > b.date) entries)) - ++ [ (builtins.readFile ./footer.html) ] - )); - - homepage = index ((map postToEntry web.blog.posts) ++ (import ./entries.nix)); -in runCommandNoCC "website" {} '' - mkdir $out - cp ${homepage} $out/index.html - cp -r ${./static} $out/static -'' -- cgit 1.4.1