所以,我主要想问的是关于主题。当我创建一个自定义本地主题时,我只需进入并更改 CSS/HTML,然后点击保存。现在,我将我的自定义主题托管在 GitHub 上,但每次我想做一点小小的更改时,都必须进行更改、将其推送到 GitHub,然后在管理员面板中更新我的主题,才能看到我所做的微小更改,这真是太烦人了。有没有更简单的方法?
查看 Discourse Theme CLI。它可以“监视”目录中的更改并自动应用它们。
1 个赞
好的,我运行了所有命令,我的 PowerShell 告诉我:
» 正在监视 C:/Users/User/Documents/SiteStuff/discourse-air-theme 中的更改...
请将以下内容添加到您的 Gemfile 中,以避免轮询更改:
gem 'wdm', '>= 0.1.0' if Gem.win_platform?
所以,我猜我做对了?那么,我现在的主要问题是:我是否必须保持 PowerShell 打开才能监视这些更改?如果是,我能否在我的 Windows PC 上创建一个 Docker 容器来运行它?另外,我的 gem 文件在哪里,以便我可以将 gem 'wdm', '>= 0.1.0' if Gem.win_platform? 行添加到其中?
好的,我在以下位置找到了一些 Gemspec 源代码文件:
C:\Users\User.local\share\gem\specs\index.rubygems.org%443\quick\Marshal.4.8
但当我用记事本或 Visual Studio Code 打开它们时,它们是乱码(乱码)。也许这些不是正确的文件?
编辑:好的,我在以下位置找到了更多文件:
C:\Ruby33-x64\lib\ruby\gems\3.3.0\gems\discourse_theme-2.1.0
我确实看到了一个名为 Gemfile 的文件,其中包含:
# frozen_string_literal: true
source "https://rubygems.org"
git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
# Specify your gem's dependencies in discourse_theme.gemspec
gemspec
我应该把它放在这里面的某个地方吗?还有一个名为 “discourse_theme.gemspec” 的文件,它不是乱码,其中包含此内容:
# frozen_string_literal: true
lib = File.expand_path("../lib", __FILE__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require "discourse_theme/version"
Gem::Specification.new do |spec|
spec.name = "discourse_theme"
spec.version = DiscourseTheme::VERSION
spec.authors = ["Sam Saffron"]
spec.email = ["sam.saffron@gmail.com"]
spec.summary = "CLI helper for creating Discourse themes"
spec.description = "CLI helper for creating Discourse themes"
spec.homepage = "https://github.com/discourse/discourse_theme"
spec.license = "MIT"
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
spec.bindir = "bin"
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
spec.require_paths = ["lib"]
spec.required_ruby_version = ">= 3.0.0"
spec.add_runtime_dependency "minitar", "~> 0.6"
spec.add_runtime_dependency "listen", "~> 3.1"
spec.add_runtime_dependency "multipart-post", "~> 2.0"
spec.add_runtime_dependency "tty-prompt", "~> 0.18"
spec.add_runtime_dependency "rubyzip", "~> 2.3"
spec.add_runtime_dependency "selenium-webdriver", "> 4.11"
spec.add_development_dependency "bundler"
spec.add_development_dependency "rake"
spec.add_development_dependency "minitest"
spec.add_development_dependency "guard"
spec.add_development_dependency "guard-minitest"
spec.add_development_dependency "webmock"
spec.add_development_dependency "rubocop-discourse", "~> 3.6.0"
spec.add_development_dependency "m"
spec.add_development_dependency "syntax_tree"
spec.add_development_dependency "mocha"
end
是这个吗?我只需要知道在哪里放置 gem 'wdm', '>= 0.1.0' if Gem.win_platform?