At sign and hash escaping is not possible
I'm trying to use an at sign followed by something that looks like a username (but is not a GitHub username and should not cause a user notification) or a hash followed by a number that is not a reference to an issue (and should not produce a link). I noticed that it is not possible to prevent GitHub from parsing it as a username or issue reference, respectively, except by using pre-formatted text.
According to the spec's backslash escapes rules, it should be possible to use \@ to get an at sign or \# to get a hash. However, \@github still yields @github, and \#181 still results in #181.
Other things I've tried:
-
@github→ @github -
@github→ @github -
#181→ #181 -
#181→ #181
As expected, additionally also escaping the & as & does not yield anything useful.
Please let me know if this is not the right place to report this. It is surprisingly difficult to find where to report issues on GitHub itself.
Enter an awful workaround: @​github → @github (or ​). It's awful in particular because copying the resulting text will of course also include the zero-width space.
And here's another version that does not work: @github → @github
Another slightly less awful workaround is to use an empty comment: @<!-- -->github gets rendered as @github and the comment disappears in the rendered code, so copy-paste works as intended on the resulting text.
I note that this bug also affects internal references in GitHub Wiki pages (not in issues): there is no clean way to escape [[foo]] in such pages.