Двойная ссылка URL при вставке поверх тегов bbcode `[url`

Продолжая обсуждение из Пожалуйста, не создавайте двойные ссылки на URL, если вы вставляете текст поверх URL в Markdown:

Вчера на моём сайте это было исправлено, но сегодня утром проблема вернулась: при вставке текста поверх существующего URL снова создаётся двойная ссылка.

Вы можете воспроизвести это в Meta? Интересно, нашли ли вы новый пограничный случай?

1 лайк

У меня была ссылка, которая начиналась так: “## [url= <ссылка> [/url]”

[## url=

Затем, когда я попытался скопировать и вставить ссылку, я получил вышеуказанный результат. Она полностью выносится за пределы кода [url= [/url].

Да, я только что сделал это здесь на Meta

1 лайк

О, это ссылки в формате BBCode. Мы не используем их так часто, поэтому не создавали для них эвристику.

Мы разберёмся с этим. Может быть, @gwwar сможет отправить pull request?

Есть ли причина, по которой вы предпочитаете ссылки в формате BBCode вместо Markdown? Это просто привычка?

Да, это привычка, накопленная за более чем 10 лет. Я пытался изменить это, но мои пальцы не слушаются.

1 лайк

Конечно, я посмотрю, можно ли найти хорошее решение этой проблемы.

1 лайк

Давайте посмотрим. Для собственного удобства отмечу, что BB-теги url и email работают следующим образом. Они также могут поддерживать магические ссылки, где не нужно указывать протокол URI.

[url=][/url]
[url=https://www.phpbb.com/]Посетите phpBB![/url]
[url]https://www.phpbb.com/[/url]
[email]example@example[/email]

https://www.phpbb.com/community/help/bbcode

С точки зрения поведения, я считаю разумным проверять, содержит ли выделенный текст BB-тег email или url. В зависимости от того, с чем столкнутся пользователи, мы также можем расширить проверку, чтобы по умолчанию использовалось стандартное поведение при вставке, если будут обнаружены любые BB-теги.

3 лайка

Я добавил PR здесь. Дайте знать, если это не тот случай, о котором думали участники.

4 лайка

Извините, что поднимаю этот вопрос снова, но есть ли какие-то сроки, когда это будет исправлено? Я понимаю, что иногда требуется несколько дней, но проблема всё ещё сохраняется по состоянию на это утро.

PR был одобрен, но для слияния требуется участник команды Discourse. @eviltrout, мы ждём ли ещё какой-либо обратной связи?

@Slowhand, могу я просто уточнить: какую часть тега [url вы выделяете перед вставкой? Если я правильно понимаю, то PR от @gwwar, кажется, охватывает только вариант 1 ниже. Это исправит проблему для вас?


Вариант 1:

Это предложение с [url=discourse.org]Ссылка[/url]

Вариант 2:

Это предложение с [url=discourse.org]Ссылка[/url]

Вариант 3:

Это предложение с [url=discourse.org]Ссылка[/url]

Второй вариант — тот, с которым у меня возникают трудности.

Можете привести пример начальной точки? С вариантом 2, точно таким, как я написал выше, у меня всё работает отлично, даже без нового PR.

discourse.org определяется как существующий URL, поэтому расширенное поведение при вставке пропускается :thinking:

Для варианта 2 у нас есть ссылки на ежедневные предложения с аниме-сайта, поэтому я обычно просто копирую и вставляю ссылки за предыдущий день в новый пост, а затем меняю их, что экономит мне время на набор всего этого кода.

Пример: сегодня утром я скопировал вчерашние предложения

и вставил ссылки на сегодняшние предложения

из-за чего произошло следующее:
image

Если я выбираю это

[url=https://www.rightstufanime.com/Some-Link]Текст[/url]

а затем вставляю

https://www.rightstufanime.com/Deca-Dence-Blu-ray
у меня получается:
[url=https://www.rightstufanime.com/Deca-Dence-Blu-ray]Текст[/url]

Не могли бы вы проверить, сможете ли вы воспроизвести здесь на Meta ту же проблему, которую вы наблюдаете? (обратите внимание, что теги [url здесь действительно не отображаются, но вы всё равно можете попробовать поведение редактора).

Исходя из вашего последнего скриншота, возможно, вы выделяете всю строку, включая маркер списка и обёртку [url=blah]test[/url]? (то есть почти так же, как «Вариант 1» выше)?

Я не могу воспроизвести такое поведение здесь, в Meta.

Я не думаю, что выделяю всю строку, потому что не хочу заново вводить весь код. Возможно, иногда я случайно выделяю всё целиком, но в последнее время я был очень осторожен из-за этой проблемы.

Но позвольте мне задать вам вопрос: если я ВСЁ ЖЕ выделяю всё целиком, является ли это правильным поведением? Вместо того чтобы просто вставить то, что я копирую, система добавляет это в конец и оставляет то, что я изначально выделил?

Ещё раз извините за то, что я не очень разбираюсь в технологиях — это немного выше моего уровня.
Если мне действительно нужно изменить способ, которым я это делаю, я готов это сделать.

1 лайк

О, это очень интересно! Просто для подтверждения, не могли бы вы ещё раз воспроизвести проблему на своём собственном форуме? Если есть различия, пожалуйста, дайте нам знать, чтобы мы могли разобраться в причинах.

Я бы сказал «нет», это не правильное поведение. Мы обязательно должны это исправить, и PR от @gwwar решает эту задачу. Я просто хотел точно понять, какой здесь сценарий использования, чтобы убедиться, что мы учли все аспекты.

Я сейчас приму этот PR, поэтому он должен быть развёрнут на вашем сайте в ближайшие несколько дней, @Slowhand.

Спасибо за терпение и ответы на все мои вопросы! :sweat_smile:

Нет, то же самое.

Огромное спасибо за всю вашу помощь!

1 лайк

Обратите внимание, что вариант 2, в теории, должен обрабатываться в рамках

Если пользователи всё же столкнутся с трудностями в дополнительных частных случаях, возможно, имеет смысл добавить настройку сайта или пользователя для переключения этого поведения.

3 лайка

Эта тема была автоматически закрыта через 10 дней. Новые ответы больше не принимаются.