Class: PagesCore::Generators::FrontendGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- PagesCore::Generators::FrontendGenerator
- Defined in:
- lib/rails/generators/pages_core/frontend/frontend_generator.rb
Instance Method Summary collapse
- #configure_build_script ⇒ Object
- #configure_postcss ⇒ Object
- #create_css_framework ⇒ Object
- #create_js_framework ⇒ Object
- #create_layout ⇒ Object
- #install_js_dependencies ⇒ Object
- #remove_application_css ⇒ Object
Instance Method Details
#configure_build_script ⇒ Object
61 62 63 64 65 |
# File 'lib/rails/generators/pages_core/frontend/frontend_generator.rb', line 61 def configure_build_script script = "postcss ./app/assets/stylesheets/application.postcss.css " \ "-o ./app/assets/builds/application.css" run %(npm set-script build:css "#{script}") end |
#configure_postcss ⇒ Object
56 57 58 59 |
# File 'lib/rails/generators/pages_core/frontend/frontend_generator.rb', line 56 def configure_postcss copy_file("postcss.config.js", File.join("postcss.config.js")) end |
#create_css_framework ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/rails/generators/pages_core/frontend/frontend_generator.rb', line 16 def create_css_framework ["application.postcss.css", "config.css", "components/base.css", "components/layout.css", "global/animation.css", "global/colors.css", "global/fonts.css", "global/grid.css", "global/typography.css"].each do |f| template("stylesheets/#{f}", File.join("app/assets/stylesheets/#{f}")) end end |
#create_js_framework ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/rails/generators/pages_core/frontend/frontend_generator.rb', line 30 def create_js_framework ["lib/responsiveEmbeds.ts", "lib/gridOverlay.ts"].each do |f| template("javascript/#{f}", File.join("app/javascript/#{f}")) end append_to_file "app/javascript/application.js" do " // Responsive embeds\n import responsiveEmbeds from \"./lib/responsiveEmbeds\";\n responsiveEmbeds();\n\n // Grid overlay\n import gridOverlay from \"./lib/gridOverlay\";\n gridOverlay();\n JS\n end\nend\n" |
#create_layout ⇒ Object
9 10 11 12 13 14 |
# File 'lib/rails/generators/pages_core/frontend/frontend_generator.rb', line 9 def create_layout copy_file( "application.html.erb", File.join("app/views/layouts/application.html.erb") ) end |
#install_js_dependencies ⇒ Object
49 50 51 52 53 54 |
# File 'lib/rails/generators/pages_core/frontend/frontend_generator.rb', line 49 def install_js_dependencies run("pnpm add autoprefixer cssnano normalize.css postcss " \ "postcss-calc postcss-cli postcss-import " \ "postcss-import-ext-glob postcss-mixins postcss-preset-env " \ "postcss-image-inliner") end |
#remove_application_css ⇒ Object
67 68 69 |
# File 'lib/rails/generators/pages_core/frontend/frontend_generator.rb', line 67 def remove_application_css remove_file("app/assets/stylesheets/application.css") end |