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

Discourse prend en charge l’importation de thèmes contenant des ressources depuis 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 généralement la licence 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 modifications vers GitHub

Validez toutes vos modifications :

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

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

(Facultatif) Créer un sujet sur Discourse comme point de discussion pour vos couleurs

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

Remplir les informations manquantes dans votre fichier about.json

  • Accédez à votre page LICENSE sur GitHub et remplissez cette URL dans license_url.

  • Utilisez soit l’URL du projet GitHub, soit l’URL du sujet Discourse pour 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 la modification et poussez vers GitHub :

git commit -am "added more details"
git push

Tester votre composant de police

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

:confetti_ball:

Vous pouvez désormais partager facilement des polices !

Voir également :


Ce document est versionné – proposez 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 Install the 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 »