Class: TailwinduiRails::Generators::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- TailwinduiRails::Generators::InstallGenerator
- Defined in:
- lib/generators/tailwindui_rails/install_generator.rb
Instance Method Summary collapse
- #configure_postcssrc ⇒ Object
- #init_tailwindcss_and_add_tailwindui ⇒ Object
- #remove_corejs_3 ⇒ Object
- #setup_tailwindcss ⇒ Object
- #update_application_layout ⇒ Object
- #yarn_add_tailwindcss_and_ui ⇒ Object
Instance Method Details
#configure_postcssrc ⇒ Object
32 33 34 35 |
# File 'lib/generators/tailwindui_rails/install_generator.rb', line 32 def configure_postcssrc inject_into_file "postcss.config.js", " require('tailwindcss'),\n", after: "require('postcss-import'),\n" inject_into_file "postcss.config.js", " require('autoprefixer'),\n", after: "plugins: [\n" end |
#init_tailwindcss_and_add_tailwindui ⇒ Object
14 15 16 17 18 19 |
# File 'lib/generators/tailwindui_rails/install_generator.rb', line 14 def init_tailwindcss_and_add_tailwindui run "./node_modules/.bin/tailwind init ./tailwind.config.js" prepend_to_file "./tailwind.config.js", "const defaultTheme = require('tailwindcss/defaultTheme');\n\n" inject_into_file "./tailwind.config.js", "\n fontFamily: {\nsans: ['Inter var', ...defaultTheme.fontFamily.sans],\n}", after: "extend: {" inject_into_file "./tailwind.config.js", "\n require('@tailwindcss/ui'),\n", after: "plugins: [" end |
#remove_corejs_3 ⇒ Object
37 38 39 |
# File 'lib/generators/tailwindui_rails/install_generator.rb', line 37 def remove_corejs_3 gsub_file "babel.config.js", /regenerator: true,\n corejs: 3/, "regenerator: true," end |
#setup_tailwindcss ⇒ Object
26 27 28 29 30 |
# File 'lib/generators/tailwindui_rails/install_generator.rb', line 26 def setup_tailwindcss template "tailwind.css", "app/javascript/stylesheets/application.scss" append_to_file "app/javascript/packs/application.js", 'import "stylesheets/application.scss"' run "rm -rf app/assets/stylesheets/application.css" end |
#update_application_layout ⇒ Object
21 22 23 24 |
# File 'lib/generators/tailwindui_rails/install_generator.rb', line 21 def update_application_layout gsub_file "app/views/layouts/application.html.erb", /stylesheet_link_tag/, "stylesheet_pack_tag" inject_into_file "app/views/layouts/application.html.erb", ' <script src="https://cdn.jsdelivr.net/gh/alpinejs/[email protected]/dist/alpine.js" defer></script>', after: "<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>\n" end |
#yarn_add_tailwindcss_and_ui ⇒ Object
10 11 12 |
# File 'lib/generators/tailwindui_rails/install_generator.rb', line 10 def yarn_add_tailwindcss_and_ui run "yarn --ignore-engines add [email protected] @tailwindcss/ui --tilde" end |