Also, hauptsächlich geht es hier um Themes. Als ich ein eigenes lokales Theme erstellt habe, bin ich einfach rein gegangen, habe CSS/HTML geändert und auf Speichern geklickt. Nun hoste ich mein eigenes Theme auf GitHub, aber es ist extrem nervig, dass ich für jede kleine Änderung, die ich machen möchte, die Änderung machen, sie zu GitHub pushen und dann mein Theme im Admin-Panel aktualisieren muss, nur um die kleinsten Änderungen zu sehen, die ich mache. Gibt es einen einfacheren Weg?
Schauen Sie sich das Discourse Theme CLI an. Es ermöglicht Ihnen, ein Verzeichnis auf Änderungen zu “beobachten” und diese automatisch anzuwenden.
Ok, ich habe alle Befehle ausgeführt und meine PowerShell sagt mir:
» Watching for changes in C:/Users/User/Documents/SiteStuff/discourse-air-theme...
Please add the following to your Gemfile to avoid polling for changes:
gem 'wdm', '>= 0.1.0' if Gem.win_platform?
Also, ich habe es wohl richtig gemacht? Meine Hauptfrage ist jetzt: Muss ich PowerShell geöffnet lassen, damit es diese Änderungen überwacht? Wenn ja, kann ich irgendwie einen Docker-Container dafür erstellen, der auf meinem Windows-PC läuft? Wo ist überhaupt meine Gem-Datei, damit ich diese Zeile gem 'wdm', '>= 0.1.0' if Gem.win_platform? hinzufügen kann?
Ok, ich habe einige Gemspec-Quelldateien gefunden unter:
C:\Users\User\.local\share\gem\specs\index.rubygems.org%443\quick\Marshal.4.8\
Aber wenn ich sie in Notepad oder Visual Studio Code öffne, sind es fremde Zeichen (Unsinn). Vielleicht sind das nicht die richtigen Dateien?
EDIT: Ok, ich habe hier noch mehr gefunden:
C:\\Ruby33-x64\\lib\\ruby\\gems\\3.3.0\\gems\\discourse_theme-2.1.0
Ich sehe eine Gemfile, die besagt:
# 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
Soll ich es hier irgendwo einfügen? Es gibt auch eine Datei namens “discourse_theme.gemspec”, die kein Unsinn ist und Folgendes enthält:
# 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
Ist es diese? Ich muss nur wissen, wo ich gem 'wdm', '>= 0.1.0' if Gem.win_platform? einfügen soll.