如何轻松远程编辑我的网站?

所以,我主要想问的是关于主题。当我创建一个自定义本地主题时,我只需进入并更改 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?