# Building New Topic Lists

**URL:** https://meta.discourse.org/t/building-new-topic-lists/72772
**Category:** Development
**Created:** [October 25, 2017, 5:07pm UTC](https://meta.discourse.org/t/building-new-topic-lists/72772 "2017-10-25T17:07:31Z")
**Posts on this page:** 1
**Showing post:** 5

<div class="post-metadata">

### Author: ![joebuhlig](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/joebuhlig/32/193054_2.png) [@joebuhlig](https://meta.discourse.org/u/joebuhlig)
#### Post date: [October 25, 2017, 9:51pm UTC](https://meta.discourse.org/t/building-new-topic-lists/72772/5 "2017-10-25T21:51:11Z")

</div>

Take a look at the Hot Topics repo:

[https://github.com/danskdynamit/discourse-hot-topics](https://github.com/danskdynamit/discourse-hot-topics)

If I understand what you’re asking correctly, this plugin does a lot of what you’re talking about. It creates a new topic list that you add to the navigation bar in your site settings. Check out the Meta topic here for more on what it does:

> [@Discourse Hot Topics](https://meta.discourse.org/t/discourse-hot-topics/48215):
>
> information_source Discourse now features a /hot topic list in core that can be added to your top menu Repository: [GitHub - danskdynamit/discourse-hot-topics](https://github.com/danskdynamit/discourse-hot-topics) This plugin creates a “Hot” sorting criteria and builds a custom topic list based on the result of the following formula: likes / ((hours since creation + 2) ^ gravity) Things to note: The default gravity multiplier is 1.5 but you can adjust this in the settings for the plugin. You can add “hot” to the list of menu items to make i…

Ultimately, you just need to create new filters for the ListController to work with. If you want to redefine the handlebars template for it you can. But in most cases, this isn’t necessary as you can see in this plugin. It simply needed the I18n YAML and it was ready to go.

> [@nbianca](#):
>
> Adding new routes in Ember JS is not possible from a plugin, because Ember JS does not allow adding more rules at “run-time”.

Here’s an example from the [Static Pages plugin](https://meta.discourse.org/t/static-pages-plugin-dl-static-pages/69698).

```javascript
/my-plugin/assets/javascripts/discourse/my-plugin-route-map.js.es6

export default function(){
  this.route('dl-static-pages', {path: '/page'}, function(){
    this.route('page', {path: '/' }, function(){
      this.route('show', {path: '/:slug/:id'});
    });
  });
};

```

---

_[View the full topic](https://meta.discourse.org/t/building-new-topic-lists/72772)._
