Crie e compartilhe um componente de tema de fonte

O Discourse suporta a importação de temas que contenham ativos de um repositório remoto.

Isso permite que os autores de temas compartilhem fontes e imagens.

Criar um novo repositório git com a fonte

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

Para about.json, adicione um arquivo de configuração esqueleto

{
  "name": "Roboto theme component",
  "about_url": "",
  "license_url": "",
  "assets": {
    "roboto": "assets/roboto.woff2"
  }
}

Adicione um arquivo LICENSE, eu geralmente uso o MIT

vim LICENSE

Baixar a fonte

http://localfont.com/ é um site útil para obter fontes

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

Adicionar CSS que consome o tema

mkdir common
cd common

Crie um arquivo chamado common.scss com

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

body {
  font-family: Roboto;
}

Enviar alterações para o GitHub

Verifique todas as suas alterações:

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

Crie uma conta em GitHub.com e depois crie um novo repositório.

(Opcional) criar um tópico no Discourse como um lar para discutir suas cores

Idealmente, você criaria um tópico na categoria #plugin:theme com algumas capturas de tela do seu esquema de cores. Você usará isso como seu about_url

Preencher as informações ausentes no seu arquivo about.json

  • Navegue até sua página LICENSE no GitHub, preencha essa URL como seu license_url

  • Use a URL do projeto do GitHub ou a URL do tópico do Discourse como seu about_url

Ao final do processo, seu arquivo about.json ficará parecido com:

{
  "name": "Roboto theme component",
  "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"
  }
}

Verifique a alteração e envie para o GitHub

git commit -am "added more details"
git push

Testar seu componente de fonte

  • Na tela admin/customize/theme, importe seu tema do GitHub

:confetti_ball:
Você pode compartilhar fontes facilmente agora!

Veja também:


Este documento é controlado por versão - sugira alterações no github.

19 curtidas

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 curtida

Ao seguir os passos, recebi um Erro: Variável indefinida: “$fontname”.

Então:
Declarei a variável em $variables:
fontname: "assets/fontname.woff2";

Parece que você tem que preenchê-la, mas qual caminho usar em $variables?

Quando você deixa o Discourse fazer o upload dos arquivos com

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

ele faz o upload do arquivo para um caminho diferente de assets/roboto.woff2, parece
(/uploads/db0202/original/1X/...)

Editar:
Não há necessidade de $variables, a mágica acontece com os uploads. Mas eu tinha assets/font.svg#regular nos assets e a hashtag criou o problema.

2 curtidas

Estou recebendo o mesmo erro Error: Undefined variable. E também não há nenhum ativo mostrado em uploads ou upload como um título.

Este tutorial precisa ser atualizado?

Obrigado desde já

1 curtida