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.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +51 -0
- data/Rakefile +32 -0
- data/app/assets/config/landing_boi_manifest.js +3 -0
- data/app/assets/images/landing_boi/avatar_charlie.png +0 -0
- data/app/assets/images/landing_boi/avatar_tom.jpg +0 -0
- data/app/assets/images/landing_boi/logo.svg +11 -0
- data/app/assets/images/landing_boi/screenshot.png +0 -0
- data/app/assets/javascripts/landing_boi/application.js +18 -0
- data/app/assets/stylesheets/bootstrap_customizer.scss +6 -0
- data/app/assets/stylesheets/landing_boi/_header.scss +6 -0
- data/app/assets/stylesheets/landing_boi/_index.scss +59 -0
- data/app/assets/stylesheets/landing_boi/application.scss +37 -0
- data/app/assets/stylesheets/landing_boi/bootstrap_overrides.scss +7 -0
- data/app/controllers/landing_boi/application_controller.rb +5 -0
- data/app/controllers/landing_boi/landing_controller.rb +25 -0
- data/app/helpers/landing_boi/application_helper.rb +16 -0
- data/app/jobs/landing_boi/application_job.rb +4 -0
- data/app/mailers/landing_boi/application_mailer.rb +6 -0
- data/app/models/landing_boi/application_record.rb +5 -0
- data/app/views/landing_boi/landing/_faqs.html.erb +19 -0
- data/app/views/landing_boi/landing/_features.html.erb +24 -0
- data/app/views/landing_boi/landing/_hero_a.html.erb +13 -0
- data/app/views/landing_boi/landing/_pricing_blurb.html.erb +23 -0
- data/app/views/landing_boi/landing/_recommendations.html.erb +30 -0
- data/app/views/landing_boi/landing/_screenshot.html.erb +9 -0
- data/app/views/landing_boi/landing/_signup_buttons.html.erb +7 -0
- data/app/views/landing_boi/landing/_social_proof.html.erb +13 -0
- data/app/views/landing_boi/landing/about.html.erb +42 -0
- data/app/views/landing_boi/landing/features.html.erb +25 -0
- data/app/views/landing_boi/landing/features/_final_blurb.html.erb +9 -0
- data/app/views/landing_boi/landing/features/_hero.html.erb +7 -0
- data/app/views/landing_boi/landing/features/_social_proof.html.erb +9 -0
- data/app/views/landing_boi/landing/index.html.erb +23 -0
- data/app/views/landing_boi/landing/pricing.html.erb +49 -0
- data/app/views/landing_boi/landing/pricing/_pricing_tiles.html.erb +28 -0
- data/app/views/landing_boi/landing/pricing/_social_proof.html.erb +9 -0
- data/app/views/landing_boi/landing/privacy.html.erb +19 -0
- data/app/views/landing_boi/landing/terms.html.erb +42 -0
- data/app/views/layouts/landing_boi/_footer.html.erb +60 -0
- data/app/views/layouts/landing_boi/_header.html.erb +23 -0
- data/app/views/layouts/landing_boi/application.html.erb +22 -0
- data/config/routes.rb +8 -0
- data/lib/generators/landing_boi/config_generator.rb +15 -0
- data/lib/generators/landing_boi/views_generator.rb +11 -0
- data/lib/landing_boi.rb +263 -0
- data/lib/landing_boi/engine.rb +16 -0
- data/lib/landing_boi/version.rb +3 -0
- data/lib/tasks/landing_boi_tasks.rake +4 -0
- 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
|
data/lib/landing_boi.rb
ADDED
@@ -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
|
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: []
|