إذًا، أتساءل بشكل أساسي عن السمات هنا. عندما أنشأت سمة محلية مخصصة، ذهبت ببساطة وغيرت CSS/HTML ونقرت على حفظ. حسنًا، الآن أستضيف السمة المخصصة الخاصة بي على GitHub، ولكنها مزعجة للغاية لأي تغيير بسيط أرغب في إجرائه، حيث يتعين علي إجراء التغيير، دفعه إلى GitHub، ثم تحديث السمة الخاصة بي في لوحة الإدارة فقط لرؤية أصغر التغييرات التي أقوم بها. هل هناك أي طريقة أسهل؟
تحقق من Discourse Theme CLI. يتيح لك “مراقبة” دليل للتغييرات وتطبيقها تلقائيًا.
حسناً، لقد قمت بتشغيل جميع الأوامر ويخبرني PowerShell الخاص بي:
» 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?
إذن، أعتقد أنني فعلتها بشكل صحيح؟ لذا، سؤالي الرئيسي الآن هو: هل يجب أن أبقي PowerShell مفتوحًا لمراقبة هذه التغييرات؟ إذا كان الأمر كذلك، هل يمكنني بطريقة ما إنشاء حاوية Docker لتشغيلها على جهاز الكمبيوتر الذي يعمل بنظام Windows؟ أيضًا، أين يوجد ملف 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
ولكن عندما أفتحها في Notepad أو 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?