class Boring::Tailwind::InstallGenerator

Public Instance Methods

add_or_import_stylesheet_for_tailwind() click to toggle source
# File lib/generators/boring/tailwind/install/install_generator.rb, line 32
      def add_or_import_stylesheet_for_tailwind
        if File.exist?("app/javascript/stylesheets/application.scss")
          say "Add TailwindCSS imports to the application.scss", :green
          stylesheet_tailwind_imports = <<~RUBY
            \n
            @import "tailwindcss/base";
            @import "tailwindcss/components";
            @import "tailwindcss/utilities";
          RUBY

          append_to_file "app/javascript/stylesheets/application.scss", stylesheet_tailwind_imports
        else
          say "Copying application.scss with Tailwind imports", :green
          template("application.scss", "app/javascript/stylesheets/application.scss")
        end
      end
add_tailwind_package() click to toggle source
# File lib/generators/boring/tailwind/install/install_generator.rb, line 12
def add_tailwind_package
  say "Adding tailwind package", :green
  run "yarn add tailwindcss@latest postcss@latest autoprefixer@latest"
end
create_tailwind_config() click to toggle source
# File lib/generators/boring/tailwind/install/install_generator.rb, line 17
def create_tailwind_config
  say "Initailizing tailwind configuration", :green
  if options[:skip_tailwind_init_full]
    run "yarn tailwindcss init"
  else
    run "yarn tailwindcss init --full"
  end
end
include_tailwind_to_postcss_config() click to toggle source
# File lib/generators/boring/tailwind/install/install_generator.rb, line 26
      def include_tailwind_to_postcss_config
        insert_into_file "postcss.config.js", <<~RUBY, after: /plugins:\s+\[\n/
          \t\trequire('tailwindcss'),
        RUBY
      end
insert_stylesheet_in_the_application() click to toggle source
# File lib/generators/boring/tailwind/install/install_generator.rb, line 49
      def insert_stylesheet_in_the_application
        if File.exist?("app/javascript/packs/application.js")
          stylesheet_tailwind_imports = <<~RUBY
            \n
            import "stylesheets/application"
          RUBY

          append_to_file "app/javascript/packs/application.js", stylesheet_tailwind_imports
        else
          say <<~WARNING, :red
            ERROR: Looks like the webpacker installation is incomplete. Could not find application.js in app/javascript/packs.
          WARNING
        end
      end
insert_stylesheet_packs_tag() click to toggle source
# File lib/generators/boring/tailwind/install/install_generator.rb, line 64
      def insert_stylesheet_packs_tag
        insert_into_file "app/views/layouts/application.html.erb", <<~RUBY, after: /stylesheet_link_tag.*\n/
          \t\t<%= stylesheet_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
        RUBY
      end
show_readme() click to toggle source
# File lib/generators/boring/tailwind/install/install_generator.rb, line 70
def show_readme
  readme "README"
end