Instale o aplicativo de console do Discourse Theme CLI para ajudar a criar temas

The discourse Discourse Theme CLI is a ruby gem that allows you to use your editor of choice when developing Discourse themes and theme components. As you save files the CLI will update the remote theme or component and changes to it will appear live!

Installing

To play with it, make sure you have Ruby 2.5 or up installed.

If you are on Windows, you have 2 options:

Option 1: Windows Subsystem for Linux.

Windows 10 has access to a full Linux environment, you can use it to install ruby simply with sudo apt-get install ruby, this will give you Ruby 2.3.

Options 2: Older Windows

Older versions of Windows have no access to WSL, you can easily install Ruby with Ruby Installer, go for the recommended version and default settings for the install.

Mac OS version 10.13.3 ship with Ruby 2.3 out of the box, nothing special is needed. If you are running an earlier version of Mac OS consider using rvm, rbenv or homebrew to install a recent ruby.


Once Ruby 2.2 or later is running, open a terminal or command shell and run:

gem install discourse_theme

Once installed, to learn more about it:

discourse_theme

Upgrading

gem update discourse_theme

Features

The CLI provides 3 main functions:

discourse_theme new

You can use it to quickly create a new theme with discourse_theme new YOUR_DIR_NAME

discourse_theme watch

You can use it to monitor a theme and synchronize with a discourse site (with live refresh) using discourse_theme watch YOUR_DIR_NAME

What this means is that you can use your own editor to edit you theme and site will magically :unicorn: update with the changes!

discourse_theme download

You can download an existing theme from Discourse using discourse_theme download YOUR_DIR_NAME. You will then be given the option to start “watching” straight away!

Credentials

You will need to generate an API Key. Go to the admin area and generate a key there.

  • :exclamation: Select a “User Level” of Single User when generating the key, not All Users.
  • :exclamation: Make sure to check Global Key or you will receive 403 forbidden errors.

Credentials are (optionally) stored at ~/.discourse_theme. API keys are stored per-site, and the URL/theme_id for each directory is also tracked. If you ever need to change your settings, just add --reset to any command and you will be prompted for all values again.

Testimonials

“This tool is truly a GEM!” @awole20
“This is very very good.” @awesomerobot
“It’s working :slight_smile: And it’s pretty dosh garn cool. Nice!” @angus
“OMG. It’s unbelievable.” @pfaffman


This document is version controlled - suggest changes on github.

79 curtidas

Uploads via Admin >> Personalizar >> Temas desaparecem após a gravação de um tema observado.

Como incluímos ativos de imagem no tema para que eles não sejam eliminados após a gravação?

2 curtidas

Olá, bem-vindo!

Você precisa incluir os assets diretamente no seu componente de tema.
Na raiz, você cria um diretório assets.
Em seguida, você os declara em about.json

"assets": {
  "<seu_identificador>": "assets/<seu_nome_de_arquivo_de_asset>",
}

Você pode ver um exemplo aqui GitHub - MeghnaAJ/discourse-christmas-decorations.

3 curtidas

Um aviso rápido para desenvolvedores que usam esta ferramenta para gerar componentes de tema:
Você é encorajado a atualizá-la! :+1:

Um PR recente tornou o repositório discourse-theme-skeleton o modelo padrão. Ele fornecerá os arquivos de configuração mais recentes!

9 curtidas

Obrigado!

Seria ótimo adicionar uma seção de Atualização ao tópico…

É um --reset ou uma atualização do rubygem?

4 curtidas

Boa ideia! Adicionei uma seção de ‘atualização’ ao OP

gem update discourse_theme
5 curtidas

Para instalar a gem no WSL, tive que executar ambos os comandos:
sudo apt-get install ruby e sudo apt-get install ruby-dev.
Talvez isso possa ser adicionado às instruções de instalação.

Se você não instalar ruby-dev, você recebe um erro? Não deve ser necessário instalar ruby-dev, pois o ruby em si é suficiente.

4 curtidas

Tenho quase certeza de que recebi um erro que me instruiu a instalar ruby-dev, caso contrário, eu não saberia que o pacote existia.
Mas não consigo reproduzi-lo ao tentar reinstalar. Talvez eu tenha feito algo estranho da primeira vez.

2 curtidas

Hmm, isso é realmente estranho. Sinta-se à vontade para me informar se conseguir reproduzir o problema novamente.

2 curtidas

Atualizei meu servidor ontem para 3.5.0.beta9-dev e não consigo mais recarregar em tempo real com o gem do tema discourse desde então. O gem é a versão 2.1.6.

Não vejo nenhum erro ou nada do tipo, então queria perguntar primeiro se mais alguém tem o mesmo problema?

1 curtida

Recarregamentos em tempo real de folhas de estilo foram desativados para instâncias de produção, pois estavam causando problemas ao atualizar temas e/ou o core do Discourse.

Fundamentalmente: alterações de folhas de estilo frequentemente estão ligadas a alterações em JS/HTML, então o carregamento em tempo real apenas para folhas de estilo é arriscado. Usuários acabam executando folhas de estilo ‘novas’ contra HTML ‘antigo’, o que pode levar a experiências muito estranhas.

O carregamento em tempo real ainda está habilitado para instâncias do Discourse em modo de desenvolvimento. Idealmente, você usaria isso para desenvolvimento em vez de um site de produção. Além do recarregamento da folha de estilo, o Ember em modo de desenvolvimento oferece mensagens de erro muito mais amigáveis do que o Ember em modo de produção.

3 curtidas

Essa é uma grande mudança. Fico surpreso que não tenha havido um anúncio. Eu estava desenvolvendo temas principalmente em sites de produção.

Uma configuração de site para obter o comportamento antigo seria legal.

4 curtidas

Concordo, isso me surpreendeu e não consegui encontrar este tópico atual, apesar de ter pesquisado, ou talvez eu tenha visto a data mais antiga do OP e o ignorado.