Sha256: 3a23b1569eff932c24a5aa032a539e037d0b3d8c58e398dc46ef0f344841bdaf
Contents?: true
Size: 1.92 KB
Versions: 5
Compression:
Stored size: 1.92 KB
Contents
require_relative "../base_generator" module Generators module Avo module Tailwindcss class InstallGenerator < BaseGenerator source_root File.expand_path("../templates", __dir__) namespace "avo:tailwindcss:install" desc "Add Tailwindcss to your Avo project." def create_files unless tailwindcss_installed? system "./bin/bundle add tailwindcss-rails" system "./bin/rails tailwindcss:install" end unless Rails.root.join("app", "assets", "stylesheets", "avo.tailwind.css").exist? say "Add default app/assets/stylesheets/avo.tailwind.css" copy_file template_path("avo.tailwind.css"), "app/assets/stylesheets/avo.tailwind.css" end if Rails.root.join("Procfile.dev").exist? append_to_file "Procfile.dev", "css: bin/rails avo:tailwindcss:watch\n" else say "Add default Procfile.dev" copy_file template_path("Procfile.dev"), "Procfile.dev" say "Ensure foreman is installed" run "gem install foreman" end append_to_file "Procfile.dev", "avo_css: bin/rails tailwindcss:watch\n" say "Ejecting the _head.html.erb partial" Rails::Generators.invoke("avo:eject", [":head", "--no-avo-version"], {destination_root: Rails.root}) say "Adding the CSS asset to the partial" prepend_to_file Rails.root.join("app", "views", "avo", "partials", "_head.html.erb"), "<%= stylesheet_link_tag \"avo.tailwind.css\", media: \"all\" %>" end no_tasks do def template_path(filename) Pathname.new(__dir__).join("..", "templates", "tailwindcss", filename).to_s end def tailwindcss_installed? Rails.root.join("config", "tailwind.config.js").exist? || Rails.root.join("tailwind.config.js").exist? end end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems