Get started with Theme Creator and the Theme CLI

This topic will walk you through how to use the Theme CLI with our Theme Creator site to develop a theme and preview your changes on a live Discourse site.

  1. Sign up for an account here on Meta if you haven’t already

  2. Log in to Theme Creator

  3. Install the Theme CLI via the instructions here

  4. Create a new theme on Theme Creator by:

  5. Click advanced, then edit locally, and retrieve API key.

    Copy the API key that is generated.

  1. Go back to your command line and type discourse_theme download example-folder, where example-folder is where your theme will be stored locally. Follow the prompts.

    • Enter https://discourse.theme-creator.io as the root URL of your Discourse site.

    • Enter your API key from the previous step when prompted.

    • Continue following the prompts and select the theme you created in step 4.

    • Enter yes when asked if you’d like to start watching your theme.

  2. Now your local theme folder is being watched for changes, which will be automatically uploaded to Theme Creator. You can open a preview of your theme by clicking preview in your theme’s settings on Theme Creator.

  3. To stop watching for changes, hit ctrl + c in your command line window. To start watching for changes again type discourse_theme watch example-theme.

:tada: You now have a local theme directory you can edit and see your changes live!

For an in-depth look at how themes are structured and what you can do, check out our Developing Discourse Themes & Theme Components


This document is version controlled - suggest changes on github.

42 лайка

Привет. Я пытаюсь следовать этим инструкциям, но постоянно упираюсь в стену. После добавления API-ключа я вижу следующее:

/usr/local/lib/ruby/gems/3.2.0/gems/discourse_theme-0.7.3/lib/discourse_theme/cli.rb:100:in `run': undefined method `exists?' for Dir:Class (NoMethodError)

        FileUtils.mkdir_p dir unless Dir.exists?(dir)
                                        ^^^^^^^^
Did you mean?  exist?
	from /usr/local/lib/ruby/gems/3.2.0/gems/discourse_theme-0.7.3/bin/discourse_theme:6:in `<top (required)>'
	from /usr/local/lib/ruby/gems/3.2.0/bin/discourse_theme:25:in `load'
	from /usr/local/lib/ruby/gems/3.2.0/bin/discourse_theme:25:in `<main>'

Есть какие-то идеи, почему это происходит?
Заранее спасибо.

1 лайк

Привет!
Этот инструмент пока не поддерживает Ruby 3.2 из-за изменений в языке. Мы работаем над исправлением, но в то же время Ruby 3.1.x работает.

6 лайков

А, вот в чём дело.
Спасибо :slight_smile:

1 лайк

Теперь это исправлено — discourse_theme должен работать под Ruby 3.2.x начиная с версии 0.7.4 гема :slight_smile:

3 лайка

Вау, это было быстро :open_mouth:
Спасибо. Мне удалось заставить это работать с помощью моего руководителя, который предложил:

rbenv install 3.1.3
rbenv shell 3.1.3
gem install discourse_theme

Но это сработало только после того, как я закрыл вкладку терминала и открыл её снова.

Команда discourse_theme watch больше не обеспечивает автоматическую перезагрузку? Раньше она обновляла мою тему при сохранении, а теперь мне нужно вручную обновлять вкладку. В консоли ничего нет, что могло бы указать на причину.

1 лайк

Некоторое время назад произошло изменение

Вас может заинтересовать Live Reload in Production

4 лайка

Я пытаюсь понять, как правильно предпросмотреть свою тему на https://discourse.theme-creator.io/.

Команда discourse_theme watch работает и синхронизирует мои изменения с URL предпросмотра. Я создал каркас темы, добавив color_schemes в about.json. Они отображаются в выпадающем списке темы по адресу /me/theme. Однако я не могу выбрать схему/палитру и просмотреть её; вместо этого у меня зафиксирована схема по умолчанию под названием «Light», которую я не указывал.

Мои именованные цветовые схемы из about.json также не отображаются в разделе /me/preferences/interface.

Что я делаю не так?

Спасибо!