Yea I think using the markdown conversion is good, so it matches exactly what is rendered as links.
Another option using markdown would be to have `UserMentionExtension` record the usernames as it processes them, instead of using BeautifulSoup later. But I am not sure where it would save the usernames, since it is a step in the middle of a whole series of markdown steps. I'm not able to think right now of a good place for that Extension to save or return a value. Maybe there is are internal Markdown variables or methods that could be used, but I'm not familiar with them, and we probably don't want to get into markdown internals too much (we are also behind on Markdown versions, and upgrading will probably change internals). Or maybe it could store the usernames into a global or class variable, but that's messy especially for multiple usages and to be threadsafe. So I think your idea sounds like the best one I can think currently. --- ** [tickets:#8284] gsoc19-c4: Implement the notification email sender** **Status:** in-progress **Milestone:** unreleased **Labels:** gsoc19 **Created:** Wed May 08, 2019 03:03 PM UTC by Shalitha Suranga **Last Updated:** Thu Jul 04, 2019 03:48 PM UTC **Owner:** Shalitha Suranga *Todo* This function is responsible for detecting user mentions and sending email notifications. For the detection markdown extenstion can be reused. For sending emails existing interfaces can be used; or any other better mechanism will be discussed before the implementation. *What is expected* When a user is mentioned (and the markdown is saved) the relevant user will be notified with an email --- Sent from forge-allura.apache.org because dev@allura.apache.org is subscribed to https://forge-allura.apache.org/p/allura/tickets/ To unsubscribe from further messages, a project admin can change settings at https://forge-allura.apache.org/p/allura/admin/tickets/options. Or, if this is a mailing list, you can unsubscribe from the mailing list.