Опрос по интересам к функции: «go» permalinks

Хотим узнать, насколько эта функция была бы полезна:

Специальный тип постоянных ссылок, которые работают из постов и тем внутри Discourse и требуют специального префикса для корректной маршрутизации (например, /go/). (Текущие записи постоянных ссылок работают только для запросов, которые сначала попадают в Rails (загрузка новых страниц + открытие в новой вкладке).)

Эти постоянные ссылки могли бы редактироваться модераторами (меньше риска, так как URL имеют ограниченную область действия).

Пример использования: удобные для написания URL-адреса для общих ресурсов сообщества. Например, мы могли бы назначить каждой теме howto одно или два ключевых слова или создать /go/install для стандартной установки.

Проводим опрос, так как у меня часто появляются большие идеи, которые никому не нужны :wink:

16 лайков

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

2 лайка

Мне нравится идея постоянных ссылок, которые работают внутри сайта. Если мы сможем найти префикс, который не является английским словом, это будет ещё лучше. Мы постепенно отказываемся от этого. /groups :arrow_right: /g, /users :arrow_right: /u и т.д.

4 лайка

/l/ (для ссылки) вроде бы имеет смысл, но писать его довольно неудобно, даже если мы допускаем использование I в URL.

Кроме того, есть уже существующие решения: https://www.golinks.io/

… может быть, мы могли бы использовать /o/links :joy: … подождите, мне это на самом деле нравится…

4 лайка

Почему только внутренние ссылки? Как объяснить, что discourse.example.org/go/there, в отличие от всех остальных гиперссылок в мире, не работает при клике вне этого конкретного экземпляра Discourse? :thinking:

1 лайк

Внешний URL уже является опцией:

О, подождите, вы имели в виду, почему акцент делается на «постоянных ссылках, работающих из сообщений и тем внутри Discourse»? Потому что постоянные ссылки уже работают при полной загрузке страницы. Единственное, что мешает форумам внедрить это сегодня, — это роутер Ember, достаточно просто создать тему с тегом howto.

1 лайк

Мне просто кажется запутанным наличие двух наборов «постоянных ссылок» с совершенно разными правилами? Один набор работает только внутри, а другой — только снаружи? :crazy_face:

4 лайка

“Один работает только извне” — это то, что у нас есть сейчас. Я предлагал категорию, которая работала бы и для внутренних, и для внешних переходов. Ссылка discourse.example.org/o/there должна полностью работать при клике извне (если только форум не требует обязательного входа), и она уже работает сегодня для внешних кликов, если её правильно настроить!

Единственная причина для специального префикса — чтобы корректно взаимодействовать с JS-приложением.

7 лайков

Хотя я понимаю, почему это так, меня всегда сильно путало то, что «пермалинки работают только извне». Вы получаете ссылку, и она выдаёт 404, но если обновить страницу — всё работает. Казалось бы, Rails мог бы выполнить такую проверку, прежде чем сдаваться.

Текущее состояние также означает, что в импортере приходится иметь дело с пермалинками дважды: один раз для внешних ссылок и снова для переписывания ссылок в постах.

4 лайка

Я думаю, мы можем сделать существующие постоянные ссылки на стороне сервера совместимыми с нашим приложением Ember.js.

https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/routes/unknown.js.es6#L4-L8

В настоящее время в маршруте «unknown» мы безоговорочно отображаем HTML-страницу 404. Вместо этого мы можем получить соответствующую постоянную ссылку для текущего пути и перенаправить страницу, если она найдена.

11 лайков

Я думаю, что расширение работы постоянных ссылок на внутреннюю часть было бы отличным проектом. @riking, возможно, как только ты закончишь свою текущую работу, сможешь взяться за это как за своё следующее большое дело?

15 лайков