Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Gist intended to onboarding new developers for the AHWAA project powered by Discourse



Development Rules


We are going to be using SCSS for the styling conserving a kind of BEM like approach whenever is possible, besides, we will make styles for layouts and components in desktop that will look decent on mobile and on top of that we will declare mobile files to address special styles that will edit the discourse built-in ones.

Development Information

Useful links

Links for getting started with a Discourse project.


Some public examples that can be used in order to see how people structure its code or tackle some common issues.

GitHub - Mittineague/discourse-plugin-outlet-locations



Some useful data that is good to have present while develop.

  1. Every plugin folder should have its plugin.rb file so it would work as expected. Plugin Outlets are a way to inject new markup components to the already created UI of Discourse and they are used through connectors. Check: Beginner’s Guide to Creating Discourse Plugins Part 2: Plugin Outlets - developers - Discourse Meta
  2. Variables on settings for a plugin should begin with the same prefix. For example: {{siteSettings.awesomeness_enabled}} or {{siteSettings.awesomeness_volume}}

Additional Doubts:

Things that I need to clarify along with its answers:

  1. Any suggested approach to locale things like category-bar connector?
    1. Use Discourse localization Arabic and English
  2. What are we using for grid system?
    1. There is no grid system currently in use, check approach of Discourse which is a sort of broken Bootstrap we will introduce some files from Bootstrap mainly the grid system
  3. Where I can find information about register_asset command on plugin.rb files, I want to know about the :desktop option and other available.
    1. Discourse documentation should have something for it, keep in mind that desktop and mobile are separated css so that is why the :desktop is used
  4. What about tests? I do not see them, are we going to use QUnit? Or something similar as the GitHub - Mittineague/discourse-plugin-outlet-locations
    1. Let’s focus on what is structure of the UI and simple frontend, however, if we ending up by doing something with too much logic let's give a try
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment