Google Fonts

:discourse2: Summary Google Fonts is a simple theme component that allows you to add a font from Google Fonts without writing any CSS.
:eyeglasses: Preview Preview on Discourse Theme Creator
:hammer_and_wrench: Repository Link https://github.com/discourse/discourse-google-font-component
:open_book: New to Discourse Themes? Beginner’s guide to using Discourse Themes

Install this theme component

Features

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

:discourse2: Hosted by us? Theme components are available to use on our Standard, Business, and Enterprise plans.

Last edited by @awesomerobot 2025-03-14T15:46:34Z

Check documentPerform check on document:
49 Mi Piace

This Fantastic! Can this be installed Multiple Times to link to different themes by changing it’s Name in Advanced install?

I don’t see why not. We’ve installed the same theme twice, for example here on Meta to have both a light and dark version.

3 Mi Piace

Thanks. Forgot you can rename it to identify/link it to other themes.

1 Mi Piace

Thank you. I love it. :grin:

3 Mi Piace

Thanks :heart: I really love it.

Ho appena scoperto che questo componente non funziona per le pagine /pub/ (pubblicate). I font non vengono caricati su queste pagine, con il risultato di un font predefinito simile a Times New Roman.

1 Mi Piace

Vedo anche i font predefiniti, ma sulla pagina https://yoursite.org/u/activate-account/... di attivazione dell’account

Ho provato e questo è effettivamente un problema.

La pagina pubblicata tenta di caricare il font di Google tramite il componente del tema:

image

Il file del font non viene caricato sulla pagina pubblicata, quindi non ripiega sulla variabile font-family Arial, sans-serif e utilizza invece Times New Roman.

Potrebbe esserci spazio per miglioramenti, a condizione che le pagine pubblicate possano accedere alle modifiche richieste.

1 Mi Piace

Ad essere sinceri, da quando ho fatto questa scoperta, definisco i miei font in CSS personalizzato. Funziona benissimo.

2 Mi Piace

È fantastico, grazie a te e al tuo team per aver sviluppato una funzionalità così comoda ^^. La consiglierò a persone che conosco che usano Discourse per creare community di utenti.

Segnalazione bug rapida: ho appena notato che quando imposto il peso del carattere, il testo in grassetto non viene visualizzato come grassetto.

Ho testato questo con i font Work Sans e Zilla Slab. Ho cambiato il peso del carattere dall’impostazione predefinita (400) a 300. Quando l’ho fatto, il testo in grassetto non è apparso in grassetto. Ho ripristinato quell’impostazione e il testo in grassetto è riapparso.

L’ho impostato su 400 e ho chiuso la faccenda, ma volevo farvelo sapere.

Grazie per il vostro lavoro su questo!

C’è un modo per entrare un po’ più nel dettaglio? Il font “Headline” viene visualizzato con un peso di 900 per impostazione predefinita con gli Header all’interno degli Argomenti. Sarebbe fantastico poter impostare i valori predefiniti per ciascuno di questi oggetti Markdown.

1 Mi Piace

Sembra esserci un bug con questo, almeno sul mio forum, se aggiungo il font “Inter” con questo componente succede quanto segue:

  • Inizia a modificare o comporre un messaggio
  • Passa ad altre app mentre la finestra di composizione è aperta
  • Torna indietro e lo zoom è completamente sbagliato, come se fosse troppo ingrandito
  • Ci saranno anche bug con la chat e con lo scorrimento ora

Non sono sicuro se succede con altri font, ma succede il 100% delle volte se aggiungo questo componente a qualsiasi tema.

È un bug noto? C’è una soluzione?

Grazie

2 Mi Piace

Abbiamo Inter già integrato se vuoi cambiare il Carattere di base e il Carattere dei titoli nelle impostazioni del sito sotto amministrazione, nessun componente necessario

2 Mi Piace

Qual versione di Discourse? Sono sulla 3.3 stabile e non vedo Inter. Ho gli stessi problemi di alcuni utenti qui con questo componente.

Sono sulla 3.3 e voglio usare Inter. Mentre il font viene caricato, il testo in GRASSETTO non è in grassetto.

Dovrai aggiornare alla versione 3.4 per l’opzione Inter integrata

2 Mi Piace

Ho appena unito un refactor di questo componente che si allinea meglio con gli aggiornamenti di Google Font: questo dovrebbe risolvere alcuni problemi che le persone riscontravano con pesi diversi che non apparivano.

Nota che la formattazione dell’impostazione è cambiata leggermente in modo che i pesi non possano più essere inclusi nell’impostazione del nome del font come Roboto:300,300i,500, e questo dovrebbe essere aggiornato a un semplice Roboto… ma dovrebbe migrare automaticamente all’aggiornamento.

1 Mi Piace