about summary refs log tree commit diff
path: root/web
diff options
context:
space:
mode:
authorVincent Ambo <tazjin@tvl.su>2023-09-08T12·50+0300
committertazjin <tazjin@tvl.su>2023-09-08T13·51+0000
commita32730ab45a9acb8871e3a9a5a68098047f4a145 (patch)
tree3f162a6a816563ed91f395ec9dd6c96fb7731e6e /web
parentc5770e65dd2dd82509da245cd6afc3077bca7d2b (diff)
feat(web/blog): add option to disable tagfilter per-post r/6566
Posts can now specify (optionally) tagfilter=true/false to toggle
escaping of HTML tags.

Change-Id: Ie4a1a45028570fc166fdffba708bf9d0e0c6ae81
Reviewed-on: https://cl.tvl.fyi/c/depot/+/9277
Tested-by: BuildkiteCI
Reviewed-by: Mark Shevchenko <markshevchenko@gmail.com>
Diffstat (limited to 'web')
-rw-r--r--web/blog/default.nix4
-rw-r--r--web/blog/fragments.nix2
2 files changed, 5 insertions, 1 deletions
diff --git a/web/blog/default.nix b/web/blog/default.nix
index 66d7759deb7b..696a9529c3b4 100644
--- a/web/blog/default.nix
+++ b/web/blog/default.nix
@@ -24,6 +24,10 @@ let
     # Path to the Markdown file containing the post content.
     content = path;
 
+    # Whether dangerous HTML tags should be filtered in this post. Can
+    # be disabled to, for example, embed videos in a post.
+    tagfilter = option bool;
+
     # Optional name of the author to display.
     author = option string;
 
diff --git a/web/blog/fragments.nix b/web/blog/fragments.nix
index 8c78b2cc928b..20fb879d9e83 100644
--- a/web/blog/fragments.nix
+++ b/web/blog/fragments.nix
@@ -84,7 +84,7 @@ let
     }
 
     # Write the actual post through cheddar's about-filter mechanism
-    cat ${renderMarkdown post.content} >> $out
+    cat ${renderMarkdown { path = post.content; tagfilter = post.tagfilter or true; }} >> $out
     echo '</article>' >> $out
 
     cat ${writeText "footer.html" (fullFooter footer)} >> $out