开始使用Theme Creator和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 Beginner's guide to developing Discourse Themes


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 上从 gem 版本 0.7.4 开始应该可以正常工作 :slight_smile:

3 个赞

哇,真快 :open_mouth:
谢谢。在我的直线经理的帮助下,我确实设法让它工作了,他建议:

rbenv install 3.1.3
rbenv shell 3.1.3
gem install discourse_theme

实际上,直到我关闭终端标签页并重新打开它,它才起作用。