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

: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 лайков

When (not if) I want to keep my frontpage as it is, how can I reach this intersection thing?

2 лайка

@Jagster as of FEATURE: add community link, make homepaging default OFF · merefield/discourse-tag-intersection-navigator@15e6e65 · GitHub

There’s now a setting for a Community Section Link.

The “Homepaging” is now default OFF:

thanks to @awesomerobot for helping out here and I’ll try to remember to refine the solution when his lovely PR goes in.

3 лайка

Ok, the path is /tags/intersection/everything/everything. Now I understand why I got 404 all the time.

Thanks.

One small beauty glitch, nothing serious.

Every of my users can that much English :winking_face_with_tongue:

BTW, I know mobiles aren’t supported, but it works just fine in mobiles. Only that is different is they can see Latest etc. menu, and most of mobile-users can show such four point menu. If there would be hot, top etc. then it would be crowded.

But I like this system. Nice.

2 лайка

Ha. I will localise. What a silly dropped ball. Thanks.

2 лайка

that’s done

1 лайк

What is the core limitation here forcing you to extend the backend? I thought we have native controller support for this.

On this route, core backend OOTB lacks support for:

  • zero or one tag
  • different filters (it’s all “Latest” otherwise)
1 лайк

There is now support for this route in Bars so you can add sidebars to your tags intersection (maybe home) page. :tada:

Thanks for sharing this plugin @merefield it is quite interesting and thought-provoking :smiley:

I found one little issue when the everything word is customized.

When the discourse_tag_intersection_navigator_all_word setting is customized to anything other than everything, the hardcoded intersectionRoute fails.

The easiest way to reproduce this issue is by changing these 2 settings, and then navigating to homepage:

  • discourse_tag_intersection_navigator_all_word: anything
  • discourse_tag_intersection_navigator_make_intersection_homepage: true

I propose a potential solution for your review:

4 лайка

That’s merged, thanks for the contribution!

3 лайка

It no longer does.

I’ve implemented Category filter integration:

:tada:

2 лайка

@merefield does it support negative tags like search does by chance?
(didn’t get to testing it yet)
-#foo -tags:bar or something

No, it does not.

Thanks for the reply
I’ll leave a feature request in issues
And a feature request for search field

(I don’t actually need them, they are just the logical conclusion of completely replacing search for general use)
(negative tags are the worst documented feature I know. For sure there are worse documented ones I have no idea about)

1 лайк

thanks.

Just to manage expectations - I don’t foresee this plugin expanding any in capability for the time being without funding or incoming PRs. It will be enough to provide any free maintenance

4 лайка

Also I would say we’d need to be careful adding too many bells and whistles as not to clutter or over-complicate the interface which atm is fairly intuitive and fills the available space on desktop quite nicely without being overbearing. Features such as those you mention would definitely need to be behind options but I respect some people might find them useful.

2 лайка

I can not select sub-category. It has a 404 error if sub-category selected.

2 лайка

Good catch. I’ll make a note that that’s not supported at this time. (Done: note in limitations in OP)

Thanks for your interest

1 лайк
3 лайка