By default, Discourse bundles icons from the excellent FontAwesome library. But there are a lot of free-to-use icon libraries out there. This topic is the home of alternative icon sets. It lists some theme components that you can try now, but it also describes how you can contribute to have Discourse support other icon sets.
Alternative icon sets
If you are interested in trying out a different icon set, here is a list of theme components that you can try out:
- GitHub - discourse/discourse-feather-icons: Use Feather icons in Discourse
- GitHub - discourse/discourse-heroicons: Heroicons theme component for Discourse.
- GitHub - discourse/discourse-heroicons-outline
- GitHub - discourse/discourse-phosphor-duotone-icons: Use Phosphor Duotone icons in Discourse
- GitHub - discourse/discourse-unicons: Use Unicons in Discourse
- GitHub - discourse/discourse-material-design-icons-filled
- GitHub - discourse/discourse-material-design-icons-outlined
(See How to install a theme or theme component for help getting one of these repos in your Discourse site.)
These components are a work in progress. You can use them, but note that not every single icon from core will have an appropriate replacement. (Contributions are welcome, though, see below.)
Some screenshots:
Feather icons (using the WCAG Dark color scheme)
Heroicons (using the WCAG Light color scheme)
Unicons (using the Grey Amber color scheme)
Phosphor Duotone (using the WCAG Light color scheme)
Contributing
Theme developers and designers, this section is for you.
The components listed above are generated using the discourse-alt-icons utility repository, which streamlines replacing icons in Discourse core with icons from other open source icon sets. The heart of the repository is a build script that generates a theme component from a JSON file of icon name mappings.
Contributions are welcome and encouraged. Discourse uses many icons from FontAwesome and finding matches from other icon sets is a fun task, but it is time-consuming. If you want to help, you can pull the discourse-alt-icons and follow the steps in the readme to add matches for icons that don’t yet have them.
Supporting other icon sets
Please use the replies below to propose adding support for another icon set. Or, even better, with a little bit of work you can send a pull request to the discourse-alt-icons repository. Note, that only icon sets with very permissive licenses (i.e. must allow modification, distribution, private use) will be considered.
This document is version controlled - suggest changes on github.
Last edited by @JammyDodger 2024-06-09T20:31:54Z
Check document
Perform check on document: