This component allows you to set the main site font, and optionally separate fonts for headlines and monospaced text (code blocks). You can also choose a font weight in each case, and increase the font size.
Behind the scenes this sets up a little bit of CSS along with Google’s font <link>. Note that this is relying on Google to serve the font files from https://fonts.googleapis.com/.
Settings
Name
Description
fonts
Add the name of the font(s) you want to use from fonts.google.com. Note that font names are CaSe SeNsiTivE!
body font
The main font used throughout Discourse, must be included in “fonts” setting above
body font weight
Font thickness in the range of 100-900. 400 is normal, 700 is bold
headline font
Optional font for headlines, must be included in “fonts” setting above
headline font weight
Font thickness in the range of 100-900. 400 is normal, 700 is bold
monospaced font
Optional font for code blocks, must be included in “fonts” setting above.
monospaced font weight
Font thickness in the range of 100-900. 400 is normal, 700 is bold
normal font size
Default font size for all users, adjusting this will adjust all font sizes proportionately
smaller font size
Selectable in each user’s interface preferences
larger font size
Selectable in each user’s interface preferences
largest font size
Selectable in each user’s interface preferences
Hosted by us? Theme components are available to use on our Standard, Business, and Enterprise plans.
I just discovered that this component does not work for /pub/ (published) pages. The fonts are not loading on these pages resulting in a default Times New Roman alike font.
The published page tries to load the google font through the theme component:
The font file not being loaded on the published page, it doesn’t fall back to the font-family variable `Arial, sans-serif and uses Times New Roman instead.
There may be room for improvement here as long as the published pages can access the modifications required.
That’s awesome, thank you and your team for developing such a convenient feature ^^. I will recommend it to people I know who are using discourse to build user communities.
Quick bug report: I just noticed when I set the font weight then bold text doesn’t show up as bold.
I tested this with the fonts Work Sans and Zilla Slab. I changed the font weight from the default (400) to 300. When I did this bold text did not appear bold. Reset that setting and the bold text reappears.
I set it to 400 and called it a day, but wanted to let you know.
Any way to get into the nitty gritty a little more? The “Headline” font is coming up as 900 weight by default with Headers inside of Topics. Would be great to set the defaults for each of those Markdown objects.
I’ve just merged a refactor of this component that better aligns with Google Font updates — this should fix some issues people were having with different weights not appearing.
Note that the setting formatting changed slightly so that weights can no longer be included in the font name setting like Roboto:300,300i,500, and this would have to be updated to a simple Roboto… but it should migrate automatically on update.