Instala la aplicación de consola de Discourse Theme CLI para ayudarte a crear 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 Me gusta

Las Cargas en Admin >> Personalizar >> Temas desaparecen después de guardar un tema observado.

¿Cómo incluimos los activos de imagen en el tema para que no se eliminen después de guardar?

2 Me gusta

Hola, ¡bienvenido!

Necesitas incluir los activos directamente en tu componente de tema.
En la raíz, creas un directorio assets.
Luego, los declaras en about.json

"assets": {
  "<tu_identificador>": "assets/<tu_nombre_archivo_activo>",
}

Puedes ver un ejemplo aquí GitHub - MeghnaAJ/discourse-christmas-decorations.

3 Me gusta

Una advertencia rápida para los desarrolladores que usan esta herramienta para generar componentes de temas:
¡Se les anima a actualizarla! :+1:

Una PR reciente hizo que el repositorio discourse-theme-skeleton sea la plantilla predeterminada. ¡Les proporcionará los últimos archivos de configuración!

9 Me gusta

¡Gracias!

Sería genial añadir una sección de Actualización al tema…

¿Es una actualización de --reset o de rubygem?

4 Me gusta

¡Buena idea! He añadido una sección de ‘actualización’ al OP

gem update discourse_theme
5 Me gusta

Para instalar el gem en WSL, tuve que ejecutar tanto sudo apt-get install ruby como sudo apt-get install ruby-dev.
Quizás eso se pueda añadir a las instrucciones de instalación.

Si no instalas ruby-dev, ¿recibes un error? No debería ser necesario instalar ruby-dev ya que ruby en sí mismo es suficiente.

4 Me gusta

Estoy bastante seguro de que recibí un error que me indicaba que instalara ruby-dev, de lo contrario no habría sabido que el paquete existía.
Pero no puedo reproducirlo intentando reinstalar. Quizás hice algo raro la primera vez.

2 Me gusta

Hmm, eso es realmente extraño. No dudes en avisarme si puedes reproducir el problema de nuevo.

2 Me gusta

Actualicé mi servidor ayer a 3.5.0.beta9-dev y no obtengo recargas en vivo con el gem del tema de discourse desde entonces. El gem es la versión 2.1.6.

No veo ningún error ni nada, así que primero quería preguntar si alguien más tiene el mismo problema.

1 me gusta

Las recargas en vivo de las hojas de estilo se han deshabilitado para instancias de producción, ya que estaban causando problemas al actualizar temas y/o el núcleo de Discourse.

Fundamentalmente: los cambios en las hojas de estilo a menudo están ligados a cambios en JS/HTML, por lo que la carga en vivo solo para las hojas de estilo es arriesgada. Los usuarios terminan ejecutando hojas de estilo ‘nuevas’ contra HTML ‘antiguo’, lo que puede llevar a experiencias muy extrañas.

La carga en vivo todavía está habilitada para instancias de Discourse en modo de desarrollo. Idealmente, deberías usar eso para el desarrollo en lugar de un sitio de producción. Aparte de la recarga de la hoja de estilo, el modo de desarrollo de Ember te da mensajes de error mucho más amigables que el modo de producción de Ember.

3 Me gusta

Ese es un gran cambio. Me sorprende que no hubiera un anuncio. Había estado desarrollando temas principalmente solo en sitios de producción.

Sería bueno tener una configuración del sitio para obtener el comportamiento anterior.

4 Me gusta

De acuerdo, esto me sorprendió y no pude encontrar este hilo actual a pesar de buscar, o tal vez vi la fecha anterior del OP y la ignoré.