rails_app_generator 0.2.2 → 0.2.5
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 +4 -4
- data/CHANGELOG.md +22 -0
- data/after_templates/addons/dotenv/_.rb +21 -0
- data/after_templates/addons/dotenv/app/controllers/home_controller.rb +7 -0
- data/after_templates/addons/dotenv/app/views/home/index.html.erb +10 -0
- data/after_templates/addons/dotenv/app/views/layouts/application.html.erb +19 -0
- data/after_templates/addons/lograge/_.rb +22 -0
- data/after_templates/addons/lograge/app/controllers/home_controller.rb +9 -0
- data/after_templates/addons/lograge/app/views/home/index.html.erb +11 -0
- data/after_templates/addons/lograge/app/views/layouts/application.html.erb +21 -0
- data/after_templates/addons/public_suffix/_.rb +23 -0
- data/after_templates/addons/public_suffix/app/controllers/home_controller.rb +7 -0
- data/after_templates/addons/public_suffix/app/views/home/index.html.erb +29 -0
- data/after_templates/addons/public_suffix/app/views/layouts/application.html.erb +23 -0
- data/after_templates/addons/rubocop/_.rb +29 -0
- data/after_templates/addons/rubocop/app/assets/images/cop-output.png +0 -0
- data/after_templates/addons/rubocop/app/controllers/home_controller.rb +21 -0
- data/after_templates/addons/rubocop/app/views/home/index.html.erb +46 -0
- data/after_templates/addons/rubocop/app/views/layouts/application.html.erb +19 -0
- data/after_templates/application/printspeak/_.rb +21 -27
- data/after_templates/application/printspeak/app/assets/stylesheets/application.bootstrap.scss +1 -1
- data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/_global.scss +0 -0
- data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/_variables.scss +0 -0
- data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/components/_buttons.scss +0 -0
- data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/components/_navbar.scss +0 -0
- data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/sections/_contact.scss +0 -0
- data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/sections/_footer.scss +0 -0
- data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/sections/_masthead.scss +0 -0
- data/after_templates/application/printspeak/app/assets/stylesheets/page/sections/_pagehead.scss +52 -0
- data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/sections/_portfolio.scss +0 -0
- data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/sections/_team.scss +0 -0
- data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/sections/_timeline.scss +0 -0
- data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/styles.scss +1 -0
- data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/variables/_colors.scss +0 -0
- data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/variables/_typography.scss +0 -0
- data/after_templates/application/printspeak/app/controllers/application_controller.rb +41 -0
- data/after_templates/application/printspeak/app/controllers/home_controller.rb +3 -3
- data/after_templates/application/printspeak/app/controllers/page_controller.rb +13 -0
- data/after_templates/application/printspeak/app/views/home/_body_end.html.erb +45 -0
- data/after_templates/application/printspeak/app/views/home/_modal.erb +23 -0
- data/after_templates/application/printspeak/app/views/home/_navbar.html.erb +14 -0
- data/after_templates/application/printspeak/app/views/home/index.html.erb +234 -283
- data/after_templates/application/printspeak/app/views/layouts/_body_end.html.erb +0 -0
- data/after_templates/application/printspeak/app/views/layouts/_footer.html.erb +2 -2
- data/after_templates/application/printspeak/app/views/layouts/_head.html.erb +0 -0
- data/after_templates/application/printspeak/app/views/layouts/application.html.erb +3 -3
- data/after_templates/application/printspeak/app/views/page/_navbar.html.erb +9 -0
- data/after_templates/application/printspeak/app/views/page/benefits.html.erb +28 -0
- data/after_templates/application/printspeak/app/views/page/privacy.html.erb +12 -0
- data/after_templates/application/printspeak/app/views/page/terms.html.erb +12 -0
- data/docs/last_run/app_generator_class.json +32 -0
- data/docs/last_run/app_generator_data.json +7 -4
- data/docs/last_run/rails_options_class.json +32 -0
- data/docs/last_run/rails_options_data.json +8 -4
- data/lib/rails_app_generator/addons/continuous_integration.rb +1 -0
- data/lib/rails_app_generator/addons/devise.rb +1 -0
- data/lib/rails_app_generator/addons/docker.rb +1 -0
- data/lib/rails_app_generator/addons/docker_compose.rb +1 -0
- data/lib/rails_app_generator/addons/dotenv.rb +2 -0
- data/lib/rails_app_generator/addons/factory_bot.rb +1 -0
- data/lib/rails_app_generator/addons/foreman.rb +1 -0
- data/lib/rails_app_generator/addons/generators.rb +1 -0
- data/lib/rails_app_generator/addons/lograge.rb +3 -1
- data/lib/rails_app_generator/addons/public_suffix.rb +33 -0
- data/lib/rails_app_generator/addons/rubocop.rb +4 -0
- data/lib/rails_app_generator/app_generator.rb +10 -2
- data/lib/rails_app_generator/rag_initializer.rb +15 -15
- data/lib/rails_app_generator/version.rb +1 -1
- data/package-lock.json +2 -2
- data/package.json +1 -1
- data/profiles/{default/printspeak.json → addons/dotenv.json} +4 -4
- data/profiles/addons/lograge.json +12 -0
- data/profiles/addons/public_suffix.json +12 -0
- data/profiles/addons/rubocop.json +12 -0
- data/profiles/application/printspeak.json +6 -4
- data/templates/addons/lograge/config/initializers/lograge.rb +9 -1
- data/templates/addons/rubocop/.rubocop.yml.erb +5 -2
- data/templates/thor_task/addon/addon.tt +1 -1
- data/templates/thor_task/profile/after_template.rb +17 -8
- metadata +49 -23
- data/after_templates/application/printspeak/app/views/layouts/_alerts.html.erb +0 -2
- data/after_templates/application/printspeak/app/views/page/_footer.html.erb +0 -184
- data/after_templates/application/printspeak/app/views/page/architecture.html.erb +0 -33
- data/after_templates/application/printspeak/app/views/page/blog.html.erb +0 -44
- data/after_templates/application/printspeak/app/views/page/page_controller.rb +0 -27
- data/after_templates/application/printspeak/app/views/page/readme.html.erb +0 -49
- data/profiles/printspeak.json +0 -12
@@ -1,321 +1,272 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
<header class="masthead">
|
2
|
+
<div class="container">
|
3
|
+
<div class="masthead-subheading">Welcome To Print Speak!</div>
|
4
|
+
<div class="masthead-heading text-uppercase">we make it easier for you to</div><%= link_to "grow your business", page_benefits_path, class: "btn btn-primary btn-xl text-uppercase" %>
|
5
5
|
|
6
|
+
</div>
|
7
|
+
</header><!-- Services-->
|
8
|
+
<section class="page-section" id="services">
|
9
|
+
<div class="container">
|
10
|
+
<div class="text-center">
|
11
|
+
<h2 class="section-heading text-uppercase">What does it do?</h2>
|
12
|
+
<h3 class="section-subheading text-muted">Lorem ipsum dolor sit amet consectetur.</h3>
|
6
13
|
</div>
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
<h2 class="section-heading text-uppercase">What does it do?</h2>
|
12
|
-
<h3 class="section-subheading text-muted">Lorem ipsum dolor sit amet consectetur.</h3>
|
14
|
+
<div class="row text-center">
|
15
|
+
<div class="col-md-4"><span class="fa-stack fa-4x"><i class="fas fa-circle fa-stack-2x text-primary"></i><i class="fas fa-shopping-cart fa-stack-1x fa-inverse"></i></span>
|
16
|
+
<h4 class="my-3">Delivers</h4>
|
17
|
+
<p class="text-muted">It delivers key business data in a format that is easy to understand and, more importantly, easy to act upon.</p>
|
13
18
|
</div>
|
14
|
-
<div class="
|
15
|
-
<
|
16
|
-
|
17
|
-
<p class="text-muted">It delivers key business data in a format that is easy to understand and, more importantly, easy to act upon.</p>
|
18
|
-
</div>
|
19
|
-
<div class="col-md-4"><span class="fa-stack fa-4x"><i class="fas fa-circle fa-stack-2x text-primary"></i><i class="fas fa-laptop fa-stack-1x fa-inverse"></i></span>
|
20
|
-
<h4 class="my-3">Identifies</h4>
|
21
|
-
<p class="text-muted">It identifies insights from within your data and prompts actions that enable you to increase sales and customer retention.</p>
|
22
|
-
</div>
|
23
|
-
<div class="col-md-4"><span class="fa-stack fa-4x"><i class="fas fa-circle fa-stack-2x text-primary"></i><i class="fas fa-lock fa-stack-1x fa-inverse"></i></span>
|
24
|
-
<h4 class="my-3">Automates</h4>
|
25
|
-
<p class="text-muted">It enables you to automate a number of core customer service and marketing activities that will drive enquiries and sales conversions.</p>
|
26
|
-
</div>
|
19
|
+
<div class="col-md-4"><span class="fa-stack fa-4x"><i class="fas fa-circle fa-stack-2x text-primary"></i><i class="fas fa-laptop fa-stack-1x fa-inverse"></i></span>
|
20
|
+
<h4 class="my-3">Identifies</h4>
|
21
|
+
<p class="text-muted">It identifies insights from within your data and prompts actions that enable you to increase sales and customer retention.</p>
|
27
22
|
</div>
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
<div class="container">
|
32
|
-
<div class="text-center">
|
33
|
-
<h2 class="section-heading text-uppercase">Portfolio</h2>
|
34
|
-
<h3 class="section-subheading text-muted">Lorem ipsum dolor sit amet consectetur.</h3>
|
23
|
+
<div class="col-md-4"><span class="fa-stack fa-4x"><i class="fas fa-circle fa-stack-2x text-primary"></i><i class="fas fa-lock fa-stack-1x fa-inverse"></i></span>
|
24
|
+
<h4 class="my-3">Automates</h4>
|
25
|
+
<p class="text-muted">It enables you to automate a number of core customer service and marketing activities that will drive enquiries and sales conversions.</p>
|
35
26
|
</div>
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
27
|
+
</div>
|
28
|
+
</div>
|
29
|
+
</section><!-- Portfolio Grid-->
|
30
|
+
<section class="page-section bg-light" id="portfolio">
|
31
|
+
<div class="container">
|
32
|
+
<div class="text-center">
|
33
|
+
<h2 class="section-heading text-uppercase">Portfolio</h2>
|
34
|
+
<h3 class="section-subheading text-muted">Lorem ipsum dolor sit amet consectetur.</h3>
|
35
|
+
</div>
|
36
|
+
<div class="row">
|
37
|
+
<div class="col-lg-4 col-sm-6 mb-4">
|
38
|
+
<!-- Portfolio item 1-->
|
39
|
+
<div class="portfolio-item"><a class="portfolio-link" data-bs-toggle="modal" href="#portfolioModal1">
|
40
|
+
<div class="portfolio-hover">
|
41
|
+
<div class="portfolio-hover-content"><i class="fas fa-plus fa-3x"></i></div>
|
42
|
+
</div><%= image_tag 'portfolio/alphagraphics', alt: 'icon', class: "img-fluid" %>
|
43
|
+
</a>
|
44
|
+
<div class="portfolio-caption">
|
45
|
+
<div class="portfolio-caption-heading">Threads</div>
|
46
|
+
<div class="portfolio-caption-subheading text-muted">Illustration</div>
|
48
47
|
</div>
|
49
48
|
</div>
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
</
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
</div>
|
49
|
+
</div>
|
50
|
+
<div class="col-lg-4 col-sm-6 mb-4">
|
51
|
+
<!-- Portfolio item 2-->
|
52
|
+
<div class="portfolio-item"><a class="portfolio-link" data-bs-toggle="modal" href="#portfolioModal2">
|
53
|
+
<div class="portfolio-hover">
|
54
|
+
<div class="portfolio-hover-content"><i class="fas fa-plus fa-3x"></i></div>
|
55
|
+
</div><%= image_tag 'portfolio/kwikkopy', alt: 'icon', class: "img-fluid" %>
|
56
|
+
</a>
|
57
|
+
<div class="portfolio-caption">
|
58
|
+
<div class="portfolio-caption-heading">Explore</div>
|
59
|
+
<div class="portfolio-caption-subheading text-muted">Graphic Design</div>
|
61
60
|
</div>
|
62
61
|
</div>
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
</
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
</div>
|
62
|
+
</div>
|
63
|
+
<div class="col-lg-4 col-sm-6 mb-4">
|
64
|
+
<!-- Portfolio item 3-->
|
65
|
+
<div class="portfolio-item"><a class="portfolio-link" data-bs-toggle="modal" href="#portfolioModal3">
|
66
|
+
<div class="portfolio-hover">
|
67
|
+
<div class="portfolio-hover-content"><i class="fas fa-plus fa-3x"></i></div>
|
68
|
+
</div><%= image_tag 'portfolio/3', alt: 'icon', class: "img-fluid" %>
|
69
|
+
</a>
|
70
|
+
<div class="portfolio-caption">
|
71
|
+
<div class="portfolio-caption-heading">Finish</div>
|
72
|
+
<div class="portfolio-caption-subheading text-muted">Identity</div>
|
74
73
|
</div>
|
75
74
|
</div>
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
</
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
</div>
|
75
|
+
</div>
|
76
|
+
<div class="col-lg-4 col-sm-6 mb-4 mb-lg-0">
|
77
|
+
<!-- Portfolio item 4-->
|
78
|
+
<div class="portfolio-item"><a class="portfolio-link" data-bs-toggle="modal" href="#portfolioModal4">
|
79
|
+
<div class="portfolio-hover">
|
80
|
+
<div class="portfolio-hover-content"><i class="fas fa-plus fa-3x"></i></div>
|
81
|
+
</div><%= image_tag 'portfolio/brochure-transformed', alt: 'icon', class: "img-fluid" %>
|
82
|
+
</a>
|
83
|
+
<div class="portfolio-caption">
|
84
|
+
<div class="portfolio-caption-heading">Lines</div>
|
85
|
+
<div class="portfolio-caption-subheading text-muted">Branding</div>
|
87
86
|
</div>
|
88
87
|
</div>
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
</
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
</div>
|
88
|
+
</div>
|
89
|
+
<div class="col-lg-4 col-sm-6 mb-4 mb-sm-0">
|
90
|
+
<!-- Portfolio item 5-->
|
91
|
+
<div class="portfolio-item"><a class="portfolio-link" data-bs-toggle="modal" href="#portfolioModal5">
|
92
|
+
<div class="portfolio-hover">
|
93
|
+
<div class="portfolio-hover-content"><i class="fas fa-plus fa-3x"></i></div>
|
94
|
+
</div><%= image_tag 'portfolio/5', alt: 'icon', class: "img-fluid" %>
|
95
|
+
</a>
|
96
|
+
<div class="portfolio-caption">
|
97
|
+
<div class="portfolio-caption-heading">Southwest</div>
|
98
|
+
<div class="portfolio-caption-subheading text-muted">Website Design</div>
|
100
99
|
</div>
|
101
100
|
</div>
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
</
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
</div>
|
101
|
+
</div>
|
102
|
+
<div class="col-lg-4 col-sm-6">
|
103
|
+
<!-- Portfolio item 6-->
|
104
|
+
<div class="portfolio-item"><a class="portfolio-link" data-bs-toggle="modal" href="#portfolioModal6">
|
105
|
+
<div class="portfolio-hover">
|
106
|
+
<div class="portfolio-hover-content"><i class="fas fa-plus fa-3x"></i></div>
|
107
|
+
</div><%= image_tag 'portfolio/6', alt: 'icon', class: "img-fluid" %>
|
108
|
+
</a>
|
109
|
+
<div class="portfolio-caption">
|
110
|
+
<div class="portfolio-caption-heading">Window</div>
|
111
|
+
<div class="portfolio-caption-subheading text-muted">Photography</div>
|
113
112
|
</div>
|
114
113
|
</div>
|
115
114
|
</div>
|
116
115
|
</div>
|
117
|
-
</
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
</
|
132
|
-
<div class="timeline-body">
|
133
|
-
<p class="text-muted">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sunt ut voluptatum eius sapiente, totam reiciendis temporibus qui quibusdam, recusandae sit vero unde, sed, incidunt et ea quo dolore laudantium consectetur!</p>
|
134
|
-
</div>
|
116
|
+
</div>
|
117
|
+
</section><!-- About-->
|
118
|
+
<section class="page-section" id="about">
|
119
|
+
<div class="container">
|
120
|
+
<div class="text-center">
|
121
|
+
<h2 class="section-heading text-uppercase">About</h2>
|
122
|
+
<h3 class="section-subheading text-muted">Lorem ipsum dolor sit amet consectetur.</h3>
|
123
|
+
</div>
|
124
|
+
<ul class="timeline">
|
125
|
+
<li>
|
126
|
+
<div class="timeline-image"><%= image_tag "about/1.jpg", class: "rounded-circle img-fluid", alt: "..." %></div>
|
127
|
+
<div class="timeline-panel">
|
128
|
+
<div class="timeline-heading">
|
129
|
+
<h4>2009-2011</h4>
|
130
|
+
<h4 class="subheading">Our Humble Beginnings</h4>
|
135
131
|
</div>
|
136
|
-
|
137
|
-
|
138
|
-
<div class="timeline-image"><%= image_tag "about/2.jpg", class: "rounded-circle img-fluid", alt: "..." %></div>
|
139
|
-
<div class="timeline-panel">
|
140
|
-
<div class="timeline-heading">
|
141
|
-
<h4>March 2011</h4>
|
142
|
-
<h4 class="subheading">An Agency is Born</h4>
|
143
|
-
</div>
|
144
|
-
<div class="timeline-body">
|
145
|
-
<p class="text-muted">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sunt ut voluptatum eius sapiente, totam reiciendis temporibus qui quibusdam, recusandae sit vero unde, sed, incidunt et ea quo dolore laudantium consectetur!</p>
|
146
|
-
</div>
|
132
|
+
<div class="timeline-body">
|
133
|
+
<p class="text-muted">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sunt ut voluptatum eius sapiente, totam reiciendis temporibus qui quibusdam, recusandae sit vero unde, sed, incidunt et ea quo dolore laudantium consectetur!</p>
|
147
134
|
</div>
|
148
|
-
</
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
</
|
156
|
-
<div class="timeline-body">
|
157
|
-
<p class="text-muted">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sunt ut voluptatum eius sapiente, totam reiciendis temporibus qui quibusdam, recusandae sit vero unde, sed, incidunt et ea quo dolore laudantium consectetur!</p>
|
158
|
-
</div>
|
135
|
+
</div>
|
136
|
+
</li>
|
137
|
+
<li class="timeline-inverted">
|
138
|
+
<div class="timeline-image"><%= image_tag "about/2.jpg", class: "rounded-circle img-fluid", alt: "..." %></div>
|
139
|
+
<div class="timeline-panel">
|
140
|
+
<div class="timeline-heading">
|
141
|
+
<h4>March 2011</h4>
|
142
|
+
<h4 class="subheading">An Agency is Born</h4>
|
159
143
|
</div>
|
160
|
-
|
161
|
-
|
162
|
-
<div class="timeline-image"><%= image_tag "about/4.jpg", class: "rounded-circle img-fluid", alt: "..." %></div>
|
163
|
-
<div class="timeline-panel">
|
164
|
-
<div class="timeline-heading">
|
165
|
-
<h4>July 2020</h4>
|
166
|
-
<h4 class="subheading">Phase Two Expansion</h4>
|
167
|
-
</div>
|
168
|
-
<div class="timeline-body">
|
169
|
-
<p class="text-muted">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sunt ut voluptatum eius sapiente, totam reiciendis temporibus qui quibusdam, recusandae sit vero unde, sed, incidunt et ea quo dolore laudantium consectetur!</p>
|
170
|
-
</div>
|
144
|
+
<div class="timeline-body">
|
145
|
+
<p class="text-muted">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sunt ut voluptatum eius sapiente, totam reiciendis temporibus qui quibusdam, recusandae sit vero unde, sed, incidunt et ea quo dolore laudantium consectetur!</p>
|
171
146
|
</div>
|
172
|
-
</
|
173
|
-
|
174
|
-
|
175
|
-
|
147
|
+
</div>
|
148
|
+
</li>
|
149
|
+
<li>
|
150
|
+
<div class="timeline-image"><%= image_tag "about/3.jpg", class: "rounded-circle img-fluid", alt: "..." %></div>
|
151
|
+
<div class="timeline-panel">
|
152
|
+
<div class="timeline-heading">
|
153
|
+
<h4>December 2015</h4>
|
154
|
+
<h4 class="subheading">Transition to Full Service</h4>
|
176
155
|
</div>
|
177
|
-
|
178
|
-
|
179
|
-
</div>
|
180
|
-
</section><!-- Team-->
|
181
|
-
<section class="page-section bg-light" id="team">
|
182
|
-
<div class="container">
|
183
|
-
<div class="text-center">
|
184
|
-
<h2 class="section-heading text-uppercase">Our Amazing Team</h2>
|
185
|
-
<h3 class="section-subheading text-muted">Lorem ipsum dolor sit amet consectetur.</h3>
|
186
|
-
</div>
|
187
|
-
<div class="row">
|
188
|
-
<div class="col-lg-4">
|
189
|
-
<div class="team-member"><%= image_tag "team/1.jpg", class: "mx-auto rounded-circle", alt: "..." %>
|
190
|
-
<h4>Parveen Anand</h4>
|
191
|
-
<p class="text-muted">Lead Designer</p><a class="btn btn-dark btn-social mx-2" href="#!" aria-label="Parveen Anand Twitter Profile"><i class="fab fa-twitter"></i></a><a class="btn btn-dark btn-social mx-2" href="#!" aria-label="Parveen Anand Facebook Profile"><i class="fab fa-facebook-f"></i></a><a class="btn btn-dark btn-social mx-2" href="#!" aria-label="Parveen Anand LinkedIn Profile"><i class="fab fa-linkedin-in"></i></a>
|
156
|
+
<div class="timeline-body">
|
157
|
+
<p class="text-muted">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sunt ut voluptatum eius sapiente, totam reiciendis temporibus qui quibusdam, recusandae sit vero unde, sed, incidunt et ea quo dolore laudantium consectetur!</p>
|
192
158
|
</div>
|
193
159
|
</div>
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
160
|
+
</li>
|
161
|
+
<li class="timeline-inverted">
|
162
|
+
<div class="timeline-image"><%= image_tag "about/4.jpg", class: "rounded-circle img-fluid", alt: "..." %></div>
|
163
|
+
<div class="timeline-panel">
|
164
|
+
<div class="timeline-heading">
|
165
|
+
<h4>July 2020</h4>
|
166
|
+
<h4 class="subheading">Phase Two Expansion</h4>
|
198
167
|
</div>
|
199
|
-
|
200
|
-
|
201
|
-
<div class="team-member"><%= image_tag "team/3.jpg", class: "mx-auto rounded-circle", alt: "..." %>
|
202
|
-
<h4>Larry Parker</h4>
|
203
|
-
<p class="text-muted">Lead Developer</p><a class="btn btn-dark btn-social mx-2" href="#!" aria-label="Larry Parker Twitter Profile"><i class="fab fa-twitter"></i></a><a class="btn btn-dark btn-social mx-2" href="#!" aria-label="Larry Parker Facebook Profile"><i class="fab fa-facebook-f"></i></a><a class="btn btn-dark btn-social mx-2" href="#!" aria-label="Larry Parker LinkedIn Profile"><i class="fab fa-linkedin-in"></i></a>
|
168
|
+
<div class="timeline-body">
|
169
|
+
<p class="text-muted">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sunt ut voluptatum eius sapiente, totam reiciendis temporibus qui quibusdam, recusandae sit vero unde, sed, incidunt et ea quo dolore laudantium consectetur!</p>
|
204
170
|
</div>
|
205
171
|
</div>
|
172
|
+
</li>
|
173
|
+
<li class="timeline-inverted">
|
174
|
+
<div class="timeline-image">
|
175
|
+
<h4>Be Part<br />Of Our<br />Story!</h4>
|
176
|
+
</div>
|
177
|
+
</li>
|
178
|
+
</ul>
|
179
|
+
</div>
|
180
|
+
</section><!-- Team-->
|
181
|
+
<section class="page-section bg-light" id="team">
|
182
|
+
<div class="container">
|
183
|
+
<div class="text-center">
|
184
|
+
<h2 class="section-heading text-uppercase">Our Amazing Team</h2>
|
185
|
+
<h3 class="section-subheading text-muted">Lorem ipsum dolor sit amet consectetur.</h3>
|
186
|
+
</div>
|
187
|
+
<div class="row">
|
188
|
+
<div class="col-lg-4">
|
189
|
+
<div class="team-member"><%= image_tag "team/1.jpg", class: "mx-auto rounded-circle", alt: "..." %>
|
190
|
+
<h4>Parveen Anand</h4>
|
191
|
+
<p class="text-muted">Lead Designer</p><a class="btn btn-dark btn-social mx-2" href="#!" aria-label="Parveen Anand Twitter Profile"><i class="fab fa-twitter"></i></a><a class="btn btn-dark btn-social mx-2" href="#!" aria-label="Parveen Anand Facebook Profile"><i class="fab fa-facebook-f"></i></a><a class="btn btn-dark btn-social mx-2" href="#!" aria-label="Parveen Anand LinkedIn Profile"><i class="fab fa-linkedin-in"></i></a>
|
192
|
+
</div>
|
206
193
|
</div>
|
207
|
-
<div class="
|
208
|
-
<div class="
|
209
|
-
<
|
194
|
+
<div class="col-lg-4">
|
195
|
+
<div class="team-member"><%= image_tag "team/2.jpg", class: "mx-auto rounded-circle", alt: "..." %>
|
196
|
+
<h4>Diana Petersen</h4>
|
197
|
+
<p class="text-muted">Lead Marketer</p><a class="btn btn-dark btn-social mx-2" href="#!" aria-label="Diana Petersen Twitter Profile"><i class="fab fa-twitter"></i></a><a class="btn btn-dark btn-social mx-2" href="#!" aria-label="Diana Petersen Facebook Profile"><i class="fab fa-facebook-f"></i></a><a class="btn btn-dark btn-social mx-2" href="#!" aria-label="Diana Petersen LinkedIn Profile"><i class="fab fa-linkedin-in"></i></a>
|
210
198
|
</div>
|
211
199
|
</div>
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
<div class="col-md-3 col-sm-6 my-3"><a href="#!"><%= image_tag "logos/microsoft.svg", class: "img-fluid img-brand d-block mx-auto", alt: "...", aria_label: "Microsoft Logo" %></a></div>
|
218
|
-
<div class="col-md-3 col-sm-6 my-3"><a href="#!"><%= image_tag "logos/google.svg", class: "img-fluid img-brand d-block mx-auto", alt: "...", aria_label: "Google Logo" %></a></div>
|
219
|
-
<div class="col-md-3 col-sm-6 my-3"><a href="#!"><%= image_tag "logos/facebook.svg", class: "img-fluid img-brand d-block mx-auto", alt: "...", aria_label: "Facebook Logo" %></a></div>
|
220
|
-
<div class="col-md-3 col-sm-6 my-3"><a href="#!"><%= image_tag "logos/ibm.svg", class: "img-fluid img-brand d-block mx-auto", alt: "...", aria_label: "IBM Logo" %></a></div>
|
200
|
+
<div class="col-lg-4">
|
201
|
+
<div class="team-member"><%= image_tag "team/3.jpg", class: "mx-auto rounded-circle", alt: "..." %>
|
202
|
+
<h4>Larry Parker</h4>
|
203
|
+
<p class="text-muted">Lead Developer</p><a class="btn btn-dark btn-social mx-2" href="#!" aria-label="Larry Parker Twitter Profile"><i class="fab fa-twitter"></i></a><a class="btn btn-dark btn-social mx-2" href="#!" aria-label="Larry Parker Facebook Profile"><i class="fab fa-facebook-f"></i></a><a class="btn btn-dark btn-social mx-2" href="#!" aria-label="Larry Parker LinkedIn Profile"><i class="fab fa-linkedin-in"></i></a>
|
204
|
+
</div>
|
221
205
|
</div>
|
222
206
|
</div>
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
<div class="text-center">
|
227
|
-
<h2 class="section-heading text-uppercase">Contact Us</h2>
|
228
|
-
<h3 class="section-subheading text-muted">Lorem ipsum dolor sit amet consectetur.</h3>
|
207
|
+
<div class="row">
|
208
|
+
<div class="col-lg-8 mx-auto text-center">
|
209
|
+
<p class="large text-muted">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aut eaque, laboriosam veritatis, quos non quis ad perspiciatis, totam corporis ea, alias ut unde.</p>
|
229
210
|
</div>
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
211
|
+
</div>
|
212
|
+
</div>
|
213
|
+
</section><!-- Clients-->
|
214
|
+
<div class="py-5">
|
215
|
+
<div class="container">
|
216
|
+
<div class="row align-items-center">
|
217
|
+
<div class="col-md-3 col-sm-6 my-3"><a href="#!"><%= image_tag "logos/microsoft.svg", class: "img-fluid img-brand d-block mx-auto", alt: "...", aria_label: "Microsoft Logo" %></a></div>
|
218
|
+
<div class="col-md-3 col-sm-6 my-3"><a href="#!"><%= image_tag "logos/google.svg", class: "img-fluid img-brand d-block mx-auto", alt: "...", aria_label: "Google Logo" %></a></div>
|
219
|
+
<div class="col-md-3 col-sm-6 my-3"><a href="#!"><%= image_tag "logos/facebook.svg", class: "img-fluid img-brand d-block mx-auto", alt: "...", aria_label: "Facebook Logo" %></a></div>
|
220
|
+
<div class="col-md-3 col-sm-6 my-3"><a href="#!"><%= image_tag "logos/ibm.svg", class: "img-fluid img-brand d-block mx-auto", alt: "...", aria_label: "IBM Logo" %></a></div>
|
221
|
+
</div>
|
222
|
+
</div>
|
223
|
+
</div><!-- Contact-->
|
224
|
+
<section class="page-section" id="contact">
|
225
|
+
<div class="container">
|
226
|
+
<div class="text-center">
|
227
|
+
<h2 class="section-heading text-uppercase">Contact Us</h2>
|
228
|
+
<h3 class="section-subheading text-muted">Lorem ipsum dolor sit amet consectetur.</h3>
|
229
|
+
</div>
|
230
|
+
|
231
|
+
<form id="contactForm" data-sb-form-api-token="API_TOKEN">
|
232
|
+
<div class="row align-items-stretch mb-5">
|
233
|
+
<div class="col-md-6">
|
234
|
+
<div class="form-group">
|
235
|
+
<!-- Name input--><input class="form-control" id="name" type="text" placeholder="Your Name *" data-sb-validations="required" />
|
236
|
+
<div class="invalid-feedback" data-sb-feedback="name:required">A name is required.</div>
|
247
237
|
</div>
|
248
|
-
<div class="
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
</div>
|
238
|
+
<div class="form-group">
|
239
|
+
<!-- Email address input--><input class="form-control" id="email" type="email" placeholder="Your Email *" data-sb-validations="required,email" />
|
240
|
+
<div class="invalid-feedback" data-sb-feedback="email:required">An email is required.</div>
|
241
|
+
<div class="invalid-feedback" data-sb-feedback="email:email">Email is not valid.</div>
|
253
242
|
</div>
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
<!-- has successfully submitted-->
|
258
|
-
<div class="d-none" id="submitSuccessMessage">
|
259
|
-
<div class="text-center text-white mb-3">
|
260
|
-
<div class="fw-bolder">Form submission successful!</div>To activate this form, sign up at<br /><a href="https://startbootstrap.com/solution/contact-forms">https://startbootstrap.com/solution/contact-forms</a>
|
243
|
+
<div class="form-group mb-md-0">
|
244
|
+
<!-- Phone number input--><input class="form-control" id="phone" type="tel" placeholder="Your Phone *" data-sb-validations="required" />
|
245
|
+
<div class="invalid-feedback" data-sb-feedback="phone:required">A phone number is required.</div>
|
261
246
|
</div>
|
262
|
-
</div
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
</div
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
<
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
}
|
289
|
-
|
290
|
-
};
|
291
|
-
|
292
|
-
// Shrink the navbar
|
293
|
-
navbarShrink();
|
294
|
-
|
295
|
-
// Shrink the navbar when page is scrolled
|
296
|
-
document.addEventListener('scroll', navbarShrink);
|
297
|
-
|
298
|
-
// Activate Bootstrap scrollspy on the main nav element
|
299
|
-
const mainNav = document.body.querySelector('#mainNav');
|
300
|
-
if (mainNav) {
|
301
|
-
new bootstrap.ScrollSpy(document.body, {
|
302
|
-
target: '#mainNav',
|
303
|
-
offset: 74,
|
304
|
-
});
|
305
|
-
};
|
306
|
-
|
307
|
-
// Collapse responsive navbar when toggler is visible
|
308
|
-
const navbarToggler = document.body.querySelector('.navbar-toggler');
|
309
|
-
const responsiveNavItems = [].slice.call(
|
310
|
-
document.querySelectorAll('#navbarResponsive .nav-link')
|
311
|
-
);
|
312
|
-
responsiveNavItems.map(function (responsiveNavItem) {
|
313
|
-
responsiveNavItem.addEventListener('click', () => {
|
314
|
-
if (window.getComputedStyle(navbarToggler).display !== 'none') {
|
315
|
-
navbarToggler.click();
|
316
|
-
}
|
317
|
-
});
|
318
|
-
});
|
319
|
-
|
320
|
-
});
|
321
|
-
</script>
|
247
|
+
</div>
|
248
|
+
<div class="col-md-6">
|
249
|
+
<div class="form-group form-group-textarea mb-md-0">
|
250
|
+
<!-- Message input--><textarea class="form-control" id="message" placeholder="Your Message *" data-sb-validations="required"></textarea>
|
251
|
+
<div class="invalid-feedback" data-sb-feedback="message:required">A message is required.</div>
|
252
|
+
</div>
|
253
|
+
</div>
|
254
|
+
</div><!-- Submit success message-->
|
255
|
+
<!---->
|
256
|
+
<!-- This is what your users will see when the form-->
|
257
|
+
<!-- has successfully submitted-->
|
258
|
+
<div class="d-none" id="submitSuccessMessage">
|
259
|
+
<div class="text-center text-white mb-3">
|
260
|
+
<div class="fw-bolder">Form submission successful!</div>To activate this form, sign up at<br /><a href="https://startbootstrap.com/solution/contact-forms">https://startbootstrap.com/solution/contact-forms</a>
|
261
|
+
</div>
|
262
|
+
</div><!-- Submit error message-->
|
263
|
+
<!---->
|
264
|
+
<!-- This is what your users will see when there is-->
|
265
|
+
<!-- an error submitting the form-->
|
266
|
+
<div class="d-none" id="submitErrorMessage">
|
267
|
+
<div class="text-center text-danger mb-3">Error sending message!</div>
|
268
|
+
</div><!-- Submit Button-->
|
269
|
+
<div class="text-center"><button class="btn btn-primary btn-xl text-uppercase disabled" id="submitButton" type="submit">Send Message</button></div>
|
270
|
+
</form>
|
271
|
+
</div>
|
272
|
+
</section>
|
File without changes
|
@@ -8,8 +8,8 @@
|
|
8
8
|
<a class="btn btn-dark btn-social mx-2" href="#!" aria-label="LinkedIn"><i class="fab fa-linkedin-in"></i></a>
|
9
9
|
</div>
|
10
10
|
<div class="col-lg-4 text-lg-end">
|
11
|
-
|
12
|
-
|
11
|
+
<%= link_to "Privacy Policy", page_privacy_path, class: "link-dark text-decoration-none me-3" %>
|
12
|
+
<%= link_to "Terms of Use", page_terms_path, class: "link-dark text-decoration-none" %>
|
13
13
|
</div>
|
14
14
|
</div>
|
15
15
|
</div>
|
File without changes
|