Org (org-mode) supports many link types, and you can easily define more: https://orgmode.org/manual/External-Links.html
It's a shame the Ruby renderer used by GitHub and GitLab doesn't understand them. I've been intending to patch it.
In the meantime, one can always define a CI task that uses Emacs to export to HTML.