rails_app_generator 0.2.2 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/after_templates/addons/dotenv/_.rb +21 -0
  4. data/after_templates/addons/dotenv/app/controllers/home_controller.rb +7 -0
  5. data/after_templates/addons/dotenv/app/views/home/index.html.erb +10 -0
  6. data/after_templates/addons/dotenv/app/views/layouts/application.html.erb +19 -0
  7. data/after_templates/addons/lograge/_.rb +22 -0
  8. data/after_templates/addons/lograge/app/controllers/home_controller.rb +9 -0
  9. data/after_templates/addons/lograge/app/views/home/index.html.erb +11 -0
  10. data/after_templates/addons/lograge/app/views/layouts/application.html.erb +21 -0
  11. data/after_templates/addons/public_suffix/_.rb +23 -0
  12. data/after_templates/addons/public_suffix/app/controllers/home_controller.rb +7 -0
  13. data/after_templates/addons/public_suffix/app/views/home/index.html.erb +29 -0
  14. data/after_templates/addons/public_suffix/app/views/layouts/application.html.erb +23 -0
  15. data/after_templates/addons/rubocop/_.rb +29 -0
  16. data/after_templates/addons/rubocop/app/assets/images/cop-output.png +0 -0
  17. data/after_templates/addons/rubocop/app/controllers/home_controller.rb +21 -0
  18. data/after_templates/addons/rubocop/app/views/home/index.html.erb +46 -0
  19. data/after_templates/addons/rubocop/app/views/layouts/application.html.erb +19 -0
  20. data/after_templates/application/printspeak/_.rb +21 -27
  21. data/after_templates/application/printspeak/app/assets/stylesheets/application.bootstrap.scss +1 -1
  22. data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/_global.scss +0 -0
  23. data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/_variables.scss +0 -0
  24. data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/components/_buttons.scss +0 -0
  25. data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/components/_navbar.scss +0 -0
  26. data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/sections/_contact.scss +0 -0
  27. data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/sections/_footer.scss +0 -0
  28. data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/sections/_masthead.scss +0 -0
  29. data/after_templates/application/printspeak/app/assets/stylesheets/page/sections/_pagehead.scss +52 -0
  30. data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/sections/_portfolio.scss +0 -0
  31. data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/sections/_team.scss +0 -0
  32. data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/sections/_timeline.scss +0 -0
  33. data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/styles.scss +1 -0
  34. data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/variables/_colors.scss +0 -0
  35. data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/variables/_typography.scss +0 -0
  36. data/after_templates/application/printspeak/app/controllers/application_controller.rb +41 -0
  37. data/after_templates/application/printspeak/app/controllers/home_controller.rb +3 -3
  38. data/after_templates/application/printspeak/app/controllers/page_controller.rb +13 -0
  39. data/after_templates/application/printspeak/app/views/home/_body_end.html.erb +45 -0
  40. data/after_templates/application/printspeak/app/views/home/_modal.erb +23 -0
  41. data/after_templates/application/printspeak/app/views/home/_navbar.html.erb +14 -0
  42. data/after_templates/application/printspeak/app/views/home/index.html.erb +234 -283
  43. data/after_templates/application/printspeak/app/views/layouts/_body_end.html.erb +0 -0
  44. data/after_templates/application/printspeak/app/views/layouts/_footer.html.erb +2 -2
  45. data/after_templates/application/printspeak/app/views/layouts/_head.html.erb +0 -0
  46. data/after_templates/application/printspeak/app/views/layouts/application.html.erb +3 -3
  47. data/after_templates/application/printspeak/app/views/page/_navbar.html.erb +9 -0
  48. data/after_templates/application/printspeak/app/views/page/benefits.html.erb +28 -0
  49. data/after_templates/application/printspeak/app/views/page/privacy.html.erb +12 -0
  50. data/after_templates/application/printspeak/app/views/page/terms.html.erb +12 -0
  51. data/docs/last_run/app_generator_class.json +32 -0
  52. data/docs/last_run/app_generator_data.json +7 -4
  53. data/docs/last_run/rails_options_class.json +32 -0
  54. data/docs/last_run/rails_options_data.json +8 -4
  55. data/lib/rails_app_generator/addons/continuous_integration.rb +1 -0
  56. data/lib/rails_app_generator/addons/devise.rb +1 -0
  57. data/lib/rails_app_generator/addons/docker.rb +1 -0
  58. data/lib/rails_app_generator/addons/docker_compose.rb +1 -0
  59. data/lib/rails_app_generator/addons/dotenv.rb +2 -0
  60. data/lib/rails_app_generator/addons/factory_bot.rb +1 -0
  61. data/lib/rails_app_generator/addons/foreman.rb +1 -0
  62. data/lib/rails_app_generator/addons/generators.rb +1 -0
  63. data/lib/rails_app_generator/addons/lograge.rb +3 -1
  64. data/lib/rails_app_generator/addons/public_suffix.rb +33 -0
  65. data/lib/rails_app_generator/addons/rubocop.rb +4 -0
  66. data/lib/rails_app_generator/app_generator.rb +10 -2
  67. data/lib/rails_app_generator/rag_initializer.rb +15 -15
  68. data/lib/rails_app_generator/version.rb +1 -1
  69. data/package-lock.json +2 -2
  70. data/package.json +1 -1
  71. data/profiles/{default/printspeak.json → addons/dotenv.json} +4 -4
  72. data/profiles/addons/lograge.json +12 -0
  73. data/profiles/addons/public_suffix.json +12 -0
  74. data/profiles/addons/rubocop.json +12 -0
  75. data/profiles/application/printspeak.json +6 -4
  76. data/templates/addons/lograge/config/initializers/lograge.rb +9 -1
  77. data/templates/addons/rubocop/.rubocop.yml.erb +5 -2
  78. data/templates/thor_task/addon/addon.tt +1 -1
  79. data/templates/thor_task/profile/after_template.rb +17 -8
  80. metadata +49 -23
  81. data/after_templates/application/printspeak/app/views/layouts/_alerts.html.erb +0 -2
  82. data/after_templates/application/printspeak/app/views/page/_footer.html.erb +0 -184
  83. data/after_templates/application/printspeak/app/views/page/architecture.html.erb +0 -33
  84. data/after_templates/application/printspeak/app/views/page/blog.html.erb +0 -44
  85. data/after_templates/application/printspeak/app/views/page/page_controller.rb +0 -27
  86. data/after_templates/application/printspeak/app/views/page/readme.html.erb +0 -49
  87. data/profiles/printspeak.json +0 -12
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f969c428bcfdfcb4a37a921395ff2dadb07f686c2e26eb85a9e994cad242949d
4
- data.tar.gz: f92ddbba14defa00f7e2f0770e851625927915308e131da8e669e2a6b937ea0a
3
+ metadata.gz: d6643bb1793ae62dd9a03d88815543f732ad40b0be0014dca96028f768d5026f
4
+ data.tar.gz: 631e0d1fa33f226a1c20ad45aa4e2c034b8d7ef0477317f8485c24bf9c26dd9c
5
5
  SHA512:
6
- metadata.gz: 229cbfd43a9b2efcbd6097745529d99a7c5ea074c80f96623e24a41f78b03ab95f158b3512130a99b361dccdb9445c07346557bdab548f7adea67ac726cf0074
7
- data.tar.gz: fd63273e00b4a070d53e1da72a0064b2473b38b47544a725015bd5788c708cf6c72db91ca7370bbbe882df47e064b62bcf7374e0aed4f6b3ffec53cbd89746bb
6
+ metadata.gz: 432e5274201efba75dde019a0ce0d6b03664392e47aa6f98fb78d6d24a91b57a5e85fd528fe7161ab176e9aa653525563c13a4b46bd9f8872246b4794d82286d
7
+ data.tar.gz: de5b4c0ad27d3fba243018c9d7cc488e21cd7946475976d1f0681c3bc50190b6fbee0b5ca10165ace830fbda64dbc7223b4b70ce580c33cc87a0fbeed49a2ec7
data/CHANGELOG.md CHANGED
@@ -1,3 +1,25 @@
1
+ ## [0.2.4](https://github.com/klueless-io/rails_app_generator/compare/v0.2.3...v0.2.4) (2022-08-10)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * add lograge addon ([e980bb2](https://github.com/klueless-io/rails_app_generator/commit/e980bb2ccf46a33aba755c0370a9ae263e820256))
7
+ * cops ([cce097d](https://github.com/klueless-io/rails_app_generator/commit/cce097d61da2a5d8a3d1c335a08820cacb1936f4))
8
+
9
+ ## [0.2.3](https://github.com/klueless-io/rails_app_generator/compare/v0.2.2...v0.2.3) (2022-08-09)
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * add profile - rubocop ([1c30098](https://github.com/klueless-io/rails_app_generator/commit/1c30098ea0abee370aba96f3f7db6748ebdbccd4))
15
+
16
+ ## [0.2.2](https://github.com/klueless-io/rails_app_generator/compare/v0.2.1...v0.2.2) (2022-08-09)
17
+
18
+
19
+ ### Bug Fixes
20
+
21
+ * add application example printspeak ([e07a215](https://github.com/klueless-io/rails_app_generator/commit/e07a215ae1700fd57a23478cb3efe2246fb5a88d))
22
+
1
23
  ## [0.2.1](https://github.com/klueless-io/rails_app_generator/compare/v0.2.0...v0.2.1) (2022-08-08)
2
24
 
3
25
 
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Loads environment variables from `.env`.
4
+ #
5
+ # exe/rag addons/dotenv
6
+
7
+ self.local_template_path = File.dirname(__FILE__)
8
+
9
+ gac 'base rails 7 image created'
10
+
11
+ add_controller('home', 'index')
12
+ route("root 'home#index'")
13
+
14
+ force_copy
15
+
16
+ copy_file 'app/controllers/home_controller.rb' , 'app/controllers/home_controller.rb'
17
+ copy_file 'app/views/home/index.html.erb' , 'app/views/home/index.html.erb'
18
+
19
+ template 'app/views/layouts/application.html.erb' , 'app/views/layouts/application.html.erb'
20
+
21
+ template 'db/seeds.rb' , 'db/seeds.rb'
@@ -0,0 +1,7 @@
1
+ class HomeController < ApplicationController
2
+ def index
3
+ end
4
+
5
+ def some_action
6
+ end
7
+ end
@@ -0,0 +1,10 @@
1
+ <h1>Dotenv</h1>
2
+
3
+ <h2>Loads environment variables from `.env`.</h2>
4
+
5
+ <pre>
6
+ ENV['RAILS_ENV'] = <%= ENV['RAILS_ENV'] %>
7
+ ENV['DATABASE_HOST'] = <%= ENV['DATABASE_HOST'] %>
8
+ ENV['DATABASE_USERNAME'] = <%= ENV['DATABASE_USERNAME'] %>
9
+ ENV['DATABASE_PASSWORD'] = <%= ENV['DATABASE_PASSWORD'] %>
10
+ </pre>
@@ -0,0 +1,19 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title><%= camelized %></title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <%%= csrf_meta_tags %>
7
+ <%%= csp_meta_tag %>
8
+
9
+ <%- if options[:skip_hotwire] || options[:skip_javascript] -%>
10
+ <%%= stylesheet_link_tag "application" %>
11
+ <%- else -%>
12
+ <%%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>
13
+ <%- end -%>
14
+ </head>
15
+
16
+ <body>
17
+ <%%= yield %>
18
+ </body>
19
+ </html>
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Tame Rails multi-line logging into a single line per request
4
+ #
5
+ # exe/rag addons/lograge
6
+
7
+ self.local_template_path = File.dirname(__FILE__)
8
+
9
+ gac 'base rails 7 image created'
10
+
11
+ bundle_install
12
+
13
+ add_controller('home', 'index')
14
+
15
+ route("root 'home#index'")
16
+
17
+ force_copy
18
+
19
+ directory "app/controllers"
20
+ directory "app/views/home"
21
+ directory "app/views/layouts"
22
+ template 'app/views/layouts/application.html.erb' , 'app/views/layouts/application.html.erb'
@@ -0,0 +1,9 @@
1
+ class HomeController < ApplicationController
2
+ def index
3
+ logger.debug("I'm a debug log")
4
+ logger.info("I'm an info log")
5
+ logger.warn("I'm a warn log")
6
+ logger.error("I'm an error log: error message")
7
+ logger.fatal("I'm a fatal log")
8
+ end
9
+ end
@@ -0,0 +1,11 @@
1
+ <style>
2
+ .alert { color: red; }
3
+ .notice { color: green; }
4
+ </style>
5
+
6
+ <% flash.each do |type, msg| %><div class="<%= type %>"><%= msg %></div><% end %>
7
+ <% if flash.any? %><hr /><% end %>
8
+
9
+ <h1>Lograge</h1>
10
+
11
+ <h2>Tame Rails' multi-line logging into a single line per request</h2>
@@ -0,0 +1,21 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title><%= camelized %></title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <%%= csrf_meta_tags %>
7
+ <%%= csp_meta_tag %>
8
+
9
+ <%- if options[:skip_hotwire] || options[:skip_javascript] -%>
10
+ <%%= stylesheet_link_tag "application" %>
11
+ <%- else -%>
12
+ <%%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>
13
+ <%- end -%>
14
+ </head>
15
+
16
+ <body>
17
+ <main>
18
+ <%%= yield %>
19
+ </main>
20
+ </body>
21
+ </html>
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ # PublicSuffix can parse and decompose a domain name into top level domain, domain and subdomains.
4
+ #
5
+ # exe/rag addons/public_suffix
6
+
7
+ self.local_template_path = File.dirname(__FILE__)
8
+
9
+ gac 'base rails 7 image created'
10
+
11
+ bundle_install
12
+
13
+ add_controller('home', 'index')
14
+
15
+ route("root 'home#index'")
16
+
17
+ force_copy
18
+
19
+ directory "app/controllers"
20
+ directory "app/views/home"
21
+ directory "app/views/layouts"
22
+ template 'app/views/layouts/application.html.erb' , 'app/views/layouts/application.html.erb'
23
+
@@ -0,0 +1,7 @@
1
+ class HomeController < ApplicationController
2
+ def index
3
+ end
4
+
5
+ def some_action
6
+ end
7
+ end
@@ -0,0 +1,29 @@
1
+ <h1>Public suffix</h1>
2
+
3
+ <h2>PublicSuffix can parse and decompose a domain name into top level domain, domain and subdomains.</h2>
4
+
5
+ <hr />
6
+
7
+ <p>PublicSuffix.domain("<b>KlueLess.io</b>")</p>
8
+ <code><%= PublicSuffix.domain("KlueLess.io") %></code>
9
+ <br><br>
10
+ <p>PublicSuffix.domain("<b>AppyDave.com</b>")</p>
11
+ <code><%= PublicSuffix.domain("AppyDave.com") %></code>
12
+ <br><br>
13
+ <p>PublicSuffix.domain("<b>www.google.com</b>")</p>
14
+ <code><%= PublicSuffix.domain("www.google.com") %></code>
15
+ <br><br>
16
+ <p>PublicSuffix.domain("<b>www.google.co.uk</b>")</p>
17
+ <code><%= PublicSuffix.domain("www.google.co.uk") %></code>
18
+ <br><br>
19
+
20
+ <hr />
21
+
22
+ <p>domain = PublicSuffix.parse("<b>www.google.com</b>")</p>
23
+ <% domain = PublicSuffix.parse("www.google.com") %>
24
+
25
+ <p>tld: <code><b><%= domain.tld %></b></code>
26
+ <p>sld: <code><b><%= domain.sld %></b></code>
27
+ <p>trd: <code><b><%= domain.trd %></b></code>
28
+ <p>domain: <code><b><%= domain.domain %></b></code>
29
+ <p>subdomain: <code><b><%= domain.subdomain %></b></code>
@@ -0,0 +1,23 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title><%= camelized %></title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <%%= csrf_meta_tags %>
7
+ <%%= csp_meta_tag %>
8
+
9
+ <%- if options[:skip_hotwire] || options[:skip_javascript] -%>
10
+ <%%= stylesheet_link_tag "application" %>
11
+ <%- else -%>
12
+ <%%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>
13
+ <%- end -%>
14
+ <style>
15
+ .alert { color: red; }
16
+ .notice { color: green; }
17
+ </style>
18
+ </head>
19
+
20
+ <body>
21
+ <%%= yield %>
22
+ </body>
23
+ </html>
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ # RuboCop is a Ruby code style checking and code formatting tool.
4
+ #
5
+ # exe/rag addons/rubocop
6
+
7
+ self.local_template_path = File.dirname(__FILE__)
8
+
9
+ gac 'base rails 7 image created'
10
+
11
+ add_controller('home', 'index')
12
+ route("root 'home#index'")
13
+
14
+ after_bundle do
15
+ # This will clean up the standard Rails application
16
+ run('rubocop -A --config .rubocop.yml')
17
+
18
+ # There are linting errors in the controller that can be fixed manually with
19
+ # rubocop -A --config .rubocop.yml
20
+
21
+ force_copy
22
+
23
+ copy_file 'app/controllers/home_controller.rb' , 'app/controllers/home_controller.rb'
24
+ copy_file 'app/views/home/index.html.erb' , 'app/views/home/index.html.erb'
25
+ copy_file 'app/assets/images/cop-output.png' , 'app/assets/images/cop-output.png'
26
+
27
+ template 'app/views/layouts/application.html.erb' , 'app/views/layouts/application.html.erb'
28
+ end
29
+
@@ -0,0 +1,21 @@
1
+ class HomeController < ApplicationController
2
+ def index
3
+ # badly formatted code that will be picked up by RuboCop
4
+
5
+ # rubocop -A --config .rubocop.yml
6
+ # will not resolve this issue, you need to manually fix it
7
+ a = 1
8
+
9
+ person1 = 'John'
10
+ person2 = 'Jane'
11
+ person3 = 'Jack'
12
+ person4 = 'Jill'
13
+
14
+ people = [person1, person2, person3, person4]
15
+
16
+ puts people if people.length > 0
17
+ end
18
+
19
+ def some_action
20
+ end
21
+ end
@@ -0,0 +1,46 @@
1
+ <h1>Rubocop</h1>
2
+
3
+ <h2>RuboCop is a Ruby code style checking and code formatting tool.</h2>
4
+
5
+ <p>It aims to enforce the community-driven Ruby Style Guide.</p>
6
+
7
+ <hr />
8
+
9
+ <h3>.rubocop.yml</h3>
10
+
11
+ <pre>
12
+ <code>
13
+ <%= File.read('.rubocop.yml') %>
14
+ </code>
15
+ </pre>
16
+
17
+ <hr />
18
+
19
+ <h3>controllers/home_controller.rb</h3>
20
+
21
+ <pre>
22
+ <code>
23
+ <%= File.read('app/controllers/home_controller.rb') %>
24
+ </code>
25
+ </pre>
26
+
27
+ <hr />
28
+
29
+ <h3>Call rubocop variations</h3>
30
+
31
+ <pre>
32
+ <code>
33
+ # uses .rubocop.yml and any hierarchy configs
34
+ rubocop
35
+
36
+ # uses .rubocop.yml only
37
+ rubocop --config .rubocop.yml
38
+
39
+ # uses will AutoCorrect offenses
40
+ rubocop -A --config .rubocop.yml
41
+ </code>
42
+ </pre>
43
+
44
+ <hr />
45
+
46
+ <%= image_tag 'cop-output' %>
@@ -0,0 +1,19 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title><%= camelized %></title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <%%= csrf_meta_tags %>
7
+ <%%= csp_meta_tag %>
8
+
9
+ <%- if options[:skip_hotwire] || options[:skip_javascript] -%>
10
+ <%%= stylesheet_link_tag "application" %>
11
+ <%- else -%>
12
+ <%%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>
13
+ <%- end -%>
14
+ </head>
15
+
16
+ <body>
17
+ <%%= yield %>
18
+ </body>
19
+ </html>
@@ -9,28 +9,36 @@ self.local_template_path = File.dirname(__FILE__)
9
9
  gac 'base rails 7 image created'
10
10
 
11
11
  add_controller('home', 'index')
12
- add_controller('page', 'blog', 'readme', 'about', 'contact', 'faq', 'terms', 'privacy')
12
+ add_controller('page', 'benefits', 'faq', 'terms', 'privacy', '--skip-routes')
13
13
 
14
14
  route("root 'home#index'")
15
+ route(<<-'RUBY')
16
+ PageController.action_methods.each do |action|
17
+ get "/#{action}", to: "page##{action}", as: "page_#{action}"
18
+ end
19
+ RUBY
15
20
 
16
- force_copy
17
-
18
- copy_file 'app/controllers/home_controller.rb' , 'app/controllers/home_controller.rb'
19
- copy_file 'app/views/home/index.html.erb' , 'app/views/home/index.html.erb'
20
-
21
- copy_file 'app/views/layouts/_alerts.html.erb' , 'app/views/layouts/_alerts.html.erb'
22
- copy_file 'app/views/layouts/_navbar.html.erb' , 'app/views/layouts/_navbar.html.erb'
23
- copy_file 'app/views/layouts/_footer.html.erb' , 'app/views/layouts/_footer.html.erb'
24
- template 'app/views/layouts/application.html.erb' , 'app/views/layouts/application.html.erb'
21
+ after_bundle do
22
+ customizations
23
+ setup_db
24
+ rubocop
25
+ end
25
26
 
26
- template 'db/seeds.rb' , 'db/seeds.rb'
27
+ def customizations
28
+ force_copy
27
29
 
28
- after_bundle do
29
30
  directory "app/assets/images"
30
31
  directory "app/assets/stylesheets"
32
+
33
+ directory "app/controllers"
34
+
35
+ directory "app/views/home"
31
36
  directory "app/views/page"
32
37
 
33
- setup_db
38
+ directory "app/views/layouts"
39
+ template 'app/views/layouts/application.html.erb' , 'app/views/layouts/application.html.erb'
40
+
41
+ template 'db/seeds.rb' , 'db/seeds.rb'
34
42
  end
35
43
 
36
44
  def setup_db
@@ -39,17 +47,3 @@ def setup_db
39
47
 
40
48
  db_migrate
41
49
  end
42
-
43
- # Other template command examples
44
- # css_install('tailwind')
45
- # rails_command('db:migrate')
46
- # bundle_add('hotwire-rails')
47
- # rails_command('hotwire:install')
48
- # run('bin/importmap pin sortablejs')
49
- # run('npm install daisyui')
50
- # create_file 'app/assets/stylesheets/custom-bootstrap-import.scss' , read_template('custom-bootstrap-import.scss')
51
- # append_to_file 'app/assets/config/manifest.js' , read_template('manifest.js')
52
- # insert_into_file 'app/views/layouts/application.html.erb', read_template('application.html.erb'),
53
- # before: %( <%= javascript_include_tag "application", "data-turbo-track": "reload", defer: true %>)
54
- # gsub_file 'app/views/layouts/application.html.erb', %(container mx-auto mt-28 px-5 flex), 'container mx-auto px-5'
55
- # template 'home.css', 'app/assets/stylesheets/home.css'
@@ -1,3 +1,3 @@
1
1
  @import 'bootstrap/scss/bootstrap';
2
2
  @import 'bootstrap-icons/font/bootstrap-icons';
3
- @import 'home/styles.scss'
3
+ @import 'page/styles.scss'
@@ -0,0 +1,52 @@
1
+ //
2
+ // pagehead section styling
3
+ //
4
+
5
+ header.pagehead {
6
+ padding-top: 6rem;
7
+ padding-bottom: 2rem;
8
+ text-align: center;
9
+ color: $white;
10
+ background-image: url("header-bg.jpg");
11
+ background-repeat: no-repeat;
12
+ background-attachment: scroll;
13
+ background-position: center center;
14
+ background-size: cover;
15
+
16
+ .pagehead-subheading {
17
+ font-size: 1.5rem;
18
+ font-style: italic;
19
+ line-height: 1.5rem;
20
+ margin-bottom: 25px;
21
+ font-family: $subheadings-font-family;
22
+ }
23
+
24
+ .pagehead-heading {
25
+ font-size: 3.25rem;
26
+ font-weight: 700;
27
+ line-height: 3.25rem;
28
+ margin-bottom: 2rem;
29
+ font-family: $headings-font-family;
30
+ }
31
+ }
32
+
33
+ @include media-breakpoint-up(md) {
34
+ header.pagehead {
35
+ padding-top: 6rem;
36
+ padding-bottom: 2rem;
37
+
38
+ .pagehead-subheading {
39
+ font-size: 2.25rem;
40
+ font-style: italic;
41
+ line-height: 2.25rem;
42
+ margin-bottom: 2rem;
43
+ }
44
+
45
+ .pagehead-heading {
46
+ font-size: 4.5rem;
47
+ font-weight: 700;
48
+ line-height: 4.5rem;
49
+ margin-bottom: 4rem;
50
+ }
51
+ }
52
+ }
@@ -17,6 +17,7 @@
17
17
 
18
18
  // Sections
19
19
  @import "./sections/masthead.scss";
20
+ @import "./sections/pagehead.scss";
20
21
  @import "./sections/portfolio.scss";
21
22
  @import "./sections/timeline.scss";
22
23
  @import "./sections/team.scss";
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ class ApplicationController < ActionController::Base
4
+
5
+ # Don't expose any of these methods as action_methods
6
+ protected
7
+
8
+ def navbar_partial(partial = nil)
9
+ @partial_navbar = partial if partial
10
+ return @partial_navbar if defined? @partial_navbar
11
+
12
+ @partial_navbar = 'layouts/navbar'
13
+ end
14
+ helper_method :navbar_partial
15
+
16
+ def footer_partial(partial = nil)
17
+ @partial_footer = partial if partial
18
+ return @partial_footer if defined? @partial_footer
19
+
20
+ @partial_footer = 'layouts/footer'
21
+ end
22
+ helper_method :footer_partial
23
+
24
+ # Useful for scripts that go just before </head>
25
+ def head_partial(partial = nil)
26
+ @partial_head = partial if partial
27
+ return @partial_head if defined? @partial_head
28
+
29
+ @partial_head = 'layouts/head'
30
+ end
31
+ helper_method :head_partial
32
+
33
+ # Useful for scripts that go just before </body>
34
+ def body_end_partial(partial = nil)
35
+ @partial_body_end = partial if partial
36
+ return @partial_body_end if defined? @partial_body_end
37
+
38
+ @partial_body_end = 'layouts/body_end'
39
+ end
40
+ helper_method :body_end_partial
41
+ end
@@ -1,7 +1,7 @@
1
1
  class HomeController < ApplicationController
2
- def index
3
- end
2
+ before_action { navbar_partial('navbar') }
3
+ before_action { body_end_partial('body_end') }
4
4
 
5
- def some_action
5
+ def index
6
6
  end
7
7
  end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ class PageController < ApplicationController
4
+ before_action { navbar_partial('navbar') }
5
+
6
+ def benefits; end
7
+
8
+ def faq; end
9
+
10
+ def terms; end
11
+
12
+ def privacy; end
13
+ end