From 82e07fc046cff2151f9d18a003c6331202d58c8b Mon Sep 17 00:00:00 2001 From: sterni Date: Thu, 14 Jan 2021 02:07:55 +0100 Subject: feat(panettone): render a subset of markdown in issue subjects This is achieved by implementing a simple markdown renderer in CL which has the following limitations: * Only supports inline `code`, *emphasize 1*, _emphasize 2_ and ~~strikethrough~~. * Does not support nested markup. This allows for a relatively simple renderer which doesn't need to parse markdown into a in-memory data structure first. The rendered result is directly written to a stream to integrate well with cl-who which is also reused for rendering tags and xml-escaping strings. Fixes #90. Change-Id: Ice88ed770b1fab6365f3b93e8663e25077befa0b Reviewed-on: https://cl.tvl.fyi/c/depot/+/2389 Tested-by: BuildkiteCI Reviewed-by: glittershark Reviewed-by: tazjin --- web/panettone/src/panettone.lisp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'web/panettone/src/panettone.lisp') diff --git a/web/panettone/src/panettone.lisp b/web/panettone/src/panettone.lisp index aaf58bd191..e090f11acf 100644 --- a/web/panettone/src/panettone.lisp +++ b/web/panettone/src/panettone.lisp @@ -192,7 +192,7 @@ (:a :href (format nil "/issues/~A" issue-id) (:p (:span :class "issue-subject" - (who:esc (subject issue)))) + (render-inline-markdown (subject issue)))) (:span :class "issue-number" (who:esc (format nil "#~A" issue-id))) " - " @@ -329,7 +329,7 @@ (issue-status (status issue))) (render () (:header - (:h1 (who:esc (subject issue))) + (:h1 (render-inline-markdown (subject issue))) (:div :class "issue-number" (who:esc (format nil "#~A" issue-id)))) (:main -- cgit 1.4.1