landing_boi 0.1.0

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 (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: []