landing_boi 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +51 -0
  4. data/Rakefile +32 -0
  5. data/app/assets/config/landing_boi_manifest.js +3 -0
  6. data/app/assets/images/landing_boi/avatar_charlie.png +0 -0
  7. data/app/assets/images/landing_boi/avatar_tom.jpg +0 -0
  8. data/app/assets/images/landing_boi/logo.svg +11 -0
  9. data/app/assets/images/landing_boi/screenshot.png +0 -0
  10. data/app/assets/javascripts/landing_boi/application.js +18 -0
  11. data/app/assets/stylesheets/bootstrap_customizer.scss +6 -0
  12. data/app/assets/stylesheets/landing_boi/_header.scss +6 -0
  13. data/app/assets/stylesheets/landing_boi/_index.scss +59 -0
  14. data/app/assets/stylesheets/landing_boi/application.scss +37 -0
  15. data/app/assets/stylesheets/landing_boi/bootstrap_overrides.scss +7 -0
  16. data/app/controllers/landing_boi/application_controller.rb +5 -0
  17. data/app/controllers/landing_boi/landing_controller.rb +25 -0
  18. data/app/helpers/landing_boi/application_helper.rb +16 -0
  19. data/app/jobs/landing_boi/application_job.rb +4 -0
  20. data/app/mailers/landing_boi/application_mailer.rb +6 -0
  21. data/app/models/landing_boi/application_record.rb +5 -0
  22. data/app/views/landing_boi/landing/_faqs.html.erb +19 -0
  23. data/app/views/landing_boi/landing/_features.html.erb +24 -0
  24. data/app/views/landing_boi/landing/_hero_a.html.erb +13 -0
  25. data/app/views/landing_boi/landing/_pricing_blurb.html.erb +23 -0
  26. data/app/views/landing_boi/landing/_recommendations.html.erb +30 -0
  27. data/app/views/landing_boi/landing/_screenshot.html.erb +9 -0
  28. data/app/views/landing_boi/landing/_signup_buttons.html.erb +7 -0
  29. data/app/views/landing_boi/landing/_social_proof.html.erb +13 -0
  30. data/app/views/landing_boi/landing/about.html.erb +42 -0
  31. data/app/views/landing_boi/landing/features.html.erb +25 -0
  32. data/app/views/landing_boi/landing/features/_final_blurb.html.erb +9 -0
  33. data/app/views/landing_boi/landing/features/_hero.html.erb +7 -0
  34. data/app/views/landing_boi/landing/features/_social_proof.html.erb +9 -0
  35. data/app/views/landing_boi/landing/index.html.erb +23 -0
  36. data/app/views/landing_boi/landing/pricing.html.erb +49 -0
  37. data/app/views/landing_boi/landing/pricing/_pricing_tiles.html.erb +28 -0
  38. data/app/views/landing_boi/landing/pricing/_social_proof.html.erb +9 -0
  39. data/app/views/landing_boi/landing/privacy.html.erb +19 -0
  40. data/app/views/landing_boi/landing/terms.html.erb +42 -0
  41. data/app/views/layouts/landing_boi/_footer.html.erb +60 -0
  42. data/app/views/layouts/landing_boi/_header.html.erb +23 -0
  43. data/app/views/layouts/landing_boi/application.html.erb +22 -0
  44. data/config/routes.rb +8 -0
  45. data/lib/generators/landing_boi/config_generator.rb +15 -0
  46. data/lib/generators/landing_boi/views_generator.rb +11 -0
  47. data/lib/landing_boi.rb +263 -0
  48. data/lib/landing_boi/engine.rb +16 -0
  49. data/lib/landing_boi/version.rb +3 -0
  50. data/lib/tasks/landing_boi_tasks.rake +4 -0
  51. metadata +189 -0
@@ -0,0 +1,11 @@
1
+ module LandingBoi
2
+ class ViewsGenerator < Rails::Generators::Base
3
+ desc "Adds landing_boi views to main applications app/views (so they can be customized)"
4
+ source_root File.expand_path("../../../../app/views/", __FILE__)
5
+
6
+ def copy_views
7
+ directory 'landing_boi/landing', 'app/views/landing_boi/landing'
8
+ directory 'layouts/landing_boi', 'app/views/layouts/landing_boi'
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,263 @@
1
+ require "landing_boi/engine"
2
+
3
+ # START CONFIG
4
+ module LandingBoi
5
+ mattr_accessor :assets, :urls, :css, :text, :footer, :plans, :startup, :features, :features_secondary, :recommendations, :faqs
6
+
7
+ self.assets = {
8
+ logo_path: 'landing_boi/logo.svg',
9
+ screenshot_path: 'landing_boi/screenshot.png',
10
+ pricing_img_path: 'landing_boi/logo.svg',
11
+ plans: [
12
+ 'landing_boi/logo.svg',
13
+ 'landing_boi/logo.svg',
14
+ 'landing_boi/logo.svg',
15
+ ],
16
+ }
17
+
18
+ self.urls = {
19
+ sign_in: '/sign-in',
20
+ get_started: '/get-started',
21
+ support: 'mailto:support@yourcompany.com',
22
+ demo: '/demo',
23
+ logo: '/',
24
+ features: '/features',
25
+ pricing: '/pricing',
26
+ about: '/about',
27
+ blog: '/blog',
28
+ twitter: 'https://twitter.com/charlieinthe6',
29
+ terms: '/terms',
30
+ privacy: '/privacy',
31
+ podcast: 'https://charliereese.ca/devpreneur-podcast',
32
+ website_root: 'https://product-domain.com',
33
+ }
34
+
35
+ self.startup = {
36
+ founders: ['Jackie Chan'],
37
+ product: 'Pied Piper',
38
+ attributes: ["simple", "reliable", "effective"],
39
+ legal_entity: 'Shell Company Inc.',
40
+ feature: 'file compression',
41
+ feature_alternatives: ['shrinking files', 'compressing songs and videos'],
42
+ competitor: 'Nucleus',
43
+ unnecessary_actions: ['waiting for files to load', 'sharing your data with big corporations'],
44
+ benefits: ['save bandwidth', 'access your files immediately on any device'],
45
+ primary_customer: 'small businesses',
46
+ other_customers: ['developers', 'teachers', 'enterprises'],
47
+ effective_date: '18 October, 2020',
48
+ location: 'Ontario, Canada',
49
+ }
50
+
51
+ self.features = [
52
+ {
53
+ title: 'Feature A',
54
+ text: "Our FEATURE gives you what you want: XYZ NEED, ABC need, and OTHER NEED. She sells sea shells by the sea shore, so that you can buy them by the sea shore.",
55
+ img_path: 'landing_boi/logo.svg',
56
+ },
57
+ {
58
+ title: 'Feature B',
59
+ text: "Our FEATURE gives you what you want: XYZ NEED, ABC need, and OTHER NEED. She sells sea shells by the sea shore, so that you can buy them by the sea shore.",
60
+ img_path: 'landing_boi/logo.svg',
61
+ },
62
+ {
63
+ title: 'Feature C',
64
+ text: "Our FEATURE gives you what you want: XYZ NEED, ABC need, and OTHER NEED. She sells sea shells by the sea shore, so that you can buy them by the sea shore.",
65
+ img_path: 'landing_boi/logo.svg',
66
+ },
67
+ ]
68
+
69
+ self.features_secondary = [
70
+ {
71
+ title: 'Secondary feature',
72
+ text: "Our FEATURE gives you what you want: XYZ NEED, ABC need, and OTHER NEED. She sells sea shells by the sea shore, so that you can buy them by the sea shore.",
73
+ img_path: 'landing_boi/logo.svg',
74
+ },
75
+ {
76
+ title: 'Secondary feature 2',
77
+ text: "Our FEATURE gives you what you want: XYZ NEED, ABC need, and OTHER NEED. She sells sea shells by the sea shore, so that you can buy them by the sea shore.",
78
+ img_path: 'landing_boi/logo.svg',
79
+ },
80
+ {
81
+ title: 'Secondary feature 3',
82
+ text: "Our FEATURE gives you what you want: XYZ NEED, ABC need, and OTHER NEED. She sells sea shells by the sea shore, so that you can buy them by the sea shore.",
83
+ img_path: 'landing_boi/logo.svg',
84
+ },
85
+ ]
86
+
87
+ self.plans = [
88
+ {
89
+ title: 'Solo-preneur',
90
+ image: assets[:plans][0],
91
+ price: '$19',
92
+ freq: 'month',
93
+ description: '100 texts / month<br />Unlimited users',
94
+ },
95
+ {
96
+ title: 'Small business',
97
+ image: assets[:plans][1],
98
+ price: '$39',
99
+ freq: 'month',
100
+ description: '300 texts / month<br />Unlimited users',
101
+
102
+ },
103
+ {
104
+ title: 'Enterprise',
105
+ image: assets[:plans][2],
106
+ price: '$99',
107
+ freq: 'month',
108
+ description: '1000 texts / month<br />Unlimited users',
109
+ },
110
+ ]
111
+
112
+ recommendations = [
113
+ {
114
+ name: "Charlie Reese",
115
+ text: "The <mark>best source of <a href='https://railsbytes.com/public/templates'>rails application templates</mark> for adding functionality to your new / existing rails app</a>! The future of low-code is here!",
116
+ url: "https://twitter.com/charlieinthe6/status/1298400459661758464",
117
+ img_path: "landing_boi/avatar_charlie.png",
118
+ },
119
+ {
120
+ name: "Tom Zaragoza",
121
+ text: "On the <mark>other side of what you're afraid of is what you really want.</mark> Set your eyes on that.",
122
+ url: "https://twitter.com/tomzaragoza/status/953638860738609153",
123
+ img_path: "landing_boi/avatar_tom.jpg",
124
+ },
125
+ {
126
+ name: "Charlie Reese",
127
+ text: "Writing boilerplate is :( But I also don't like no-code because I like the flexibility of writing some code. <mark>Low-code (only when needed) is the way to go</mark>.",
128
+ url: "https://twitter.com/charlieinthe6/status/1296951410060386304",
129
+ img_path: "landing_boi/avatar_charlie.png",
130
+ },
131
+ ]
132
+
133
+ self.faqs = [
134
+ {
135
+ title: "Can I use #{startup[:product]} for #{startup[:feature_alternatives].second}?",
136
+ text: "Yes, you can use #{startup[:product]} for #{startup[:feature_alternatives].first}, and WHAT HAPPENS WHEN YOU DO ACTION. We also have ALTERNATIVE TO ACTION OR ANOTHER BENEFIT: HOW THIS WORKS IN MORE DETAIL.",
137
+ },
138
+ {
139
+ title: "How do I perform #{startup[:feature]}?",
140
+ text: "You WAY TO DO ACTION. It's HOW IT WORKS IN MORE DETAIL.<br><br>Our software MORE INFO.",
141
+ },
142
+ {
143
+ title: "What happens if I don't like #{startup[:product]}?",
144
+ text: "If you don't like #{startup[:product]} during our free trial, you may simply stop using it, and we won't ever charge you. If you have a paid account, and you do not like #{startup[:product]}, we welcome you to either <a href='#{urls[:support]}'>request support</a>, or simply cancel your account (on the account settings page) - whatever is best for you!<br><br>After you cancel your account, you will not be charged again.",
145
+ },
146
+ ]
147
+
148
+ self.css = {
149
+ col_class: 'col-12 col-lg-10 col-xl-8 mx-auto',
150
+ }
151
+
152
+ self.text = {
153
+ about: {
154
+ h1: "About #{startup[:product]}",
155
+ h1_subtitle: "We provide #{startup[:attributes].slice(0,2).join(', ')}, #{startup[:feature]} to our fantastic customers. We have been building and supporting great products like #{startup[:product]} for several years now, and have no plans to stop!",
156
+ sections: [
157
+ {
158
+ h3: "Self-funded and independent",
159
+ ps: [
160
+ "#{startup[:product]} was built and funded by #{startup[:founders].join(', ')}, without outside investment. This means #{startup[:product]} can focus on what is best for you, and not what is best for greedy venture capital investors."
161
+ ],
162
+ },
163
+ {
164
+ h3: "Simple by design",
165
+ ps: [
166
+ "At #{startup[:product]}, we think less is more. We don't believe in complicated features or confusing designs. #{startup[:product]} is easy to use, and provides #{startup[:attributes].slice(0,2).join(', ')}, #{startup[:feature]}, nothing more.",
167
+ ],
168
+ },
169
+ {
170
+ h3: "Small and proud",
171
+ ps: [
172
+ "#{startup[:product]} was created by, and is run almost entirely by, #{startup[:founders].join(', ')}. We are proud of what we've built with so few hands, enjoy doing customer support ourselves, and love being small.",
173
+ ],
174
+ },
175
+ {
176
+ h3: "Questions?",
177
+ ps: [
178
+ "Please ask us <a href='#{urls[:support]}'>via email</a> - you'll reach #{startup[:founders].to_sentence last_word_connector: ' or '}. They will be happy to help :)",
179
+ ],
180
+ },
181
+
182
+ ],
183
+ },
184
+ pricing: {
185
+ h1: "Simple pricing for all",
186
+ h1_subtitle: "#{startup[:feature].capitalize} is easier with #{startup[:product]}. <a href='#{urls[:get_started]}'>Try it for 7 days for free</a> and see for yourself!",
187
+ notes: [
188
+ "Note: all pricing is in USD",
189
+ "Need a bigger plan? <a href='#{urls[:support]}'>Contact us</a>.",
190
+ ],
191
+ social_proof: {
192
+ title: 'What our wonderful customers are saying about us:',
193
+ },
194
+ assurance: {
195
+ title: "Included on every plan",
196
+ paragraphs: [
197
+ "Enthusiastic email support, no suprise charges, and no long-term contracts. Cancel anytime!",
198
+ "Have a question? We are just <a href='#{urls[:support]}'>an email away</a>.",
199
+ ],
200
+ },
201
+ },
202
+ index: {
203
+ h1: "Your #{startup[:feature]} should be #{startup[:attributes].to_sentence}",
204
+ h1_subtitle: "#{startup[:product]} is a #{startup[:attributes][0..1].to_sentence} alternative to #{startup[:competitor]}. So stop #{startup[:unnecessary_actions].to_sentence}. #{startup[:product]} takes care of #{startup[:feature_alternatives].first} so you can #{startup[:benefits].to_sentence}.",
205
+ pricing: {
206
+ title: "Try #{startup[:feature_alternatives].first} today, for free",
207
+ text: "#{startup[:product]} is <mark>#{startup[:attributes][0..1].join(', yet ')}</mark> #{startup[:feature]}. Our <a href='#{urls[:pricing]}' class='text-secondary'><u>pricing</u></a> starts at #{plans.first[:price]} / #{plans.first[:freq]}, and you can cancel anytime.",
208
+ },
209
+ social_proof: {
210
+ title: "#{startup[:product]} is trusted by #{startup[:primary_customer]} to power their #{startup[:feature]}",
211
+ p: "We’re also used by #{startup[:other_customers].to_sentence}, who trust our software to provide them with a #{startup[:attributes][0..1].to_sentence} alternative to #{startup[:competitor]}.",
212
+ }
213
+ },
214
+ features_page: {
215
+ h1: "#{startup[:feature].capitalize}, no training required",
216
+ h1_subtitle: "#{startup[:feature_alternatives].first.capitalize} from a single, simple dashboard. There's no setup, and help is <a href='#{urls[:support]}'>an email away</a>.",
217
+ social_proof: {
218
+ title: "#{startup[:product]} has the best customers. What they're saying:",
219
+ },
220
+ final_blurb: {
221
+ title: "#{startup[:product]} is #{startup[:attributes].first}. You'll love it.",
222
+ p: "#{startup[:product]} provides #{startup[:attributes][1..-1].to_sentence} #{startup[:feature]}. Pricing starts at #{plans.first[:price]} / #{plans.first[:freq]}, and you can cancel anytime. Check out our pricing and get started with a <a href='#{urls[:get_started]}'>free trial</a>.",
223
+ }
224
+ },
225
+ buttons: {
226
+ get_started: 'Get started for free',
227
+ demo: 'View live demo',
228
+ },
229
+ features: features,
230
+ features_secondary: features_secondary,
231
+ recommendations: recommendations,
232
+ faqs: faqs,
233
+ }
234
+
235
+ self.footer = {
236
+ product: {
237
+ name: "#{startup[:product]}",
238
+ plug: "We’ve generated +10 million trillion landing pages for our users so far.",
239
+ company: "#{startup[:legal_entity]}",
240
+ },
241
+ links: {
242
+ product: {
243
+ features: urls[:features],
244
+ pricing: urls[:pricing],
245
+ demo: urls[:demo],
246
+ "free trial": urls[:get_started],
247
+ },
248
+ company: {
249
+ about: urls[:about],
250
+ blog: urls[:blog],
251
+ support: urls[:support],
252
+ twitter: urls[:twitter],
253
+ },
254
+ resources: {
255
+ login: urls[:sign_in],
256
+ terms: urls[:terms],
257
+ privacy: urls[:privacy],
258
+ podcast: urls[:podcast],
259
+ },
260
+ }
261
+ }
262
+ end
263
+ # STOP CONFIG
@@ -0,0 +1,16 @@
1
+ require 'byebug'
2
+
3
+ module LandingBoi
4
+ class Engine < ::Rails::Engine
5
+ isolate_namespace LandingBoi
6
+
7
+ require 'bootstrap'
8
+ require 'jquery-rails'
9
+ require 'rails-ujs'
10
+ require "font-awesome-rails"
11
+
12
+ initializer "landing_boi.assets.precompile" do |app|
13
+ app.config.assets.precompile += %w( bootstrap_customizer.scss landing_boi/logo.svg landing_boi/screenshot.png landing_boi/avatar_tom.jpg landing_boi/avatar_charlie.png)
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,3 @@
1
+ module LandingBoi
2
+ VERSION = '0.1.0'
3
+ end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :landing_boi do
3
+ # # Task goes here
4
+ # end
metadata ADDED
@@ -0,0 +1,189 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: landing_boi
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Charlie Reese
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2020-10-19 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 6.0.3
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 6.0.3.2
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: 6.0.3
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 6.0.3.2
33
+ - !ruby/object:Gem::Dependency
34
+ name: bootstrap
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: 5.0.0.alpha1
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: 5.0.0.alpha1
47
+ - !ruby/object:Gem::Dependency
48
+ name: jquery-rails
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '4.3'
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: 4.3.3
57
+ type: :runtime
58
+ prerelease: false
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - "~>"
62
+ - !ruby/object:Gem::Version
63
+ version: '4.3'
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: 4.3.3
67
+ - !ruby/object:Gem::Dependency
68
+ name: rails-ujs
69
+ requirement: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: 0.1.0
74
+ type: :runtime
75
+ prerelease: false
76
+ version_requirements: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: 0.1.0
81
+ - !ruby/object:Gem::Dependency
82
+ name: font-awesome-rails
83
+ requirement: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - "~>"
86
+ - !ruby/object:Gem::Version
87
+ version: '4'
88
+ type: :runtime
89
+ prerelease: false
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - "~>"
93
+ - !ruby/object:Gem::Version
94
+ version: '4'
95
+ - !ruby/object:Gem::Dependency
96
+ name: sqlite3
97
+ requirement: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: '0'
109
+ description: Rails engine for micro-SaaS landing pages.
110
+ email:
111
+ - j.charles.reese@gmail.com
112
+ executables: []
113
+ extensions: []
114
+ extra_rdoc_files: []
115
+ files:
116
+ - MIT-LICENSE
117
+ - README.md
118
+ - Rakefile
119
+ - app/assets/config/landing_boi_manifest.js
120
+ - app/assets/images/landing_boi/avatar_charlie.png
121
+ - app/assets/images/landing_boi/avatar_tom.jpg
122
+ - app/assets/images/landing_boi/logo.svg
123
+ - app/assets/images/landing_boi/screenshot.png
124
+ - app/assets/javascripts/landing_boi/application.js
125
+ - app/assets/stylesheets/bootstrap_customizer.scss
126
+ - app/assets/stylesheets/landing_boi/_header.scss
127
+ - app/assets/stylesheets/landing_boi/_index.scss
128
+ - app/assets/stylesheets/landing_boi/application.scss
129
+ - app/assets/stylesheets/landing_boi/bootstrap_overrides.scss
130
+ - app/controllers/landing_boi/application_controller.rb
131
+ - app/controllers/landing_boi/landing_controller.rb
132
+ - app/helpers/landing_boi/application_helper.rb
133
+ - app/jobs/landing_boi/application_job.rb
134
+ - app/mailers/landing_boi/application_mailer.rb
135
+ - app/models/landing_boi/application_record.rb
136
+ - app/views/landing_boi/landing/_faqs.html.erb
137
+ - app/views/landing_boi/landing/_features.html.erb
138
+ - app/views/landing_boi/landing/_hero_a.html.erb
139
+ - app/views/landing_boi/landing/_pricing_blurb.html.erb
140
+ - app/views/landing_boi/landing/_recommendations.html.erb
141
+ - app/views/landing_boi/landing/_screenshot.html.erb
142
+ - app/views/landing_boi/landing/_signup_buttons.html.erb
143
+ - app/views/landing_boi/landing/_social_proof.html.erb
144
+ - app/views/landing_boi/landing/about.html.erb
145
+ - app/views/landing_boi/landing/features.html.erb
146
+ - app/views/landing_boi/landing/features/_final_blurb.html.erb
147
+ - app/views/landing_boi/landing/features/_hero.html.erb
148
+ - app/views/landing_boi/landing/features/_social_proof.html.erb
149
+ - app/views/landing_boi/landing/index.html.erb
150
+ - app/views/landing_boi/landing/pricing.html.erb
151
+ - app/views/landing_boi/landing/pricing/_pricing_tiles.html.erb
152
+ - app/views/landing_boi/landing/pricing/_social_proof.html.erb
153
+ - app/views/landing_boi/landing/privacy.html.erb
154
+ - app/views/landing_boi/landing/terms.html.erb
155
+ - app/views/layouts/landing_boi/_footer.html.erb
156
+ - app/views/layouts/landing_boi/_header.html.erb
157
+ - app/views/layouts/landing_boi/application.html.erb
158
+ - config/routes.rb
159
+ - lib/generators/landing_boi/config_generator.rb
160
+ - lib/generators/landing_boi/views_generator.rb
161
+ - lib/landing_boi.rb
162
+ - lib/landing_boi/engine.rb
163
+ - lib/landing_boi/version.rb
164
+ - lib/tasks/landing_boi_tasks.rake
165
+ homepage: https://github.com/charliereese/landing_boi
166
+ licenses:
167
+ - MIT
168
+ metadata:
169
+ allowed_push_host: https://RubyGems.org
170
+ post_install_message:
171
+ rdoc_options: []
172
+ require_paths:
173
+ - lib
174
+ required_ruby_version: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - ">="
177
+ - !ruby/object:Gem::Version
178
+ version: '0'
179
+ required_rubygems_version: !ruby/object:Gem::Requirement
180
+ requirements:
181
+ - - ">="
182
+ - !ruby/object:Gem::Version
183
+ version: '0'
184
+ requirements: []
185
+ rubygems_version: 3.1.4
186
+ signing_key:
187
+ specification_version: 4
188
+ summary: Rails engine for micro-SaaS landing pages.
189
+ test_files: []