rails_app_generator 0.2.3 → 0.2.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/after_templates/addons/lograge/_.rb +22 -0
  4. data/after_templates/addons/lograge/app/controllers/home_controller.rb +9 -0
  5. data/after_templates/addons/lograge/app/views/home/index.html.erb +11 -0
  6. data/after_templates/addons/lograge/app/views/layouts/application.html.erb +21 -0
  7. data/after_templates/addons/phony_rails/_.rb +62 -0
  8. data/after_templates/addons/phony_rails/app/controllers/home_controller.rb +7 -0
  9. data/after_templates/addons/phony_rails/app/views/home/index.html.erb +46 -0
  10. data/after_templates/addons/phony_rails/app/views/layouts/application.html.erb +19 -0
  11. data/after_templates/addons/phony_rails/db/seeds.rb +16 -0
  12. data/after_templates/addons/public_suffix/_.rb +23 -0
  13. data/after_templates/addons/public_suffix/app/controllers/home_controller.rb +7 -0
  14. data/after_templates/addons/public_suffix/app/views/home/index.html.erb +29 -0
  15. data/after_templates/addons/public_suffix/app/views/layouts/application.html.erb +23 -0
  16. data/after_templates/application/printspeak/_.rb +21 -27
  17. data/after_templates/application/printspeak/app/assets/stylesheets/application.bootstrap.scss +1 -1
  18. data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/_global.scss +0 -0
  19. data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/_variables.scss +0 -0
  20. data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/components/_buttons.scss +0 -0
  21. data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/components/_navbar.scss +0 -0
  22. data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/sections/_contact.scss +0 -0
  23. data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/sections/_footer.scss +0 -0
  24. data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/sections/_masthead.scss +0 -0
  25. data/after_templates/application/printspeak/app/assets/stylesheets/page/sections/_pagehead.scss +52 -0
  26. data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/sections/_portfolio.scss +0 -0
  27. data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/sections/_team.scss +0 -0
  28. data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/sections/_timeline.scss +0 -0
  29. data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/styles.scss +1 -0
  30. data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/variables/_colors.scss +0 -0
  31. data/after_templates/application/printspeak/app/assets/stylesheets/{home → page}/variables/_typography.scss +0 -0
  32. data/after_templates/application/printspeak/app/controllers/application_controller.rb +41 -0
  33. data/after_templates/application/printspeak/app/controllers/home_controller.rb +3 -3
  34. data/after_templates/application/printspeak/app/controllers/page_controller.rb +13 -0
  35. data/after_templates/application/printspeak/app/views/home/_body_end.html.erb +45 -0
  36. data/after_templates/application/printspeak/app/views/home/_navbar.html.erb +14 -0
  37. data/after_templates/application/printspeak/app/views/home/index.html.erb +234 -283
  38. data/after_templates/application/printspeak/app/views/layouts/_body_end.html.erb +0 -0
  39. data/after_templates/application/printspeak/app/views/layouts/_footer.html.erb +2 -2
  40. data/after_templates/application/printspeak/app/views/layouts/_head.html.erb +0 -0
  41. data/after_templates/application/printspeak/app/views/layouts/application.html.erb +3 -3
  42. data/after_templates/application/printspeak/app/views/page/_navbar.html.erb +9 -0
  43. data/after_templates/application/printspeak/app/views/page/benefits.html.erb +28 -0
  44. data/after_templates/application/printspeak/app/views/page/privacy.html.erb +12 -0
  45. data/after_templates/application/printspeak/app/views/page/terms.html.erb +12 -0
  46. data/docs/last_run/app_generator_class.json +24 -0
  47. data/docs/last_run/app_generator_data.json +5 -2
  48. data/docs/last_run/rails_options_class.json +25 -1
  49. data/docs/last_run/rails_options_data.json +5 -2
  50. data/lib/rails_app_generator/addons/docker.rb +1 -0
  51. data/lib/rails_app_generator/addons/generators.rb +1 -0
  52. data/lib/rails_app_generator/addons/lograge.rb +3 -1
  53. data/lib/rails_app_generator/addons/phony_rails.rb +13 -0
  54. data/lib/rails_app_generator/addons/public_suffix.rb +13 -0
  55. data/lib/rails_app_generator/app_generator.rb +10 -2
  56. data/lib/rails_app_generator/rag_initializer.rb +14 -128
  57. data/lib/rails_app_generator/version.rb +1 -1
  58. data/package-lock.json +2 -2
  59. data/package.json +1 -1
  60. data/profiles/addons/lograge.json +12 -0
  61. data/profiles/addons/phony_rails.json +12 -0
  62. data/profiles/addons/public_suffix.json +12 -0
  63. data/profiles/application/printspeak.json +2 -1
  64. data/templates/addons/lograge/config/initializers/lograge.rb +9 -1
  65. data/templates/thor_task/profile/after_template.rb +17 -8
  66. metadata +44 -21
  67. data/after_templates/application/printspeak/app/views/layouts/_alerts.html.erb +0 -2
  68. data/after_templates/application/printspeak/app/views/page/_footer.html.erb +0 -184
  69. data/after_templates/application/printspeak/app/views/page/architecture.html.erb +0 -33
  70. data/after_templates/application/printspeak/app/views/page/blog.html.erb +0 -44
  71. data/after_templates/application/printspeak/app/views/page/page_controller.rb +0 -27
  72. data/after_templates/application/printspeak/app/views/page/readme.html.erb +0 -49
@@ -1,321 +1,272 @@
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><a class="btn btn-primary btn-xl text-uppercase" href="#services">grow your business</a>
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
- </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>
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="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>
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
- </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>
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
- <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>
47
- </div>
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
- <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>
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
- <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>
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
- <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>
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
- <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>
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
- <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>
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
- </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>
131
- </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>
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
- </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>
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
- </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>
155
- </div>
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
- </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>
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
- </li>
173
- <li class="timeline-inverted">
174
- <div class="timeline-image">
175
- <h4>Be Part<br />Of Our<br />Story!</h4>
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
- </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>
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
- <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>
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
- </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>
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="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>
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
- </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>
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
- </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>
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
- <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>
237
- </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>
242
- </div>
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>
246
- </div>
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="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>
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
- </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>
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><!-- 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>
273
-
274
-
275
- <script>
276
- window.addEventListener('DOMContentLoaded', event => {
277
-
278
- // Navbar shrink function
279
- var navbarShrink = function () {
280
- const navbarCollapsible = document.body.querySelector('#mainNav');
281
- if (!navbarCollapsible) {
282
- return;
283
- }
284
- if (window.scrollY === 0) {
285
- navbarCollapsible.classList.remove('navbar-shrink')
286
- } else {
287
- navbarCollapsible.classList.add('navbar-shrink')
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>
@@ -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
- <a class="link-dark text-decoration-none me-3" href="#!">Privacy Policy</a>
12
- <a class="link-dark text-decoration-none" href="#!">Terms of Use</a>
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>