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:
50 « J'aime »

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 « J'aime »

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

1 « J'aime »

Thank you. I love it. :grin:

3 « J'aime »

Thanks :heart: I really love it.

Je viens de découvrir que ce composant ne fonctionne pas pour les pages /pub/ (publiées). Les polices ne se chargent pas sur ces pages, ce qui entraîne une police par défaut semblable à Times New Roman.

1 « J'aime »

Je vois également les polices par défaut, mais sur la page d’activation de compte https://yoursite.org/u/activate-account/...

J’ai essayé et il s’agit bien d’un problème.

La page publiée essaie de charger la police Google via le composant de thème :

image

Le fichier de police n’étant pas chargé sur la page publiée, il ne se rabat pas sur la variable font-family Arial, sans-serif et utilise Times New Roman à la place.

Il y a peut-être une marge d’amélioration ici tant que les pages publiées peuvent accéder aux modifications requises.

1 « J'aime »

Pour être honnête, depuis cette découverte, je définis mes polices dans du CSS personnalisé. Ça fonctionne très bien.

2 « J'aime »

C’est génial, merci à vous et à votre équipe d’avoir développé une fonctionnalité aussi pratique ^^. Je la recommanderai aux personnes que je connais qui utilisent Discourse pour créer des communautés d’utilisateurs.

Rapport de bug rapide : je viens de remarquer que lorsque je définis l’épaisseur de la police, le texte en gras n’apparaît pas en gras.

J’ai testé cela avec les polices Work Sans et Zilla Slab. J’ai changé l’épaisseur de la police par défaut (400) à 300. Lorsque j’ai fait cela, le texte en gras n’est pas apparu en gras. J’ai réinitialisé ce paramètre et le texte en gras est réapparu.

Je l’ai réglé sur 400 et j’ai arrêté là, mais je voulais vous en informer.

Merci pour votre travail sur ce projet !

Y a-t-il un moyen d’entrer un peu plus dans les détails ? La police « Headline » apparaît par défaut avec un poids de 900 pour les en-têtes dans les sujets. Ce serait formidable de pouvoir définir les valeurs par défaut pour chacun de ces objets Markdown.

1 « J'aime »

Il semble y avoir un bug avec cela, du moins sur mon forum, si j’ajoute la police “Inter” avec ce composant, voici ce qui se passe :

  • Commencez à modifier ou à composer un message
  • Basculez vers une autre application pendant que le compositeur est ouvert
  • Revenez, et le zoom est complètement faux, comme s’il était trop zoomé
  • Il y aura également des bugs avec le chat et le défilement maintenant

Je ne sais pas si cela se produit avec d’autres polices, mais cela se produit 100 % du temps si j’ajoute ce composant à n’importe quel thème.

Est-ce un bug connu ? Existe-t-il un correctif ?

Merci

2 « J'aime »

Nous avons déjà Inter intégré si vous souhaitez modifier la Police de base et la Police de titre dans les paramètres du site sous l’administration, aucun composant n’est nécessaire.

2 « J'aime »

Quelle version de Discourse ? Je suis sur la version stable 3.3 et je ne vois pas Inter. J’ai les mêmes problèmes que certains utilisateurs ici avec ce composant.

Je suis sur la version 3.3 et je veux utiliser Inter. Bien que la police se charge, le texte en GRAS n’est pas en gras.

Vous devrez mettre à jour vers la version 3.4 pour l’option Inter intégrée.

2 « J'aime »

J’ai vient de fusionner un refactoring de ce composant qui s’aligne mieux avec les mises à jour de Google Fonts — cela devrait résoudre certains problèmes que les utilisateurs rencontraient avec l’apparition de différentes graisses.

Notez que le formatage du paramètre a légèrement changé, de sorte que les graisses ne peuvent plus être incluses dans le paramètre du nom de la police comme Roboto:300,300i,500, et cela devrait être mis à jour en un simple Roboto… mais cela devrait migrer automatiquement lors de la mise à jour.

2 « J'aime »