Discourse index

OK… after quite a lot of interesting reads…

I’m building a base Rails 5 API (postgres) with no sprockets/turbolinks/action cable, using webpack to build/load es6 js files and scss css files. And the framework will be Vue.js. There will probably be no css framework, and unless you are against it I will use flexbox.

I’ve decided webpack over rollup quite a bit arbitrary, but I’ve found a lot more documentation on webpack than on rollup.

Once I’ve finished the skeleton, I will submit it for review.

> #NameDroppingLikeAFrontendRockstar


@erlend_sh I need you on how we rate sites:

  • arbitrary (discourse staff defines the sites featured on the home) and categories lists sites alphabetically
  • people can vote for sites (+/-) or only (+)
  • something else?

Other questions:

  • we probably need a system to avoid spamming/against law submissions, any idea on this?
  • do you have a list of categories for the sites please?
1 Like

This one, at least for starters.

Maybe we could hook the submission process up with user API keys?

  • Site admin enters directory.discourse.org/submit
  • Site admin opts in to the directory via the user API
  • The new site enters our queue for review.

That way, as far as I can tell, the only way to spam our queue would be to generate a great number of Discourse instances, which is…, not very cost efficient spamming.

Right. About that, what do you think about a more tag-like system? I often find myself limited by a single category. Take http://forum.gethopscotch.com/ for instance. I think this community is equal parts “Online Education” and “Software Development”, so I’d like it to appear in both.

The tougher question then is how we should do featured listings. If it’s not too hard to do, I’d prefer to select featured items per tag and not globally, i.e. Hopscotch could be a featured community in “Online Education”, but a regular listing in “Software Development”.

Makes sense?

The taxonomy will certainly change over time, but here’s something to start with:

  • Games
  • Education
  • Makers
  • Growers
  • Software Development
  • Media Outlets
  • Products
  • Health

thx, 100% agreed on tags.

I will think about your answer and make a proposal.

Im about to finish my skeleton app.


Ok I feel like I have something decent:


Waiting for comments, do not hesitate, I want to learn. Also tell me if you have any issue starting the apps.
The skeleton is mostly focused on the js side of the App, the rails side is easier for me and shouldn’t have any surprise (active_model_serializer/rspec…) I will work on it later, once js is OK.

I tried to follow what you use on Discourse, but chose Karma as it’s recommended with webpack.

./cc @eviltrout @sam


It’s hard for me to just review a skeleton app like this. I think it probably makes sense to focus more on building out the features to the point where we can try it out.


Sure :wink: Working on it!


Any news on this Joffrey? I realised we never talked in-depth about UX & general layout. You’re free to design it to your fancy, but if you’d like some specifics I’d be happy to provide some mockups.

Im in mauritius island for one more week, and then I will resume work on this.

But yes anything you have on UX, features… is interesting for me.


@erlend_sh so what do you have ? :grimacing:

1 Like

It seemed more complicated in my head, but when I’m laying it out on the screen I don’t see much reason to make it more complex than this:

  1. Featured section with random picks from the Featured pile

  2. Secondary section showing either randomly selected sites or most recently updated (i.e. most recently pinged, not most recently added). That way if a site has gone down it’ll get pushed to the bottom.

It’d work basically the same if you drill into a tag like #games, except of course it’d only show sites tagged #games in both the Featured and regular section.

The horizontal tags menu might benefit from a drop-down to the far left, similar to Discourse’s category selector. Most popular tags could still be shown next to it.

Anything like what you imagined? Won’t mind doing some back-and-forth on this.



Im thinking that for a v1 we maybe dont need any front js stuff, just using rails and a basic config file (contains a list of sites with tags) you could edit on github, would be good enough, no?


the most annoying thing with this static file is that we will duplicate tags, and its kind of error prone.

how do we decide the list of tags shown at the top? we display all tags?

I’m thinking something like this:

Show top 3 used tags up front. Show all tags in tags drop-down.


ok I think I can start from it, my plane is tomorrow, so expect some work by monday.


Oh, one thing we forgot to discuss: Should sites have their own profiles? This was suggested in previous mockups:

It might come in handy, but I don’t see how it’s necessary for a v1. Agreed? I’d be happy to just have thumbnails linking straight to external sites for starters.


Keeping it simple for V1 is good!

1 Like

Just a note that we have officially deprecated the manual topic directory from 2013.

1 Like

I’m a little puzzled by the goal and target audience fo this project - and have been asking myself who’d be using such a directory:

  1. As a potential ‘external’ community member (let say, someone who’s interested in cats), I don’t care about the technology a site is running on. An index by a software provider would not be a natural starting point for me to find a place to join.
  2. As a Discourse site owner, I’d be interested in finding inspiration for site design, structure or technology (plugins?), and to learn about how the steps others take to increase community engagement. I would not search based on the type of community, but on technical and community management aspects.
  3. As the Discourse team, I might be interested in having strong showcase of my product. This is already covered on the customers page.

As this is a project by the Discourse team, I’m guessing the focus should be on helping their own community of site owners and customers, therefore focusing on site owners ? The examples so far seem to focus more on external community members though.