Wikipedia oneboxing of articles containing unusual characters in the URL

If you link to Wikipedia by reference, then the link works.

Филиппов, Михаил Михайлович (учёный)

If I copy the address from the browser line:

Original address

https://ru.wikipedia.org/wiki/%D0%A4%D0%B8%D0%BB%D0%B8%D0%BF%D0%BF%D0%BE%D0%B2,_%D0%9C%D0%B8%D1%85%D0%B0%D0%B8%D0%BB_%D0%9C%D0%B8%D1%85%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D0%B8%D1%87_(%D1%83%D1%87%D1%91%D0%BD%D1%8B%D0%B9)

Perhaps the error is not common, but in the last 2 days, users noticed that some Wikipedia articles (Russians) are processed in a similar way.

Perhaps because there is a comma in the link?

2 лайка

Same issue with ASCII-only titles containing commas:

https://en.wikipedia.org/wiki/I,_Robot_(film)

3 лайка

Автоссылка по дизайну избегает определённых предельных случаев; в прошлый раз, когда я упоминал это @Vitaly, общей рекомендацией было использование <.......> для крайне сложных случаев, что позволяет обойти эту проблему. Однако это не работает с одним блоком.

Текущее решение — заменить , на %2c.

https://ru.wikipedia.org/wiki/%D0%A4%D0%B8%D0%BB%D0%B8%D0%BF%D0%BF%D0%BE%D0%B2%2c_%D0%9C%D0%B8%D1%85%D0%B0%D0%B8%D0%BB_%D0%9C%D0%B8%D1%85%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D0%B8%D1%87_(%D1%83%D1%87%D1%91%D0%BD%D1%8B%D0%B9)

2 лайка

Тоже странно, когда URL Википедии заканчивается восклицательным знаком.

https://en.wikipedia.org/wiki/Top_Secret!

Его тоже нужно URL-кодировать.

https://en.wikipedia.org/wiki/Top_Secret%21

1 лайк
  • Поскольку linkify-it использует эвристику, он никогда не может гарантировать 100% точность (даже 99,99% ≠ 100%) => требуется какой-то маркер (сейчас это <..>), чтобы явно задать границы ссылки.
  • Ваш onebox также требует маркера для включения/выключения.

Итак: у вас есть два независимых режима обработки => нужны 2 независимых маркера/флага для их определения.

В настоящее время у вас есть только один маркер для двух режимов. Это логическое столкновение. В моём проекте я решил проблему следующим образом:

  1. Разрешил применять конвертер ссылок к авто-ссылкам (<...> — эта разметка).
  2. Добавил флажок в опции редактора «отключить расширение ссылок» (для каждого поста).

Не идеально, но для меня приемлемо. Возможно, вы сможете придумать лучший способ добавить второй маркер/флаг для вашего случая.

3 лайка