// markdown.go — minimal Markdown → safe HTML converter for broadcast emails. // // Paliad doesn't pull in a third-party Markdown library — the body subset // senders need is small and predictable, so we render it inline. Inputs are // HTML-escaped first; the renderer then re-introduces a small whitelist of // inline tags (, , , ) and block elements (

,

    , //
  • ,
    ) for the patterns it recognises. Anything we don't recognise // stays escaped, so an attacker who tries to slip a