How to make a category-list-like front page for a tag-oriented site?

We’re considering migrating a haphazardly-categorized site (using the categories we thought of on the first day, plus random new subcategories) to a heavily tag-focused design.

I’m afraid that this will alienate some of our users, and be too not-what-I’m-used-to for new ones (including people we’re hoping to entice from the mailing list world).

I like the “Category + Latest” front page view —

Is there a way to get something like this, but with a tag-oriented left panel?

6 Likes

@awesomerobot can probably comment on the viability of building a theme that does this.

5 Likes

I’ve got a work-in-progress theme component that adds a tag column: GitHub - discourse/discourse-categories-tag-column

(It is dependent on this pull request to Discourse being merged: DEV: add plugin-outlet for extra categories column by awesomerobot · Pull Request #15002 · discourse/discourse · GitHub)

I’m going to work on it some more, but it’s functional as-is, and adds a tag section like this by default:

You can configure the theme component’s settings to move things around and hide the categories to do something like this:

I’ll link to a new topic once it’s complete, but feel free to check it out in the meantime!

6 Likes

Cool! That mix of categories and tags might actually be perfect, because it would let us keep “getting started” and/or “announcement” categories visible.

It’d be nice if we could make the tag display at least as pretty as the category display, but that’s probably another topic. :slight_smile:

From a functional point of view, it’d be nice to show (and sort by?) tag activity in the past week or month rather than just total. (As the categories display does.)

2 Likes

Yeah tags are somewhat limited at the moment, categories get things like colors, images, descriptions… and none of that exists for tags quite yet. We’re in the process of adding descriptions to tags, so that’s one thing that could be used to make things fancier!

That would be nice! but I don’t have any data to work with on the front-end to do something like this… the theme component grabs tags from the /tags route, and all that’s available is the tag name and raw use count. These things could likely be done in a plugin, but I suspect it would add a decent amount of complexity.

2 Likes