Discussion on [Introduce a spam reaction?](https://meta.codidact.com/posts/291174) brought up the idea of preventing new users from posting links, so as to create an additional hurdle for spammers (who will rarely make any serious attempt to integrate themselves into a community before spamming).
This of course has the drawback that questions, even from new users, will often benefit from external links to documentation etc., and it would be better not to put a limit on the potential quality of questions from people who are just starting to ask questions and need the most onboarding. The idea is also somewhat vague, because it doesn't really take into account the fact that posts are Markdown. That is: what should happen if the user types the Markdown code for a link anyway?
My proposal is to keep Markdown text for links in posts by new users, but conditionally *render* it in a way that disables the link. Established users (perhaps this could be tied to the "Participate Everywhere" ability - though this implies the feature is ineffective in New Site Mode, I think?) can then approve the link by trivially editing the post.
In detail:
* When a post was authored by a new user and the post has not ever been edited by anyone else, render links by ignoring the URL portion and putting the link text inside a custom CSS span. It should use background shading and `before:` to signal that the text represents a disabled link - so Markdown like `[cool link](https://example.com)`
would produce an inline span that looks something like <span class="notice is-warning">**Disabled link:** cool link</span>
(but without padding that overlaps other lines of text).
* Otherwise, render the link normally: [cool link](https://example.com).
* New users who attempt to edit their own posts should be advised of the feature and given a link to appropriate help documentation - something like:
> Please note that someone else must edit your post to "approve" links before they will function in your post. After [conditions], you will be able to post links normally, and even approve them for other new users. Learn more here.
* Similarly, when someone would make or approve an edit that would enable disabled links, the editing form should have a warning at the top that this will happen, and link the same documentation - something like:
> Warning! This post contains one or more Markdown links from a new user, which have been temporarily disabled. Editing the post will enable the links. Please carefully review this post before [submitting|approving] an edit, to make sure the links are not spam or otherwise malicious. Learn more here.
* For bonus marks: hovering over a disabled link span should produce a tooltip that briefly describes the system and offers the documentation link - something like:
> Links posted by new users are initially disabled to help protect Codidact from spam. Learn more here.
* This could be further refined by making links work normally *when they link to elsewhere on Codidact*, even when posted by a new user.