Навигатор по пересечению тегов

:information_source: Краткое описание Плагин для Discourse, расширяющий интерфейс пересечений тегов для улучшения навигации по комбинациям тегов
:hammer_and_wrench: Ссылка на репозиторий https://github.com/merefield/discourse-tag-intersection-navigator
:open_book: Руководство по установке Как установить плагины в Discourse
:heart: Спонсорство Пожалуйста, рассмотрите возможность стать постоянным спонсором моей работы с открытым исходным кодом на уровне, соответствующем вашим возможностям и потребностям вашей организации, чтобы этот плагин получил необходимое обслуживание и продолжал работать на вашем сайте в будущем.

Вам нравится этот плагин? Пожалуйста, поставьте ему :star: на GitHub! :pray:

Возможности

Расширяет существующую функцию пересечений тегов, чтобы:

  • Разрешить её использование в пустом виде или только с одним тегом
    • Это делает взаимодействие более удобным и гибким, позволяя углубляться в комбинации тегов и выходить из них
  • Поддержка различных фильтров, а не только «Последние».
  • Предоставление возможности установить интерфейс по умолчанию на домашней странице для настольных компьютеров
  • Поддерживается Bars

Важно

:warning: Вы не должны использовать слово «всё» в качестве тега на вашем экземпляре. :warning:

Настройки

Всего четыре настройки:

  • включение плагина
  • определение строки, используемой для описания «всего» в маршрутизации — рекомендую не менять её, но вы можете поэкспериментировать с другими вариантами. Вы обязаны избегать использования той же строки в качестве тега
  • установка интерфейса в качестве домашней страницы для настольных компьютеров (по умолчанию выключено)
  • включение ссылки на сообщество в боковой панели/выпадающем меню заголовка (по умолчанию включено)

Ограничения/План развития?

Нанять меня или отправить PR для добавления следующего:

  • Как и в случае с основными пересечениями, пока не работает с комбинацией Категории — но это продолжает возвращаться к интерфейсу Категория/Тег :white_check_mark:
  • Подкатегории пока не поддерживаются
  • На вкладках навигации нет подсчёта тем, а их видимость/доступность в настоящее время не определяется наличием соответствующего количества тем в списке.
  • Уважение доступности/порядка настроек фильтра.
  • Интерфейс не предлагается для мобильных устройств из-за нехватки места.

Благодарности

Выражаю огромную благодарность спонсору, @pensarfrentealtiempo :folded_hands:

15 лайков

Когда (а не если) я захочу оставить свою главную страницу как есть, как мне добраться до этого элемента пересечения?

2 лайка

@Jagster начиная с FEATURE: add community link, make homepaging default OFF · merefield/discourse-tag-intersection-navigator@15e6e65 · GitHub

Теперь существует настройка для ссылки на раздел сообщества.

Функция «Домашняя страница» теперь по умолчанию отключена:

спасибо @awesomerobot за помощь здесь, и я постараюсь не забыть улучшить решение, когда его прекрасный PR будет принят.

3 лайка

Хорошо, путь — /tags/intersection/everything/everything. Теперь я понимаю, почему у меня постоянно возвращалась ошибка 404.

Спасибо.

Есть небольшая визуальная неполадка, ничего серьёзного.

Каждый из моих пользователей владеет английским на таком уровне :winking_face_with_tongue:

Кстати, я знаю, что мобильные устройства официально не поддерживаются, но всё работает отлично. Единственное отличие — они видят меню «Последние» и т. д., и большинство мобильных пользователей могут открыть такое четырёхточечное меню. Если бы там были разделы вроде «Горячее», «Топ» и т. п., интерфейс был бы перегружен.

Но мне нравится эта система. Отлично.

2 лайка

Ха. Я займусь локализацией. Какая глупая ошибка. Спасибо.

2 лайка

Это сделано

1 лайк

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

По этому маршруту базовая функциональность бэкенда «из коробки» не поддерживает:

  • отсутствие тегов или один тег
  • различные фильтры (в противном случае доступен только раздел «Последние»)
1 лайк

Теперь поддержка этого маршрута доступна в Bars, что позволяет добавлять боковые панели на страницу пересечения тегов (возможно, на главную страницу). :tada:

Спасибо за публикацию этого плагина, @merefield! Он действительно интересный и заставляет задуматься :smiley:

Я обнаружил небольшую проблему, когда слово everything кастомизируется.

Когда настройка discourse_tag_intersection_navigator_all_word изменена на что-то отличное от everything, жестко заданный intersectionRoute не работает.

Самый простой способ воспроизвести эту проблему — изменить следующие две настройки, а затем перейти на главную страницу:

  • discourse_tag_intersection_navigator_all_word: любое значение
  • discourse_tag_intersection_navigator_make_intersection_homepage: true

Предлагаю возможное решение для вашего рассмотрения:

4 лайка

Объединено, спасибо за вклад!

3 лайка

Это больше не так.

Я реализовал интеграцию фильтра Категории:

:tada:

2 лайка

@merefield случайно поддерживает ли это отрицательные теги, как поиск?
(пока не успел протестировать)
-#foo -tags:bar или что-то подобное

Нет, это не так.

Спасибо за ответ.
Я оставлю запрос на новую функцию в разделе issues.
И ещё один запрос на поле поиска.

(На самом деле они мне не нужны, это просто логическое следствие полной замены поиска для общего использования)
(Отрицательные теги — самая плохо документированная функция, о которой я знаю. Конечно, есть и ещё хуже документированные, о которых я даже не подозреваю).

1 лайк

Спасибо.

Просто чтобы сразу расставить акценты: я не вижу перспектив расширения функционала этого плагина в ближайшее время без финансирования или новых pull-запросов. На данный момент будет достаточно обеспечить его бесплатную поддержку.

4 лайка

Также я бы сказал, что нам нужно быть осторожными при добавлении слишком большого количества функций, чтобы не загромождать и не усложнять интерфейс, который на данный момент довольно интуитивен и хорошо заполняет доступное пространство на рабочем столе, не будучи навязчивым. Функции, подобные упомянутым вами, определенно должны быть скрыты за настройками, но я понимаю, что некоторые люди могут найти их полезными.

2 лайка

Я не могу выбрать подкатегорию. При выборе подкатегории возникает ошибка 404.

2 лайка

Хорошо подмечено. Я отмечу, что в данный момент это не поддерживается. (Готово: примечание в разделе ограничений в оригинальном посте)

Спасибо за ваш интерес.

1 лайк
3 лайка