Как предотвратить автоматическое создание ссылок в вики-сайте GitHub?

На вики-странице GitHub, если я наберу:

www.foobar.com

GitHub автоматически предполагает, что это URL, и делает текст гиперссылкой на http://www.foobar.com/. Однако иногда я не хочу, чтобы гиперссылка создавалась. Есть ли способ остановить это поведение? Возможно, какая-то уценка?

7 ответов

Решение

Это не ограничивается вики-страницей и является частью функции автоматического поиска URL GFM (GitHub Flavored Markdown).

Помещение их в `` может работать, но отображать URL в виде кода: foo http://example.com бар.

foo `http://example.com` bar

Еще один трюк ( упомянутый в этой сути)

ht<span>tp://</span>example.com 

Это будет отображать http://example.com как обычный текст.

В вашем случае (без http://)

w<span>ww.</span>foobar.com

Это также будет отображать www.foobar.com как обычный текст.

Кроме того, если у вас возникли проблемы с чем-то другим, кроме автоматического связывания URL, я обнаружил выход за пределы. работает так же.

Пример:

foobar.web -> foobar&#46;web

Вы можете использовать пространство нулевой ширины, чтобы большинство автоматических компоновщиков не интерпретировали символы как URL

Вот пример с пробелом нулевой ширины, вставленным между https а также :

https://example.com/

Чтобы вставить его, вы можете скопировать с URL-адреса выше или с этой страницы

См. Также эту ветку в твиттере

Вы также можете просто применить обратную косую черту к двоеточию (или любой другой пунктуации, очевидно), например так:

http\://www.foobar.com

Предлагаю использовать неразрывное пространство нулевой ширины.
В HTML может использоваться как ссылка на символы Unicode: &#xfeff; или же &#65279;

Преимущества:

  • предотвращает автоматические ссылки (очевидно)
  • невидимый
  • никаких неожиданных разрывов строки
  • читаемый в источнике

Примеры

Для URL вставьте между http и :
https​&#65279;://example.com/ → https://example.com/

Для писем вставьте после @:
user@&#65279;example.com → пользователь @example.com

Я предлагаю это просто более полный и верный на данный момент ответ.

Было сказано, что VSCode ведет себя иначе, чем Github. Кажется, что автоматическая обработка URL-адресов Github действует на www. префикс (возможно, другие триггеры), в то время как VSCode автоматически преобразует любой текст, разделенный точками / полной остановкой, который заканчивается суффиксом, который является зарегистрированным IANA TLD с кодом страны. VSCode не заполняет автоматически текст, начинающийся с www. как это делает Github. Сравните три изображения ниже и обратите внимание на размещение тегов и то, как каждая среда отображает текст.

Обратите внимание, что единственный механизм, который подавляет все автоматические отрисовки URL, - это (самый уродливый) размещение тега перед каждой точкой. Наверное, не имеет значения, что это за тег. 'span' может подойти во всех случаях. Я использую «nowiki», потому что это согласовано и здесь, и в MediaWiki, и, возможно, в других.

Однако, зная правила, кажется, что «ответ» на подавление автоматического отображения URL зависит от текста.

  • Если он начинается с www., Воспользуйтесь уродливым решением. Посмотрите последние две строки рендеринга Github и обратите внимание, что тег перед последней точкой будет подавлять рендеринг только для последней части текста.
  • Но если текст не начинается с «www.», Единственного тега перед последней точкой - это все, что требуется как для VSC, так и для GH.
  • Обе среды подчиняются правилам, оценивающим текст. В какой-то момент один или оба могут автоматически конвертировать .gov, .net, другие распространенные TLD и, в конечном итоге, любые допустимые ggTLD, такие как .online, .xyz или .aaa. Чтобы сохранить свой текст в будущем, рассмотрите возможность использования уродливого подхода для всего текста, подобного этому, когда текст не является кодом, который будет отображаться с обратными кавычками.
  • Фактический тег кажется неважным, независимо от того, <nowiki/>, <span/>, или <k>. Лично я рекомендую nowiki потому что это уже признанный тег именно для этой цели.
  • О &#Кодировка HTML, я попробовал рекомендации здесь, и текст не был обработан. Я не приводил здесь примеры, но не стесняйтесь заменять любой текстовый тег кодировкой символов, чтобы увидеть, как это работает для вас.

Редактор VSCode:

Предварительный просмотр VSCode:

Github Readme.md:

в моем случае
я использовал
# some&#46;thing
в заголовке, то я получаю заголовок без ссылки снаружи.

что-нибудь

и использовать
[some.thing](#something)
как ссылка.
"#something" взято из ссылки, предварительно просмотренной в Интернете.

Другие вопросы по тегам