Como editar meu site remotamente com facilidade?

Então, estou perguntando principalmente sobre temas. Quando criei um tema local personalizado, simplesmente entrei, alterei CSS/HTML e cliquei em salvar. Bem, agora eu hospedo meu tema personalizado no GitHub, mas é extremamente irritante que, para qualquer pequena alteração que eu queira fazer, preciso fazer a alteração, enviá-la para o GitHub e, em seguida, atualizar meu tema no painel de administração apenas para ver as mínimas alterações que estou fazendo. Existe alguma maneira mais fácil?

Confira o Discourse Theme CLI. Ele permite que você ‘observe’ um diretório em busca de alterações e as aplique automaticamente.

1 curtida

Ok, eu executei todos os comandos e meu PowerShell está me dizendo:

» Observando alterações em C:/Users/User/Documents/SiteStuff/discourse-air-theme...
  Por favor, adicione o seguinte ao seu Gemfile para evitar a verificação de alterações:
    gem 'wdm', '>= 0.1.0' if Gem.win_platform?

Então, acho que fiz certo? Minha principal pergunta agora é: eu tenho que manter o PowerShell aberto para que ele monitore essas alterações? Se sim, posso de alguma forma criar um contêiner Docker para rodar isso no meu PC com Windows? Além disso, onde está meu arquivo gem para que eu possa adicionar essa linha gem 'wdm', '>= 0.1.0' if Gem.win_platform? a ele?

Ok, encontrei alguns arquivos de origem Gemspec em:
C:\Users\User\.local\share\gem\specs\index.rubygems.org%443\quick\Marshal.4.8\
Mas quando os abro no Bloco de Notas ou no Visual Studio Code, eles são caracteres estrangeiros (gírias). Talvez estes não sejam os arquivos certos?

EDIT: Ok, encontrei mais alguns aqui:
C:\\Ruby33-x64\\lib\\ruby\\gems\\3.3.0\\gems\\discourse_theme-2.1.0
Eu vejo um Gemfile que diz:

# frozen_string_literal: true
source "https://rubygems.org"

git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }

# Especifique as dependências do seu gem em discourse_theme.gemspec
gemspec

Eu coloco aqui em algum lugar? Há também um arquivo “discourse_theme.gemspec” que não é gibberish, que contém isso:

# 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

É este? Eu só preciso saber onde colocar gem 'wdm', '>= 0.1.0' if Gem.win_platform?