snix/web/panettone/src
sterni 82e07fc046 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 <grfn@gws.fyi>
Reviewed-by: tazjin <mail@tazj.in>
2021-01-25 21:02:38 +00:00
..
.gitignore feat(web/panettone): The start of a very simple issue tracker 2020-07-23 19:47:38 +00:00
authentication.lisp fix(panettone): Automatically reconnect to ldap 2020-08-31 23:03:45 +00:00
css.lisp fix(panettone): only scroll if content is too wide 2020-11-27 18:13:09 +00:00
inline-markdown.lisp feat(panettone): render a subset of markdown in issue subjects 2021-01-25 21:02:38 +00:00
irc.lisp fix(panettone): Prefix all IRC messages with a ZWSP 2020-11-22 21:59:58 +00:00
model.lisp fix(web/panettone): revert "implement shorthand issue URLs" 2020-08-09 19:02:07 +00:00
packages.lisp feat(panettone): render a subset of markdown in issue subjects 2021-01-25 21:02:38 +00:00
panettone.lisp feat(panettone): render a subset of markdown in issue subjects 2021-01-25 21:02:38 +00:00
util.lisp feat(panettone): Use postgres as the storage backend 2020-07-28 00:32:48 +00:00