Discourse FontAwesome Pro Plugin

:discourse2: Summary Discourse FontAwesome Pro allows the use of Font Awesome Pro icons in Discourse with a FontAwesome license by using your account’s NPM package token.
:hammer_and_wrench: Repository Link https://github.com/discourse/discourse-fontawesome-pro
:open_book: Install Guide How to install plugins in Discourse


This requires a few extra step to enable from a normal plugin:

First, you will need to set up an additional env var containing your font awesome pro license key: DISCOURSE_FONTAWESOME_AUTH_TOKEN

The install script also needs to be called during initialization, as an additional “after_code” hook. This downloads and adds the FontAwesome Pro SVGs on build using your auth token. This is an additional block separate from the plugin clone block.

Here is an example install in app.yml :

    - exec:
        cd: $home/plugins
          - git clone https://github.com/discourse/discourse-fontawesome-pro.git
    - exec:
        cd: $home/plugins/discourse-fontawesome-pro
        raise_on_fail: false
          - $home/plugins/discourse-fontawesome-pro/scripts/install.sh

Picking an override style:

In the admin settings there is now an option to override the default Discourse icons with your own style:

Screenshot from 2020-05-10 11-34-26


To take full control of duotone support, you will be looking to override the following CSS (in a theme, or otherwise) and replace it with your own color scheme:

svg .fa-secondary {
  opacity: 0.6;

To color individual icons reference the SVG’s ID:

#fad-search .fa-secondary {
  color: red;

Under the hood, this is using FontAwesome’s repository to install fonts to the plugin’s SVG folder, and lets Discourse pick up the sprites from there.

:discourse2: Hosted by us? This plugin is available on our Enterprise plans.


@featheredtoast I haven’t had a chance to check but does this downloads the most recent version of fontawesome pro, like 6.x?

There was a workaround mentioned here:

Does the latest version already support FA6 pro? @featheredtoast

I’m afraid it doesn’t as yet. I think this is still the case: