diff options
author | sterni <sternenseemann@systemli.org> | 2021-01-14T01·07+0100 |
---|---|---|
committer | sterni <sternenseemann@systemli.org> | 2021-01-25T21·02+0000 |
commit | 82e07fc046cff2151f9d18a003c6331202d58c8b (patch) | |
tree | c528dde5bed5899aa53fbc7bba761bf8abb23969 /web/panettone/src/panettone.lisp | |
parent | 7e408c874ac9b84f62bd48a3a6f2b57bae866d29 (diff) |
feat(panettone): render a subset of markdown in issue subjects r/2144
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 <grfn@gws.fyi> Reviewed-by: tazjin <mail@tazj.in>
Diffstat (limited to 'web/panettone/src/panettone.lisp')
-rw-r--r-- | web/panettone/src/panettone.lisp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/web/panettone/src/panettone.lisp b/web/panettone/src/panettone.lisp index aaf58bd1915e..e090f11acfac 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 |