# Относительные ссылки, введенные в инструмент «Ссылка» при редактировании, не работают в итоговом отображении поста

**URL:** <https://meta.discourse.org/t/relative-links-input-into-the-link-tool-during-editing-dont-work-in-final-post-display/307311>\
**Category:** Bug\
**Created:** [08.Май.2024 20:10:53 UTC](https://meta.discourse.org/t/relative-links-input-into-the-link-tool-during-editing-dont-work-in-final-post-display/307311 "2024-05-08T20:10:53Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![craigconstantine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/craigconstantine/32/511195_2.png) [@craigconstantine](https://meta.discourse.org/u/craigconstantine)\
**Post date:** [08.Май.2024 20:10:53 UTC](https://meta.discourse.org/t/relative-links-input-into-the-link-tool-during-editing-dont-work-in-final-post-display/307311/1 "2024-05-08T20:10:53Z")

</div>

**воспроизвести с**

Отредактируйте пост и воспользуйтесь инструментом вставки ссылок. Вставьте относительный URL, например `/g/moderators` — это корректно для любой установки Discourse.

Инструмент вставки ссылок генерирует Markdown для ссылки, но разворачивает относительный URL, добавляя «https://» в начало.

Опубликуйте пост и обнаружьте, что итоговая, сгенерированная ссылка, отображаемая в посте, на самом деле не является кликабельной.

Просто как здесь — эта ссылка сломана.

`*печальный тромбон*`

**подождите, что? `scheme:///path`?**

Мои знания о BNR (вероятно, имеется в виду RFC) притупились, но, насколько я помню, [RFC 1808](https://datatracker.ietf.org/doc/html/rfc1808#section-2.2) гласит, что схема без авторитета и с путем является корректной. То есть `https:///g/moderators` — это абсолютно легитимно. Несколько онлайн-парсеров URL, которые я проверил, согласны. Поэтому я считаю, что (хотя такие URL выглядят довольно странно) они вполне допустимы как значение атрибута HREF в теге A.

Таким образом, инструмент вставки ссылок в редакторе технически не ломает URL. Ошибка находится на этапе обработки/рендеринга/или как там это называется.

**обходной путь, конечно, предельно прост**

В переписке с сотрудниками сказано: «Так оно и работает».

Просто пишите Markdown самостоятельно и используйте относительный URL.

Или заметьте, что инструмент вставки ссылок лезет не в своё дело, и удалите `https://` вручную прямо в редакторе поста, оставив тот относительный URL, который вы ввели.

…но быстрее скопировать какой-нибудь URL через cmd|ctrl-c, ввести текст, выделить слова с помощью opt-shift-arrow, нажать cmd-k, cmd-v, enter, и всё готово.

**исправление**

Я думаю, это следует исправить следующим образом (от лучшего к худшему)…

1. Не автодополнять относительные URL в инструменте вставки ссылок (то есть исправить сам инструмент).
2. Если вы настаиваете на том, чтобы инструмент вставки ссылок переписывал URL, добавляя схему (что не имеет смысла, так как браузеры всё равно использовали бы ту же схему, если URL относительный), то сделайте так, чтобы такие странные, но корректные URL вида `scheme:///path` правильно обрабатывались (правильно ли использовать глагол «обрабатывать»?) при финальном рендеринге в HTML, чтобы ссылка работала (исправить финальную обработку/рендеринг).
3. Нет? Хорошо, тогда пусть инструмент вставки ссылок автодополняет URL полным `scheme://authority`, когда видит относительный URL (это, вероятно, изменение, которое будет наиболее понятно широкой аудитории: огромное количество _пользователей_ Discourse, которые не будут вставлять относительные пути, против, вероятно, более технически подкованного персонала форума, _администраторов_ и _модераторов_, которых значительно меньше, но которые поймут, что произошло, когда это случится с ними).
4. Серьёзно? Тогда запретите вставлять относительные URL в инструмент вставки ссылок (но это просто жестоко и заставляет людей ломать привычку использовать `cmd|ctl—k`).
5. Добавить это в список сломанных вещей, которые не являются приоритетными 😉

---

_[View the full topic](https://meta.discourse.org/t/relative-links-input-into-the-link-tool-during-editing-dont-work-in-final-post-display/307311)._
