# Tag Intersection Navigator

**URL:** https://meta.discourse.org/t/tag-intersection-navigator/368815
**Category:** Plugin
**Created:** [June 4, 2025, 9:20am UTC](https://meta.discourse.org/t/tag-intersection-navigator/368815 "2025-06-04T09:20:40Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [June 4, 2025, 9:20am UTC](https://meta.discourse.org/t/tag-intersection-navigator/368815/1 "2025-06-04T09:20:40Z")

</div>

| | | |
| --- | --- | --- |
| ℹ | **Summary** | A Discourse plugin that extends the Tag Intersections interface to provide an improved experience for navigating combinations of tags |
| 🛠 | **Repository Link** | [https://github.com/merefield/discourse-tag-intersection-navigator](https://github.com/merefield/discourse-tag-intersection-navigator) |
| 📖 | **Install Guide** | [How to install plugins in Discourse](https://meta.discourse.org/t/install-plugins-in-discourse/19157) |
| ❤ | **Sponsorship** | Please consider becoming an ongoing [sponsor of my open source work](https://github.com/sponsors/merefield) at a level that suits your or your organisation’s resources and needs to ensure this plugin gets the maintenance it deserves and continues to work for your site in the future. |

Enjoying this plugin? Please ⭐ it on [GitHub](https://github.com/merefield/discourse-tag-intersection-navigator)! 🙏

 ![A string of pastel-colored tags is arranged diagonally, featuring colors yellow, light pink, and teal. (Captioned by AI)](https://global.discourse-cdn.com/meta/original/4X/d/2/f/d2f2faa5d90825dd293147de7d6e7fbbb6be5960.jpeg)

### Features

Enhances the existing Tag Intersections capability to:

- Allow it to be empty or used with just one tag
  - This makes for a more user friendly and flexible user experience, allowing you to drill in and out of combinations of tags

- Support for different filters instead of just Latest.
- Provide a way to make it the default on your desktop Homepage
- Supported by [Bars](https://meta.discourse.org/t/discourse-bars-a-sidebar-framework/298216)

### Important

⚠ you must _not_ use the word “everything” as a tag on your instance. ⚠

### Settings

There are just four settings:

- to enable the plugin
- determine which string is used to describe “everything” in the routing - I advise you don’t change this, but you can experiment with alternative options. You _must_ avoid using the same string as a tag
- to make the interface the Homepage for desktop (default OFF)
- include a community link in sidebar/header dropdown (default ON)

### Limitations/A Roadmap?

**Hire me or submit a PR to add the following:**

- ~~Like core intersections, does not yet work with a combo of Category - but this continues to fall back to the Category/Tag interface~~ ✅
- Sub-categories are not yet supported
- There are no Topic counts on the navigation tabs and their  
visibility/availability is presently not determined by availability of the corresponding topic list population count.
- Respect availability/ordering of filter settings.
- The interface is not offered on mobile due to lack of real-estate.

### Credits

Great thanks to its sponsor, @pensarfrentealtiempo 🙏

---

<div class="post-metadata">

### Author: ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)
#### Post date: [June 4, 2025, 10:40am UTC](https://meta.discourse.org/t/tag-intersection-navigator/368815/2 "2025-06-04T10:40:15Z")

</div>

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

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [June 4, 2025, 3:57pm UTC](https://meta.discourse.org/t/tag-intersection-navigator/368815/3 "2025-06-04T15:57:49Z")

</div>

@Jagster as of [FEATURE: add community link, make homepaging default OFF · merefield/discourse-tag-intersection-navigator@15e6e65 · GitHub](https://github.com/merefield/discourse-tag-intersection-navigator/commit/15e6e65ee9898cdb4503250b464b5f0ef8f37ae8)

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

The “Homepaging” is now default OFF:

[https://github.com/merefield/discourse-tag-intersection-navigator/commit/15e6e65ee9898cdb4503250b464b5f0ef8f37ae8](https://github.com/merefield/discourse-tag-intersection-navigator/commit/15e6e65ee9898cdb4503250b464b5f0ef8f37ae8)

[https://github.com/merefield/discourse-tag-intersection-navigator/commit/0f5c96cc3f757b3fbafabe40033d55716960f81f](https://github.com/merefield/discourse-tag-intersection-navigator/commit/0f5c96cc3f757b3fbafabe40033d55716960f81f)

thanks to @awesomerobot for [helping out here](https://meta.discourse.org/t/is-it-possible-to-pass-params-to-the-api-that-creates-community-links/368857/5) and I’ll try to remember to refine the solution when his lovely [PR](https://github.com/discourse/discourse/pull/33070) goes in.

---

<div class="post-metadata">

### Author: ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)
#### Post date: [June 4, 2025, 5:23pm UTC](https://meta.discourse.org/t/tag-intersection-navigator/368815/4 "2025-06-04T17:23:23Z")

</div>

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.

 ![The image shows a webpage for discussing restaurant etiquette, with a focus on sections such as Latest, New, Unread, and Unseen. (Captioned by AI)](https://global.discourse-cdn.com/meta/original/4X/7/5/5/755ca228625aae65c6168e2bd7ad475c84c4c5f1.jpeg)

Every of my users can that much English 😜

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.

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [June 4, 2025, 6:01pm UTC](https://meta.discourse.org/t/tag-intersection-navigator/368815/5 "2025-06-04T18:01:24Z")

</div>

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

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [June 4, 2025, 6:34pm UTC](https://meta.discourse.org/t/tag-intersection-navigator/368815/6 "2025-06-04T18:34:17Z")

</div>

that’s done

[https://github.com/merefield/discourse-tag-intersection-navigator/commit/8030b638bc1cf02813daf449f79ec30d173756a8](https://github.com/merefield/discourse-tag-intersection-navigator/commit/8030b638bc1cf02813daf449f79ec30d173756a8)

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [June 4, 2025, 11:49pm UTC](https://meta.discourse.org/t/tag-intersection-navigator/368815/7 "2025-06-04T23:49:27Z")

</div>

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

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [June 5, 2025, 6:50am UTC](https://meta.discourse.org/t/tag-intersection-navigator/368815/8 "2025-06-05T06:50:56Z")

</div>

On this route, core backend OOTB lacks support for:

- zero or one tag
- different filters (it’s all “Latest” otherwise)

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [June 9, 2025, 7:18am UTC](https://meta.discourse.org/t/tag-intersection-navigator/368815/9 "2025-06-09T07:18:10Z")

</div>

There is now support for this route in [Bars](https://meta.discourse.org/t/discourse-bars-a-sidebar-framework/298216) so you can add sidebars to your tags intersection (maybe home) page. 🎉

---

<div class="post-metadata">

### Author: ![gormus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gormus/32/428592_2.png) [@gormus](https://meta.discourse.org/u/gormus)
#### Post date: [June 9, 2025, 8:57am UTC](https://meta.discourse.org/t/tag-intersection-navigator/368815/10 "2025-06-09T08:57:58Z")

</div>

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

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:  
[https://github.com/merefield/discourse-tag-intersection-navigator/pull/1](https://github.com/merefield/discourse-tag-intersection-navigator/pull/1)

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [June 9, 2025, 9:30am UTC](https://meta.discourse.org/t/tag-intersection-navigator/368815/11 "2025-06-09T09:30:11Z")

</div>

That’s merged, thanks for the contribution!

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [June 9, 2025, 10:55am UTC](https://meta.discourse.org/t/tag-intersection-navigator/368815/12 "2025-06-09T10:55:34Z")

</div>

> [@merefield](#):
>
> Like core intersections, does not yet work with a combo of Category - but this continues to fall back to the Category/Tag interface

It no longer does.

I’ve implemented Category filter integration:

[https://github.com/merefield/discourse-tag-intersection-navigator/pull/3](https://github.com/merefield/discourse-tag-intersection-navigator/pull/3)

🎉

---

<div class="post-metadata">

### Author: ![Dimava](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dimava/32/498540_2.png) [@Dimava](https://meta.discourse.org/u/Dimava)
#### Post date: [June 15, 2025, 1:16pm UTC](https://meta.discourse.org/t/tag-intersection-navigator/368815/13 "2025-06-15T13:16:20Z")

</div>

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

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [June 15, 2025, 1:17pm UTC](https://meta.discourse.org/t/tag-intersection-navigator/368815/14 "2025-06-15T13:17:27Z")

</div>

No, it does not.

---

<div class="post-metadata">

### Author: ![Dimava](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dimava/32/498540_2.png) [@Dimava](https://meta.discourse.org/u/Dimava)
#### Post date: [June 15, 2025, 1:24pm UTC](https://meta.discourse.org/t/tag-intersection-navigator/368815/15 "2025-06-15T13:24:00Z")

</div>

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)

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [June 15, 2025, 1:28pm UTC](https://meta.discourse.org/t/tag-intersection-navigator/368815/16 "2025-06-15T13:28:14Z")

</div>

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

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [June 15, 2025, 1:34pm UTC](https://meta.discourse.org/t/tag-intersection-navigator/368815/17 "2025-06-15T13:34:50Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![cmdntd](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cmdntd/32/192008_2.png) [@cmdntd](https://meta.discourse.org/u/cmdntd)
#### Post date: [June 27, 2025, 8:19am UTC](https://meta.discourse.org/t/tag-intersection-navigator/368815/18 "2025-06-27T08:19:19Z")

</div>

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

 ![Hình ảnh chụp màn hình giao diện trang web với các thanh tiêu mục như 'Health Care', 'subcategories', 'vi, glossary' và các tùy chọn như 'Latest', 'Top', 'Hot', cùng với một mũi tên đỏ chỉ vào một khu vực trên màn hình. (Captioned by AI)](https://global.discourse-cdn.com/meta/original/4X/a/3/a/a3a87c8f5a71b5d8ba90258b7b25c36d18838240.png)

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [June 27, 2025, 8:21am UTC](https://meta.discourse.org/t/tag-intersection-navigator/368815/19 "2025-06-27T08:21:59Z")

</div>

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

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [June 29, 2025, 11:40am UTC](https://meta.discourse.org/t/tag-intersection-navigator/368815/20 "2025-06-29T11:40:10Z")

</div>

[https://github.com/merefield/discourse-tag-intersection-navigator/pull/6](https://github.com/merefield/discourse-tag-intersection-navigator/pull/6)

[Next page](https://meta.discourse.org/t/tag-intersection-navigator/368815.md?page=2)
