Installez l'application de console CLI des thèmes Discourse pour vous aider à créer des thèmes

La discourse CLI du thème Discourse est un gem Ruby qui vous permet d’utiliser votre éditeur de code préféré lors du développement de thèmes et de composants de thème Discourse. À chaque fois que vous enregistrez des fichiers, la CLI met à jour le thème ou le composant distant et les modifications apparaissent en direct !

Installation

Pour l’essayer, assurez-vous d’avoir installé Ruby 2.5 ou une version ultérieure.

Si vous utilisez Windows, vous avez 2 options :

Option 1 : Windows Subsystem for Linux.

Windows 10 dispose d’un environnement Linux complet, vous pouvez l’utiliser pour installer ruby simplement avec sudo apt-get install ruby, ce qui vous donnera Ruby 2.3.

Option 2 : Anciennes versions de Windows

Les anciennes versions de Windows n’ont pas accès au WSL, vous pouvez facilement installer Ruby avec Ruby Installer, choisissez la version recommandée et les paramètres par défaut pour l’installation.

Mac OS version 10.13.3 est livré avec Ruby 2.3 par défaut, rien de spécial n’est nécessaire. Si vous exécutez une version antérieure de Mac OS, envisagez d’utiliser rvm, rbenv ou homebrew pour installer une version récente de ruby.


Une fois que Ruby 2.2 ou une version ultérieure est en cours d’exécution, ouvrez un terminal ou une invite de commandes et exécutez :

gem install discourse_theme

Une fois installé, pour en savoir plus :

discourse_theme

Mise à niveau

gem update discourse_theme

Fonctionnalités

La CLI fournit 3 fonctions principales :

discourse_theme new

Vous pouvez l’utiliser pour créer rapidement un nouveau thème avec discourse_theme new VOTRE_NOM_DE_DOSSIER

discourse_theme watch

Vous pouvez l’utiliser pour surveiller un thème et synchroniser avec un site discourse (avec actualisation en direct) en utilisant discourse_theme watch VOTRE_NOM_DE_DOSSIER

Cela signifie que vous pouvez utiliser votre propre éditeur pour modifier votre thème et le site se mettra à jour magiquement :unicorn: avec les changements !

discourse_theme download

Vous pouvez télécharger un thème existant depuis Discourse en utilisant discourse_theme download VOTRE_NOM_DE_DOSSIER. Vous aurez ensuite la possibilité de commencer à “surveiller” immédiatement !

Identifiants

Vous devrez générer une clé API. Allez dans la zone d’administration et générez une clé là-bas.

  • :exclamation: Sélectionnez un « Niveau d’utilisateur » de Single User lors de la génération de la clé, pas All Users.
  • :exclamation: Assurez-vous de cocher Global Key sinon vous recevrez des erreurs 403 interdit.

Les identifiants sont (facultativement) stockés dans ~/.discourse_theme. Les clés API sont stockées par site, et l’URL/theme_id pour chaque répertoire est également suivie. Si vous devez modifier vos paramètres, ajoutez simplement --reset à n’importe quelle commande et vous serez invité à saisir à nouveau toutes les valeurs.

Témoignages

« Cet outil est vraiment un GEM ! » @awole20
« C’est très, très bon. » @awesomerobot
« Ça marche :slight_smile: Et c’est assez dosh garn cool. Super ! » @angus
« OMG. C’est incroyable. » @pfaffman


Ce document est sous contrôle de version - suggérez des modifications sur github.

79 « J'aime »
Theme Creator, create and show themes without installing Discourse!
CSS Theme Contest (with Prizes!)
Customizing handlebars templates
Setting up a solid workflow for custom theme development
Theme Developer Quick Reference Guide
Structure of themes and theme components
Automating Discourse Plugin Setup with `create-discourse-plugin` gem
Developing Plugins Faster by separating the frontend into a theme component
Feedback on "on-discourse" javascript for setting up custom JS for each page?
Add settings to your Discourse theme
Get started with Theme Creator and the Theme CLI
Designer's Guide to getting started with themes in Discourse
Split up theme Javascript into multiple files
Updated Custom Header Icon: Post Data via URL
Theme Developer Tutorial: 2. Creating a remote theme
Developing Discourse Themes & Theme Components
Hiding GUI elements for new users (less overwhelming)
Add custom content that only appears on your homepage
Custom CSS/HTML
If you want to edit this theme, you must submit a change on its repository
Edit CSS/HTML editor cursor offset makes it unusable due to CSS font override
How "difficult" is modifying/extending Discourse for a backend dev
Exporting a Theme from Staging and Importing it to the Production portal
Using Plugin Outlet Connectors from a Theme or Plugin
Downloaded component installs fine, but does not once changed/re-zipped
What are the benefits of a dev environment?
3.2.0.beta2-dev (7019dbcfe1) does not load CSS from common.scss anymore
End-to-end system testing for themes and theme components
Different CSS changes for different color schemes
Need help integrating code wrote on Edittext to the Discourse
Need help integrating code wrote on Edittext to the Discourse
Remote themes not in database
How to easily edit my site remotely?
When to use a plugin vs theme component?
Discourse core is switching to pnpm for JS package management
Using the new custom-homepage feature
Focus the editor when title is pre-filled
Cannot put the template in the desired outlet
Is this the correct way to create a theme component?
Split up theme Javascript into multiple files
Canvas Theme Template
Getting error while uploading theme
[Zotero extension +] Firefox v116 on macOS broken Discourse?
Install Discourse for development using Docker
How to install plugins without using a third-party host?
How to add a custom button in user profile card?
Import site theme via console
How are theme setting fields created?
Customisability in discourse?
Discourse Theme CLI is the bomb
Discourse 2.0.0.beta5 Release Notes
How difficult would it be to make the Discourse UI more like Flarum?
Discourse-webpack: A boilerplate for developing JS-heavy Discourse components
Import Error: about.json does not exist, or is invalid
How to Add Unique HTML Content Below Topic Body in discourse forum for Specific Topics
Reuse Discourse Hamburger Functionality
Themes - Add a description field
Create and share a font theme component
Customisability in discourse?
How to create a theme (if I am a pure end user)
Linting configuration
Linting configuration
Is it possible to use a local plugin directory with a docker install?
How to overrule a color variable for one theme only?
Can't customize text on custom button in template override using UI
Is it possible to use theme component from local folder (as plugin) - for local development?
Restrict editing of remote themes
When exporting a theme, I get a broken archive