Link the contact addresses in the Terms of Service
Problem
In the Terms of Service contact section, the only text a reader would want to act on was not actionable, and the one thing that looked actionable was wrong.
The sentence introducing the addresses read "please use the following @blurt.blog
addresses". The bare @blurt.blog matches the renderer's account-mention pattern, so
it was turned into a link to /@blurt.blog — a profile page for an account that does
not exist. The four addresses listed below it were plain text, so none of them could
be clicked.
Separately, the reference to the Privacy Policy replaced the page the reader was in the middle of, with no way back other than the browser's back button.
Cause
linkify in HtmlReady.js rewrites @name into a profile link whenever the @ is
preceded by a non-alphanumeric character, which is the case mid-sentence. Neither the
markdown renderer nor HtmlReady linkifies a bare email address: the former is
configured without linkify, and the latter's pattern requires an http(s)://
prefix.
Change
- The introducing sentence no longer names the domain, so nothing in it is treated as a mention.
- Each address is written as an explicit
mailto:link. - The Privacy Policy reference opens in a new tab. Help pages render with
allowDangerousHTML, so the anchor is written as HTML withrel="noopener noreferrer".
Verification
No @name pattern remains in the document that the renderer would turn into a
mention. The privacy policy page already used mailto: links for the same addresses
and is unchanged.