saaskit 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|