saaskit 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/.gitignore +10 -0
- data/.travis.yml +7 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +22 -0
- data/LICENSE.txt +21 -0
- data/README.md +81 -0
- data/Rakefile +10 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/lib/generators/saaskit/install/install_generator.rb +207 -0
- data/lib/generators/saaskit/install/templates/README +30 -0
- data/lib/generators/saaskit/install/templates/app/adapters/mailchimp/base_adapter.rb +51 -0
- data/lib/generators/saaskit/install/templates/app/controllers/application_controller.rb +3 -0
- data/lib/generators/saaskit/install/templates/app/controllers/pages_controller.rb +30 -0
- data/lib/generators/saaskit/install/templates/app/forms/newsletter_form.rb +17 -0
- data/lib/generators/saaskit/install/templates/app/helpers/application_helper.rb +10 -0
- data/lib/generators/saaskit/install/templates/app/helpers/meta_tags_helper.rb +21 -0
- data/lib/generators/saaskit/install/templates/app/javascript/controllers/aos_controller.js +12 -0
- data/lib/generators/saaskit/install/templates/app/javascript/controllers/index.js +6 -0
- data/lib/generators/saaskit/install/templates/app/javascript/controllers/notice_controller.js +14 -0
- data/lib/generators/saaskit/install/templates/app/javascript/controllers/noty_controller.js +10 -0
- data/lib/generators/saaskit/install/templates/app/javascript/controllers/reveal_controller.js +43 -0
- data/lib/generators/saaskit/install/templates/app/javascript/controllers/smooth_scroll_controller.js +11 -0
- data/lib/generators/saaskit/install/templates/app/javascript/controllers/typed_controller.js +17 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/address-book-2.svg +8 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/chart-bar-1.svg +10 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/cloud-upload.svg +8 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/credit-card.svg +9 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/display-1.svg +8 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/facebook.svg +1 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/file.svg +9 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/github.svg +1 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/group.svg +8 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/layout-left-panel-1.svg +8 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/layout-top-panel-6.svg +8 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/logo_color_horizontal.svg +1 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/logo_color_stacked.svg +1 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/logo_color_symbol.svg +1 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/logo_white_horizontal.svg +1 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/logo_white_stacked.svg +1 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/logo_white_symbol.svg +1 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/mail-opened.svg +8 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/notifications-1.svg +7 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/outlet.svg +8 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/pablo-done.png +0 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/paypal.svg +9 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/rails.svg +7 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/repeat.svg +8 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/right-circle.svg +8 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/sale-2.svg +10 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/selected-file.svg +8 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/sending-mail.svg +8 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/shield-check.svg +8 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/shield-protected.svg +8 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/stimulus.svg +1 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/stripe.svg +6 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/tailwind.svg +12 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/tgav_logo_white_symbol.svg +1 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/user.svg +8 -0
- data/lib/generators/saaskit/install/templates/app/javascript/images/webpack.svg +8 -0
- data/lib/generators/saaskit/install/templates/app/javascript/stylesheets/application.scss +3 -0
- data/lib/generators/saaskit/install/templates/app/javascript/stylesheets/tailwind.config.js +542 -0
- data/lib/generators/saaskit/install/templates/app/models/concerns/coming_soon_pending_subscribable.rb +31 -0
- data/lib/generators/saaskit/install/templates/app/views/layouts/application.html.erb +7 -0
- data/lib/generators/saaskit/install/templates/app/views/layouts/land.html.erb +24 -0
- data/lib/generators/saaskit/install/templates/app/views/pages/_errors.html.erb +14 -0
- data/lib/generators/saaskit/install/templates/app/views/pages/home.html.erb +472 -0
- data/lib/generators/saaskit/install/templates/app/views/pages/subscribe.js.erb +24 -0
- data/lib/generators/saaskit/install/templates/app/views/shared/_footer.html.erb +23 -0
- data/lib/generators/saaskit/install/templates/app/views/shared/_head.html.erb +9 -0
- data/lib/generators/saaskit/install/templates/app/views/shared/_navbar.html.erb +76 -0
- data/lib/generators/saaskit/install/templates/app/views/shared/_notices.html.erb +8 -0
- data/lib/generators/saaskit/install/templates/config/credentials.yml.sample +8 -0
- data/lib/generators/saaskit/install/templates/config/initializers/meta_tags.rb +40 -0
- data/lib/generators/saaskit/install/templates/config/webpack/plugins/purgecss-webpack-plugin.js +21 -0
- data/lib/saaskit.rb +6 -0
- data/lib/saaskit/version.rb +3 -0
- data/saaskit.gemspec +33 -0
- data/template.rb +6 -0
- metadata +169 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<% unless flash.empty? %>
|
|
2
|
+
<% flash.each do |key, value| %>
|
|
3
|
+
<% type = key.to_s.gsub('alert', 'error').gsub('notice', 'success') %>
|
|
4
|
+
new Noty ({
|
|
5
|
+
type: '<%= type %>',
|
|
6
|
+
layout: 'topRight',
|
|
7
|
+
timeout: '3000',
|
|
8
|
+
theme: 'sunset',
|
|
9
|
+
text: '<%= value %>'
|
|
10
|
+
}).show();
|
|
11
|
+
<% end %>
|
|
12
|
+
<% end %>
|
|
13
|
+
|
|
14
|
+
<% if @newsletter_form.errors.any? %>
|
|
15
|
+
<% @newsletter_form.errors.full_messages.each do |message| %>
|
|
16
|
+
new Noty ({
|
|
17
|
+
type: 'error',
|
|
18
|
+
layout: 'topRight',
|
|
19
|
+
timeout: '3000',
|
|
20
|
+
theme: 'sunset',
|
|
21
|
+
text: '<%= message %>'
|
|
22
|
+
}).show();
|
|
23
|
+
<% end %>
|
|
24
|
+
<% end %>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<footer class="bg-gray-800 py-4 lg:py-16">
|
|
2
|
+
<div class="container px-4 mx-auto">
|
|
3
|
+
<div class="flex flex-col lg:flex-row justify-center items-center">
|
|
4
|
+
<%= link_to root_path, class: "flex items-center mr-0 lg:mr-4 mb-4 lg:mb-0" do %>
|
|
5
|
+
<div class="mr-3">
|
|
6
|
+
<%= image_tag asset_pack_path("media/images/logo_white_symbol.svg"), class: "w-auto h-10 lg:h-12" %>
|
|
7
|
+
</div>
|
|
8
|
+
<div>
|
|
9
|
+
<h1 class="text-2xl font-extrabold text-white leading-none whitespace-no-wrap">SaaSKit</h1>
|
|
10
|
+
</div>
|
|
11
|
+
<% end %>
|
|
12
|
+
<div class="text-xs italic text-white lg:self-center mr-0 lg:mr-4 mb-4 lg:mb-0">brought you by</div>
|
|
13
|
+
<%= link_to root_path, class: "flex items-center mb-4 lg:mb-0" do %>
|
|
14
|
+
<div class="mr-3">
|
|
15
|
+
<%= image_tag asset_pack_path("media/images/tgav_logo_white_symbol.svg"), class: "w-auto h-10 lg:h-12" %>
|
|
16
|
+
</div>
|
|
17
|
+
<div>
|
|
18
|
+
<h1 class="text-2xl font-extrabold text-white leading-none whitespace-no-wrap">TGAV</h1>
|
|
19
|
+
</div>
|
|
20
|
+
<% end %>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
23
|
+
</footer>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<%= display_meta_tags(default_meta_tags) %>
|
|
2
|
+
<%= csrf_meta_tags %>
|
|
3
|
+
<%= csp_meta_tag %>
|
|
4
|
+
|
|
5
|
+
<%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track": "reload" %>
|
|
6
|
+
<%= stylesheet_pack_tag "application", media: "all", "data-turbolinks-track": "reload" %>
|
|
7
|
+
<%= javascript_pack_tag "application", "data-turbolinks-track": "reload" %>
|
|
8
|
+
|
|
9
|
+
<%= yield :head %>
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
<style>
|
|
2
|
+
#hamburger-top {
|
|
3
|
+
height: 0.125rem;
|
|
4
|
+
top: 0rem;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
#hamburger-middle {
|
|
8
|
+
height: 0.125rem;
|
|
9
|
+
top: 0.375rem;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
#hamburger-buttom {
|
|
13
|
+
height: 0.125rem;
|
|
14
|
+
top: 0.75rem;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
#hamburger-checkbox:checked ~ #menu {
|
|
18
|
+
height: 16rem;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
#hamburger-checkbox:checked ~ #hamburger #hamburger-middle {
|
|
22
|
+
background-color: transparent;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
#hamburger-checkbox:checked ~ #hamburger #hamburger-top {
|
|
26
|
+
top: 0.375rem;
|
|
27
|
+
transform: rotate(-45deg);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
#hamburger-checkbox:checked ~ #hamburger #hamburger-buttom {
|
|
31
|
+
top: 0.375rem;
|
|
32
|
+
transform: rotate(45deg);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@media (min-width: 1024px) {
|
|
36
|
+
#hamburger-checkbox:checked ~ #menu {
|
|
37
|
+
height: 3rem;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
</style>
|
|
41
|
+
<nav class="relative flex flex-col lg:flex-row lg:items-center lg:justify-between">
|
|
42
|
+
<%= link_to root_path, class: "flex items-center mb-4 lg:mb-0" do %>
|
|
43
|
+
<div class="mr-3">
|
|
44
|
+
<%= image_tag asset_pack_path("media/images/logo_color_symbol.svg"), class: "w-auto h-10 lg:h-12" %>
|
|
45
|
+
</div>
|
|
46
|
+
<div>
|
|
47
|
+
<h1 class="text-2xl font-extrabold leading-none whitespace-no-wrap">SaaSKit</h1>
|
|
48
|
+
<span class="hidden lg:inline text-lg text-gray-600 leading-none whitespace-no-wrap">SaaS starter kit for rails</span>
|
|
49
|
+
</div>
|
|
50
|
+
<% end %>
|
|
51
|
+
<%= check_box_tag "hamburger-checkbox", "", false, class: "hidden" %>
|
|
52
|
+
<%= label_tag "hamburger-checkbox", "", id: "hamburger", class: "lg:hidden absolute top-0 right-0 inline-block px-2 py-3 w-10 h-10 cursor-pointer select-none" do %>
|
|
53
|
+
<div class="relative">
|
|
54
|
+
<span id="hamburger-top" class="block absolute bg-black w-6 transition-transform transition-250 transition-ease-out"></span>
|
|
55
|
+
<span id="hamburger-middle" class="block absolute bg-black w-6 transition-bg transition-250 transition-ease-out"></span>
|
|
56
|
+
<span id="hamburger-buttom" class="block absolute bg-black w-6 transition-transform transition-250 transition-ease-out"></span>
|
|
57
|
+
</div>
|
|
58
|
+
<% end %>
|
|
59
|
+
<ul id="menu" class="flex flex-col h-0 lg:flex-row lg:h-12 overflow-hidden transition-all transition-250 transition-ease">
|
|
60
|
+
<li class="flex-none lg:ml-8 min-h-0">
|
|
61
|
+
<%= link_to "🏠 Home", root_path, class: "block text-lg hover:text-brand-darker whitespace-no-wrap py-2 lg:p-2 transition-all transition-250 transition-ease" %>
|
|
62
|
+
</li>
|
|
63
|
+
<li class="flex-none lg:ml-8 min-h-0">
|
|
64
|
+
<%= link_to "🚗 Test drive", "#test-drive", class: "block text-lg hover:text-brand-darker whitespace-no-wrap py-2 lg:p-2 transition-all transition-250 transition-ease" %>
|
|
65
|
+
</li>
|
|
66
|
+
<li class="flex-none lg:ml-8 min-h-0">
|
|
67
|
+
<%= link_to "✨ Features", "#features", class: "block text-lg hover:text-brand-darker whitespace-no-wrap py-2 lg:p-2 transition-all transition-250 transition-ease" %>
|
|
68
|
+
</li>
|
|
69
|
+
<li class="flex-none lg:ml-8 min-h-0">
|
|
70
|
+
<%= link_to "💵 Pricing", root_path, class: "block text-lg hover:text-brand-darker whitespace-no-wrap py-2 lg:p-2 transition-all transition-250 transition-ease" %>
|
|
71
|
+
</li>
|
|
72
|
+
<li class="flex-none mt-4 lg:mt-0 lg:ml-8 xl:ml-16 min-h-0">
|
|
73
|
+
<%= link_to "Pro version", "#notify-me", class: "block text-lg font-bold text-center text-white whitespace-no-wrap bg-brand-dark hover:bg-brand-darker rounded px-6 py-2 transition-all transition-250 transition-ease" %>
|
|
74
|
+
</li>
|
|
75
|
+
</ul>
|
|
76
|
+
</nav>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<% flash.each do |msg_type, message| %>
|
|
2
|
+
<div class="fixed z-20 text-<%= tailwindcss_class_for(msg_type) %>-100 bg-<%= tailwindcss_class_for(msg_type) %>-500 px-4 py-3 w-full" role="alert" data-controller="notice">
|
|
3
|
+
<span class="block sm:inline text-base lg:text-lg xl:text-xl" data-target="notice.message"><%= message %></span>
|
|
4
|
+
<span class="absolute top-0 bottom-0 right-0 px-4 py-3 xl:py-4">
|
|
5
|
+
<svg class="fill-current h-6 w-6 text-<%= tailwindcss_class_for(msg_type) %>-100" role="button" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" data-action="click->notice#close"><title>Close</title><path d="M14.348 14.849a1.2 1.2 0 0 1-1.697 0L10 11.819l-2.651 3.029a1.2 1.2 0 1 1-1.697-1.697l2.758-3.15-2.759-3.152a1.2 1.2 0 1 1 1.697-1.697L10 8.183l2.651-3.031a1.2 1.2 0 1 1 1.697 1.697l-2.758 3.152 2.758 3.15a1.2 1.2 0 0 1 0 1.698z"/></svg>
|
|
6
|
+
</span>
|
|
7
|
+
</div>
|
|
8
|
+
<% end %>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Mailing list subscription
|
|
2
|
+
# ----------------------------------------------------------------------------------------------------
|
|
3
|
+
# MailChimp
|
|
4
|
+
# Get API Key: mailchimp admin dashboard > profile dropdown > account > extras dropdown > API keys
|
|
5
|
+
# Get Audience ID: mailchimp admin dashboard > audience > manage audience > settings > Unique id for audience xxx
|
|
6
|
+
# mailchimp:
|
|
7
|
+
# api_key: your_api_key
|
|
8
|
+
# audience_id: your_audience_id
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Use this setup block to configure all options available in MetaTags.
|
|
4
|
+
MetaTags.configure do |config|
|
|
5
|
+
# How many characters should the title meta tag have at most. Default is 70.
|
|
6
|
+
# Set to nil or 0 to remove limits.
|
|
7
|
+
# config.title_limit = 70
|
|
8
|
+
|
|
9
|
+
# When true, site title will be truncated instead of title. Default is false.
|
|
10
|
+
# config.truncate_site_title_first = false
|
|
11
|
+
|
|
12
|
+
# Maximum length of the page description. Default is 300.
|
|
13
|
+
# Set to nil or 0 to remove limits.
|
|
14
|
+
# config.description_limit = 300
|
|
15
|
+
|
|
16
|
+
# Maximum length of the keywords meta tag. Default is 255.
|
|
17
|
+
# config.keywords_limit = 255
|
|
18
|
+
|
|
19
|
+
# Default separator for keywords meta tag (used when an Array passed with
|
|
20
|
+
# the list of keywords). Default is ", ".
|
|
21
|
+
# config.keywords_separator = ', '
|
|
22
|
+
|
|
23
|
+
# When true, keywords will be converted to lowercase, otherwise they will
|
|
24
|
+
# appear on the page as is. Default is true.
|
|
25
|
+
# config.keywords_lowercase = true
|
|
26
|
+
|
|
27
|
+
# When true, the output will not include new line characters between meta tags.
|
|
28
|
+
# Default is false.
|
|
29
|
+
# config.minify_output = false
|
|
30
|
+
|
|
31
|
+
# When false, generated meta tags will be self-closing (<meta ... />) instead
|
|
32
|
+
# of open (`<meta ...>`). Default is true.
|
|
33
|
+
# config.open_meta_tags = true
|
|
34
|
+
|
|
35
|
+
# List of additional meta tags that should use "property" attribute instead
|
|
36
|
+
# of "name" attribute in <meta> tags.
|
|
37
|
+
# config.property_tags.push(
|
|
38
|
+
# 'x-hearthstone:deck',
|
|
39
|
+
# )
|
|
40
|
+
end
|
data/lib/generators/saaskit/install/templates/config/webpack/plugins/purgecss-webpack-plugin.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const PurgecssPlugin = require('purgecss-webpack-plugin')
|
|
2
|
+
const glob = require('glob-all')
|
|
3
|
+
const path = require('path')
|
|
4
|
+
|
|
5
|
+
// ensure classes with special chars like -mt-1 and md:w-1/3 are included
|
|
6
|
+
class TailwindExtractor {
|
|
7
|
+
static extract(content) {
|
|
8
|
+
return content.match(/[A-z0-9-:\/]+/g)
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
module.exports = new PurgecssPlugin({
|
|
13
|
+
paths: glob.sync([
|
|
14
|
+
path.join(__dirname, '../../../app/javascript/**/*.js'),
|
|
15
|
+
path.join(__dirname, '../../../app/views/**/*.erb')
|
|
16
|
+
]),
|
|
17
|
+
extractors: [{
|
|
18
|
+
extractor: TailwindExtractor,
|
|
19
|
+
extensions: ['html', 'js', 'erb']
|
|
20
|
+
}]
|
|
21
|
+
})
|
data/lib/saaskit.rb
ADDED
data/saaskit.gemspec
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
lib = File.expand_path("lib", __dir__)
|
|
2
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
3
|
+
require "saaskit/version"
|
|
4
|
+
|
|
5
|
+
Gem::Specification.new do |spec|
|
|
6
|
+
spec.name = "saaskit"
|
|
7
|
+
spec.version = Saaskit::VERSION
|
|
8
|
+
spec.authors = ["Tim"]
|
|
9
|
+
spec.email = ["tim@tgav.co"]
|
|
10
|
+
|
|
11
|
+
spec.summary = "SaaSKit is the Rails SaaS starter kit for building your SaaS business"
|
|
12
|
+
spec.description = "DRY (Don't repeat yourself) for developing the same features over and over again. Let " \
|
|
13
|
+
"building your SaaS platform in a week instead of months with SaaSKit."
|
|
14
|
+
spec.homepage = "https://saaskitapp.com"
|
|
15
|
+
spec.license = "MIT"
|
|
16
|
+
|
|
17
|
+
spec.metadata["homepage_uri"] = spec.homepage
|
|
18
|
+
spec.metadata["source_code_uri"] = "https://github.com/tgavhq/saaskit"
|
|
19
|
+
spec.metadata["changelog_uri"] = "https://github.com/tgavhq/saaskit/blob/master/CHANGELOG.md"
|
|
20
|
+
|
|
21
|
+
# Specify which files should be added to the gem when it is released.
|
|
22
|
+
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
|
23
|
+
spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
|
|
24
|
+
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
|
25
|
+
end
|
|
26
|
+
spec.bindir = "exe"
|
|
27
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
28
|
+
spec.require_paths = ["lib"]
|
|
29
|
+
|
|
30
|
+
spec.add_development_dependency "bundler", "~> 2.0"
|
|
31
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
|
32
|
+
spec.add_development_dependency "minitest", "~> 5.0"
|
|
33
|
+
end
|
data/template.rb
ADDED
metadata
ADDED
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: saaskit
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Tim
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: exe
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2019-07-06 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: bundler
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - "~>"
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '2.0'
|
|
20
|
+
type: :development
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - "~>"
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '2.0'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: rake
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - "~>"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '10.0'
|
|
34
|
+
type: :development
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - "~>"
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '10.0'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: minitest
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - "~>"
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: '5.0'
|
|
48
|
+
type: :development
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - "~>"
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '5.0'
|
|
55
|
+
description: DRY (Don't repeat yourself) for developing the same features over and
|
|
56
|
+
over again. Let building your SaaS platform in a week instead of months with SaaSKit.
|
|
57
|
+
email:
|
|
58
|
+
- tim@tgav.co
|
|
59
|
+
executables: []
|
|
60
|
+
extensions: []
|
|
61
|
+
extra_rdoc_files: []
|
|
62
|
+
files:
|
|
63
|
+
- ".gitignore"
|
|
64
|
+
- ".travis.yml"
|
|
65
|
+
- CODE_OF_CONDUCT.md
|
|
66
|
+
- Gemfile
|
|
67
|
+
- Gemfile.lock
|
|
68
|
+
- LICENSE.txt
|
|
69
|
+
- README.md
|
|
70
|
+
- Rakefile
|
|
71
|
+
- bin/console
|
|
72
|
+
- bin/setup
|
|
73
|
+
- lib/generators/saaskit/install/install_generator.rb
|
|
74
|
+
- lib/generators/saaskit/install/templates/README
|
|
75
|
+
- lib/generators/saaskit/install/templates/app/adapters/mailchimp/base_adapter.rb
|
|
76
|
+
- lib/generators/saaskit/install/templates/app/controllers/application_controller.rb
|
|
77
|
+
- lib/generators/saaskit/install/templates/app/controllers/pages_controller.rb
|
|
78
|
+
- lib/generators/saaskit/install/templates/app/forms/newsletter_form.rb
|
|
79
|
+
- lib/generators/saaskit/install/templates/app/helpers/application_helper.rb
|
|
80
|
+
- lib/generators/saaskit/install/templates/app/helpers/meta_tags_helper.rb
|
|
81
|
+
- lib/generators/saaskit/install/templates/app/javascript/controllers/aos_controller.js
|
|
82
|
+
- lib/generators/saaskit/install/templates/app/javascript/controllers/index.js
|
|
83
|
+
- lib/generators/saaskit/install/templates/app/javascript/controllers/notice_controller.js
|
|
84
|
+
- lib/generators/saaskit/install/templates/app/javascript/controllers/noty_controller.js
|
|
85
|
+
- lib/generators/saaskit/install/templates/app/javascript/controllers/reveal_controller.js
|
|
86
|
+
- lib/generators/saaskit/install/templates/app/javascript/controllers/smooth_scroll_controller.js
|
|
87
|
+
- lib/generators/saaskit/install/templates/app/javascript/controllers/typed_controller.js
|
|
88
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/address-book-2.svg
|
|
89
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/chart-bar-1.svg
|
|
90
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/cloud-upload.svg
|
|
91
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/credit-card.svg
|
|
92
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/display-1.svg
|
|
93
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/facebook.svg
|
|
94
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/file.svg
|
|
95
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/github.svg
|
|
96
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/group.svg
|
|
97
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/layout-left-panel-1.svg
|
|
98
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/layout-top-panel-6.svg
|
|
99
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/logo_color_horizontal.svg
|
|
100
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/logo_color_stacked.svg
|
|
101
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/logo_color_symbol.svg
|
|
102
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/logo_white_horizontal.svg
|
|
103
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/logo_white_stacked.svg
|
|
104
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/logo_white_symbol.svg
|
|
105
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/mail-opened.svg
|
|
106
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/notifications-1.svg
|
|
107
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/outlet.svg
|
|
108
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/pablo-done.png
|
|
109
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/paypal.svg
|
|
110
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/rails.svg
|
|
111
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/repeat.svg
|
|
112
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/right-circle.svg
|
|
113
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/sale-2.svg
|
|
114
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/selected-file.svg
|
|
115
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/sending-mail.svg
|
|
116
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/shield-check.svg
|
|
117
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/shield-protected.svg
|
|
118
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/stimulus.svg
|
|
119
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/stripe.svg
|
|
120
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/tailwind.svg
|
|
121
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/tgav_logo_white_symbol.svg
|
|
122
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/user.svg
|
|
123
|
+
- lib/generators/saaskit/install/templates/app/javascript/images/webpack.svg
|
|
124
|
+
- lib/generators/saaskit/install/templates/app/javascript/stylesheets/application.scss
|
|
125
|
+
- lib/generators/saaskit/install/templates/app/javascript/stylesheets/tailwind.config.js
|
|
126
|
+
- lib/generators/saaskit/install/templates/app/models/concerns/coming_soon_pending_subscribable.rb
|
|
127
|
+
- lib/generators/saaskit/install/templates/app/views/layouts/application.html.erb
|
|
128
|
+
- lib/generators/saaskit/install/templates/app/views/layouts/land.html.erb
|
|
129
|
+
- lib/generators/saaskit/install/templates/app/views/pages/_errors.html.erb
|
|
130
|
+
- lib/generators/saaskit/install/templates/app/views/pages/home.html.erb
|
|
131
|
+
- lib/generators/saaskit/install/templates/app/views/pages/subscribe.js.erb
|
|
132
|
+
- lib/generators/saaskit/install/templates/app/views/shared/_footer.html.erb
|
|
133
|
+
- lib/generators/saaskit/install/templates/app/views/shared/_head.html.erb
|
|
134
|
+
- lib/generators/saaskit/install/templates/app/views/shared/_navbar.html.erb
|
|
135
|
+
- lib/generators/saaskit/install/templates/app/views/shared/_notices.html.erb
|
|
136
|
+
- lib/generators/saaskit/install/templates/config/credentials.yml.sample
|
|
137
|
+
- lib/generators/saaskit/install/templates/config/initializers/meta_tags.rb
|
|
138
|
+
- lib/generators/saaskit/install/templates/config/webpack/plugins/purgecss-webpack-plugin.js
|
|
139
|
+
- lib/saaskit.rb
|
|
140
|
+
- lib/saaskit/version.rb
|
|
141
|
+
- saaskit.gemspec
|
|
142
|
+
- template.rb
|
|
143
|
+
homepage: https://saaskitapp.com
|
|
144
|
+
licenses:
|
|
145
|
+
- MIT
|
|
146
|
+
metadata:
|
|
147
|
+
homepage_uri: https://saaskitapp.com
|
|
148
|
+
source_code_uri: https://github.com/tgavhq/saaskit
|
|
149
|
+
changelog_uri: https://github.com/tgavhq/saaskit/blob/master/CHANGELOG.md
|
|
150
|
+
post_install_message:
|
|
151
|
+
rdoc_options: []
|
|
152
|
+
require_paths:
|
|
153
|
+
- lib
|
|
154
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
155
|
+
requirements:
|
|
156
|
+
- - ">="
|
|
157
|
+
- !ruby/object:Gem::Version
|
|
158
|
+
version: '0'
|
|
159
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
160
|
+
requirements:
|
|
161
|
+
- - ">="
|
|
162
|
+
- !ruby/object:Gem::Version
|
|
163
|
+
version: '0'
|
|
164
|
+
requirements: []
|
|
165
|
+
rubygems_version: 3.0.4
|
|
166
|
+
signing_key:
|
|
167
|
+
specification_version: 4
|
|
168
|
+
summary: SaaSKit is the Rails SaaS starter kit for building your SaaS business
|
|
169
|
+
test_files: []
|