开始使用主题创建器和主题 CLI

本主题将指导您如何使用 Theme CLI 配合我们的 Theme Creator 站点来开发主题,并在实时的 Discourse 站点上预览您的更改。

  1. 如果您还没有账户,请在此处注册 Meta 账户

  2. 登录 Theme Creator

  3. 通过此处的说明安装 Theme CLI

  4. 在 Theme Creator 上创建新主题:

  5. 点击 advanced(高级),然后点击 edit locally(本地编辑),接着点击 retrieve API key(获取 API 密钥)。

    复制生成的 API 密钥。

  1. 返回命令行并输入 discourse_theme download example-folder,其中 example-folder 是您的主题在本地存储的位置。请按照提示操作。

    • 输入 https://discourse.theme-creator.io 作为您的 Discourse 站点的根 URL。

    • 在提示时输入上一步中的 API 密钥。

    • 继续按照提示操作,并选择您在第 4 步中创建的主题。

    • 当询问是否开始监视您的主题时,输入 yes(是)。

  2. 现在,您的本地主题文件夹正在被监视,任何更改都将自动上传到 Theme Creator。您可以点击 Theme Creator 上主题设置中的 preview(预览)来打开主题的预览。

  3. 要停止监视更改,请在命令行窗口中按 ctrl + c。要重新开始监视更改,请输入 discourse_theme watch example-theme。

:tada: 现在您拥有了一个可以编辑并实时查看更改的本地主题目录!

如需深入了解主题的结构以及您可以执行的操作,请访问 Developing Discourse Themes & Theme Components


本文档受版本控制 - 请在 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

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

discourse_theme watch 不再实时重新加载了吗?它以前在我保存主题时会刷新我的主题,但现在我必须手动刷新我的标签页。控制台中没有任何迹象表明原因。

1 个赞

一段时间前有一次更改

你可能对这个感兴趣 Live Reload in Production

4 个赞

我正在尝试了解如何在 https://discourse.theme-creator.io/ 上正确预览我的主题。

discourse_theme watch 正在运行,并将我的更改同步到预览 URL。我已经搭建了一个主题,并在 about.json 中添加了 color_schemes。它们确实显示在 /me/theme 下的主题选择框中。但是,我无法选择某个配色方案/调色板进行查看,而是被锁定在一个名为“Light”的默认方案上,而这个方案并非由我指定。

此外,我在 about.json 中定义的命名配色方案也没有出现在 /me/preferences/interface 下。

我哪里做错了?

谢谢!