Class: Boring::Tailwind::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- Boring::Tailwind::InstallGenerator
- Defined in:
- lib/generators/boring/tailwind/install/install_generator.rb
Instance Method Summary collapse
- #add_or_import_stylesheet_for_tailwind ⇒ Object
- #add_tailwind_package ⇒ Object
- #create_tailwind_config ⇒ Object
- #include_tailwind_to_postcss_config ⇒ Object
- #insert_stylesheet_in_the_application ⇒ Object
- #insert_stylesheet_packs_tag ⇒ Object
- #show_readme ⇒ Object
Instance Method Details
#add_or_import_stylesheet_for_tailwind ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# 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 = " \\n\n @import \"tailwindcss/base\";\n @import \"tailwindcss/components\";\n @import \"tailwindcss/utilities\";\n RUBY\n\n append_to_file \"app/javascript/stylesheets/application.scss\", stylesheet_tailwind_imports\n else\n say \"Copying application.scss with Tailwind imports\", :green\n template(\"application.scss\", \"app/javascript/stylesheets/application.scss\")\n end\nend\n" |
#add_tailwind_package ⇒ Object
12 13 14 15 |
# 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 ⇒ Object
17 18 19 20 21 22 23 24 |
# File 'lib/generators/boring/tailwind/install/install_generator.rb', line 17 def create_tailwind_config say "Initailizing tailwind configuration", :green if [:skip_tailwind_init_full] run "yarn tailwindcss init" else run "yarn tailwindcss init --full" end end |
#include_tailwind_to_postcss_config ⇒ Object
26 27 28 29 30 |
# File 'lib/generators/boring/tailwind/install/install_generator.rb', line 26 def include_tailwind_to_postcss_config insert_into_file "postcss.config.js", " \\t\\trequire('tailwindcss'),\n RUBY\nend\n", after: /plugins:\s+\[\n/ |
#insert_stylesheet_in_the_application ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# 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 = " \\n\n import \"stylesheets/application\"\n RUBY\n\n append_to_file \"app/javascript/packs/application.js\", stylesheet_tailwind_imports\n else\n say <<~WARNING, :red\n ERROR: Looks like the webpacker installation is incomplete. Could not find application.js in app/javascript/packs.\n WARNING\n end\nend\n" |
#insert_stylesheet_packs_tag ⇒ Object
64 65 66 67 68 |
# 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", " \\t\\t<%= stylesheet_pack_tag 'application', 'data-turbolinks-track': 'reload' %>\n RUBY\nend\n", after: /stylesheet_link_tag.*\n/ |
#show_readme ⇒ Object
70 71 72 |
# File 'lib/generators/boring/tailwind/install/install_generator.rb', line 70 def show_readme readme "README" end |