Créer et partager un composant de thème de police

Discourse prend en charge l’importation de thèmes contenant des ressources à partir d’un dépôt distant.

Cela permet aux auteurs de thèmes de partager des polices et des images.

Créer un nouveau dépôt git avec la police

mkdir discourse-roboto-theme
cd discourse-roboto-theme
git init .
vim about.json

Pour about.json, ajoutez un fichier de configuration squelette

{
  "name": "Composant de thème Roboto",
  "about_url": "",
  "license_url": "",
  "assets": {
    "roboto": "assets/roboto.woff2"
  }
}

Ajoutez un fichier LICENSE, j’utilise habituellement le MIT

vim LICENSE

Télécharger la police

http://localfont.com/ est un site pratique pour obtenir des polices

mkdir assets
cp ~/Downloads/roboto.woff2 roboto.woff2

Ajouter du CSS qui utilise le thème

mkdir common
cd common

Créez un fichier nommé common.scss avec

@font-face {
  font-family: Roboto;
  src: url($roboto) format("woff2");
}

body {
  font-family: Roboto;
}

Pousser les changements vers GitHub

Validez tous vos changements :

git add LICENSE
git add about.json
git add assets/roboto.woff2
git add common/common.scss
git commit -am "premier commit"

Créez un compte sur GitHub.com puis créez un nouveau dépôt.

(Optionnel) créer un sujet sur Discourse comme lieu pour discuter de vos couleurs

Idéalement, vous créeriez un sujet dans la catégorie #plugin:theme avec quelques captures d’écran de votre palette de couleurs. Vous utiliserez ceci comme votre about_url

Remplir les informations manquantes dans votre fichier about.json

  • Naviguez vers votre page LICENSE sur GitHub, remplissez cette URL comme votre license_url

  • Utilisez soit l’URL du projet GitHub, soit l’URL du sujet Discourse comme votre about_url

À la fin du processus, votre fichier about.json ressemblera à ceci :

{
  "name": "Composant de thème Roboto",
  "about_url": "https://github.com/SamSaffron/discourse-roboto-theme",
  "license_url": "https://github.com/SamSaffron/discourse-roboto-theme/blob/master/LICENSE",
  "assets": {
    "roboto": "assets/roboto.woff2"
  }
}

Validez le changement et poussez vers GitHub

git commit -am "ajouté plus de détails"
git push

Tester votre composant de police

  • Dans l’écran admin/customize/theme, importez votre thème depuis GitHub

:confetti_ball:
Vous pouvez maintenant partager facilement des polices !

Voir aussi :


Ce document est contrôlé par version - suggérez des modifications sur github.

19 « J'aime »

Great tutorial.

Worked like a charm except it looks like localfont.com is down or no more.

I used this Google webfonts helper site to download a .woff2 version of the font I was after.

See also Discourse Theme CLI (console app to help you build themes)

1 « J'aime »

Lorsque j’ai suivi les étapes, j’ai reçu une Erreur : Variable non définie : « $fontname ».

Donc :
J’ai déclaré la variable dans $variables :
fontname: "assets/fontname.woff2";

Il me semble que vous devez la remplir, mais quel chemin utiliser dans les $variables ?

Lorsque vous laissez Discourse télécharger les fichiers avec

"assets": {
        "fontname": "assets/fontname.woff2"
   }

il télécharge le fichier vers un autre chemin que assets/roboto.woff2, semble-t-il
(/uploads/db0202/original/1X/...)

Modification :
Pas besoin de $variables, la magie opère avec les téléchargements. Mais j’avais assets/font.svg#regular dans les assets et le hashtag a créé le problème.

2 « J'aime »

J’obtiens la même erreur Erreur : Variable indéfinie. Et aussi, aucun fichier n’est affiché dans les téléchargements ou le téléchargement en tant que titre.

Ce tutoriel doit-il être mis à jour ?

Merci d’avance.

1 « J'aime »