diff options
author | Vincent Ambo <mail@tazj.in> | 2021-04-02T13·35+0200 |
---|---|---|
committer | tazjin <mail@tazj.in> | 2021-04-02T13·44+0000 |
commit | 4450003bd7385a29a28f83f3f7a3d2f57615e9ff (patch) | |
tree | aa81e6697ab67ea610e852f98b855176fe68a180 | |
parent | 817cd6f166af88b73ff7b80e7e70a0689951f731 (diff) |
feat(tazjin/blog): Add distinction between published & updated times r/2402
Fixes a long-standing todo by adding an additional field for the time at which a post was updated, and handling this in both site generation (to note the update date after the publish date) and in Atom feed generation (by populating both the updated and published fields). Change-Id: If80db43459b2a0c77eea4dde7255651b5d6cd64b Reviewed-on: https://cl.tvl.fyi/c/depot/+/2766 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
-rw-r--r-- | users/tazjin/atom-feed/default.nix | 4 | ||||
-rw-r--r-- | users/tazjin/blog/default.nix | 3 | ||||
-rw-r--r-- | users/tazjin/blog/fragments.nix | 5 | ||||
-rw-r--r-- | users/tazjin/homepage/feed.nix | 2 |
4 files changed, 13 insertions, 1 deletions
diff --git a/users/tazjin/atom-feed/default.nix b/users/tazjin/atom-feed/default.nix index cd189b86754d..fe5e4b997c0a 100644 --- a/users/tazjin/atom-feed/default.nix +++ b/users/tazjin/atom-feed/default.nix @@ -111,6 +111,10 @@ let ${elem "title" e.title} ${elem "id" e.id} ${elem "updated" (renderEpoch e.updated)} + ${if e ? published + then elem "published" (renderEpoch e.published) + else "" + } ${if e ? content then ''<content type="html">${escape e.content}</content>'' else "" diff --git a/users/tazjin/blog/default.nix b/users/tazjin/blog/default.nix index 2232be273629..a5254b5496c3 100644 --- a/users/tazjin/blog/default.nix +++ b/users/tazjin/blog/default.nix @@ -15,6 +15,9 @@ let 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; diff --git a/users/tazjin/blog/fragments.nix b/users/tazjin/blog/fragments.nix index 78a64afa3932..98028fad7029 100644 --- a/users/tazjin/blog/fragments.nix +++ b/users/tazjin/blog/fragments.nix @@ -74,6 +74,11 @@ let echo '<article><h2 class="inline">${escape post.title}</h2>' >> $out echo '<aside class="date">' >> $out date --date="@${toString post.date}" '+%Y-%m-%d' >> $out + ${ + if post ? updated + then ''date --date="@${toString post.updated}" '+ (updated %Y-%m-%d)' >> $out'' + else "" + } echo '</aside>' >> $out ${ diff --git a/users/tazjin/homepage/feed.nix b/users/tazjin/homepage/feed.nix index 5e1fa15da6eb..3c0cc06f1044 100644 --- a/users/tazjin/homepage/feed.nix +++ b/users/tazjin/homepage/feed.nix @@ -14,7 +14,7 @@ let title = post.title; content = readFile (renderMarkdown post.content); published = post.date; - updated = post.date; # TODO(tazjin): this should be distinct from published + updated = post.updated or post.date; links = singleton { rel = "alternate"; |