Хотим узнать, насколько эта функция была бы полезна:
Специальный тип постоянных ссылок, которые работают из постов и тем внутри Discourse и требуют специального префикса для корректной маршрутизации (например, /go/). (Текущие записи постоянных ссылок работают только для запросов, которые сначала попадают в Rails (загрузка новых страниц + открытие в новой вкладке).)
Эти постоянные ссылки могли бы редактироваться модераторами (меньше риска, так как URL имеют ограниченную область действия).
Пример использования: удобные для написания URL-адреса для общих ресурсов сообщества. Например, мы могли бы назначить каждой теме howto одно или два ключевых слова или создать /go/install для стандартной установки.
Проводим опрос, так как у меня часто появляются большие идеи, которые никому не нужны
Мне нравится идея постоянных ссылок, которые работают внутри сайта. Если мы сможем найти префикс, который не является английским словом, это будет ещё лучше. Мы постепенно отказываемся от этого. /groups/g, /users/u и т.д.
Почему только внутренние ссылки? Как объяснить, что discourse.example.org/go/there, в отличие от всех остальных гиперссылок в мире, не работает при клике вне этого конкретного экземпляра Discourse?
О, подождите, вы имели в виду, почему акцент делается на «постоянных ссылках, работающих из сообщений и тем внутри Discourse»? Потому что постоянные ссылки уже работают при полной загрузке страницы. Единственное, что мешает форумам внедрить это сегодня, — это роутер Ember, достаточно просто создать тему с тегом howto.
Мне просто кажется запутанным наличие двух наборов «постоянных ссылок» с совершенно разными правилами? Один набор работает только внутри, а другой — только снаружи?
“Один работает только извне” — это то, что у нас есть сейчас. Я предлагал категорию, которая работала бы и для внутренних, и для внешних переходов. Ссылка discourse.example.org/o/there должна полностью работать при клике извне (если только форум не требует обязательного входа), и она уже работает сегодня для внешних кликов, если её правильно настроить!
Единственная причина для специального префикса — чтобы корректно взаимодействовать с JS-приложением.
Хотя я понимаю, почему это так, меня всегда сильно путало то, что «пермалинки работают только извне». Вы получаете ссылку, и она выдаёт 404, но если обновить страницу — всё работает. Казалось бы, Rails мог бы выполнить такую проверку, прежде чем сдаваться.
Текущее состояние также означает, что в импортере приходится иметь дело с пермалинками дважды: один раз для внешних ссылок и снова для переписывания ссылок в постах.
В настоящее время в маршруте «unknown» мы безоговорочно отображаем HTML-страницу 404. Вместо этого мы можем получить соответствующую постоянную ссылку для текущего пути и перенаправить страницу, если она найдена.
Я думаю, что расширение работы постоянных ссылок на внутреннюю часть было бы отличным проектом. @riking, возможно, как только ты закончишь свою текущую работу, сможешь взяться за это как за своё следующее большое дело?