forever_style_guide 3.7.2 → 4.1.14

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.
@@ -0,0 +1,218 @@
1
+ .hero-subnav_spacer {
2
+ padding-top: 47px;
3
+ margin-top: -47px;
4
+
5
+ @media (max-width: 768px) {
6
+ padding-top: 0px;
7
+ margin-top: 0px;
8
+ }
9
+ }
10
+
11
+ .hero-subnav_offset {
12
+ margin-top: -47px;
13
+
14
+ @media (max-width: 768px) {
15
+ margin-top: 0px;
16
+ }
17
+ }
18
+
19
+ .hero-subnav_padding {
20
+ padding-top: 47px;
21
+
22
+ @media (max-width: 768px) {
23
+ padding-top: 0px;
24
+ }
25
+ }
26
+
27
+ .f-subnav-container {
28
+ display: block;
29
+ visibility: visible;
30
+ position: sticky;
31
+ height: 47px;
32
+ padding-top: 6px;
33
+ padding-bottom: 6px;
34
+ padding-right: 15px;
35
+ padding-left: 15px;
36
+ background: transparentize($color-white, 0.15);
37
+ z-index: 1029;
38
+ -webkit-backdrop-filter: blur(10px);
39
+ backdrop-filter: blur(10px);
40
+ }
41
+
42
+ @media (max-width: 768px) {
43
+ .f-subnav-container{
44
+ visibility: hidden;
45
+ overflow: hidden;
46
+ position: relative;
47
+ z-index: 0;
48
+ height: 0px;
49
+ padding: 0;
50
+ }
51
+
52
+ }
53
+
54
+ .f-subnav-action {
55
+ margin-left: 10px;
56
+ }
57
+
58
+ .js-subnav.is-fixed{
59
+ top: 50px;
60
+ width: 100%;
61
+ z-index: 1031;
62
+ }
63
+
64
+ .f-subnav{
65
+ display: flex;
66
+ flex-direction: row;
67
+ justify-content: center;
68
+ align-items: center;
69
+
70
+ & > * {
71
+ font-size: 15px;
72
+ -webkit-user-select: none;
73
+ -moz-user-select: none;
74
+ -ms-user-select: none;
75
+ user-select: none;
76
+ }
77
+
78
+ & > .links {
79
+ display: flex;
80
+ flex-direction: row;
81
+ flex-wrap: nowrap;
82
+ list-style: none;
83
+ margin: 0;
84
+ overflow: visible;
85
+ padding-inline-start: 0;
86
+
87
+ & > a {
88
+ flex-basis: 100%;
89
+ text-align: center;
90
+ color: $color-gray-600;
91
+ white-space: nowrap;
92
+ margin-left: 10px;
93
+ margin-right: 10px;
94
+
95
+ }
96
+
97
+ & > a:hover, a:active, > a:focus {
98
+ text-decoration: none;
99
+ }
100
+
101
+ & > a:hover > span {
102
+ background: transparentize($color-black, 0.95);
103
+ color: $color-secondary;
104
+ border-radius: 32px;
105
+ padding: 4px 12px;
106
+ }
107
+
108
+ & > a > span {
109
+ padding: 4px 12px;
110
+ border-radius: 32px;
111
+ transition: color 0.3s ease, background 0.3s ease;
112
+ }
113
+
114
+ & > a > span.active {
115
+ background: transparentize($color-black, 0.95);
116
+ color: $color-secondary;
117
+ font-family: proxima_nova-semibold;
118
+ border-radius: 32px;
119
+ padding: 4px 12px;
120
+ }
121
+ }
122
+ }
123
+
124
+ .f-subnav-dropdown-trigger {
125
+ position: relative;
126
+ cursor: pointer;
127
+
128
+ & > span {
129
+ flex-basis: 100%;
130
+ text-align: center;
131
+ color: $color-gray-600;
132
+ white-space: nowrap;
133
+ margin-left: 10px;
134
+ margin-right: 10px;
135
+ padding: 4px 12px;
136
+ transition: color 0.3s ease, background 0.3s ease;
137
+
138
+ }
139
+
140
+ & .active {
141
+ background: transparentize($color-black, 0.95);
142
+ color: $color-secondary;
143
+ font-family: proxima_nova-semibold;
144
+ border-radius: 32px;
145
+ padding: 4px 12px;
146
+ }
147
+
148
+ & :hover > span, :active > span, :focus > span {
149
+ background: transparentize($color-black, 0.95);
150
+ color: $color-secondary;
151
+ border-radius: 32px;
152
+ }
153
+ }
154
+
155
+ .f-subnav-dropdown {
156
+
157
+ display: flex;
158
+ flex-direction: column;
159
+ position: absolute;
160
+ background: transparentize($color-white, 0.05);
161
+ white-space: nowrap;
162
+ transition: opacity 0.15s ease;
163
+ -webkit-backdrop-filter: blur(10px);
164
+ backdrop-filter: blur(10px);
165
+ border-radius: 2px;
166
+ visibility: visible;
167
+ top: 28px;
168
+ left: 50%;
169
+ opacity: 1;
170
+ transform: translateX(-50%);
171
+ padding: 15px;
172
+
173
+ & > a {
174
+ padding: 6px 12px;
175
+ text-align: center;
176
+
177
+ &:hover, :active, :focus {
178
+ background: transparentize($color-black, 0.95);
179
+ color: $color-secondary;
180
+ border-radius: 32px;
181
+ text-decoration: none;
182
+ }
183
+
184
+ &.active {
185
+ background: transparentize($color-black, 0.95);
186
+ color: $color-secondary;
187
+ font-family: proxima_nova-semibold;
188
+ border-radius: 32px;
189
+ padding: 4px 12px;
190
+ }
191
+
192
+ &:not(:first-child){
193
+ margin-top: 10px;
194
+ }
195
+ }
196
+
197
+ &:after {
198
+ position: absolute;
199
+ top: -8px;
200
+ left: 50%;
201
+ transform: translateX(-50%);
202
+ content: ' ';
203
+ display: block;
204
+ width: 0;
205
+ height: 0;
206
+ border-left: 8px solid transparent;
207
+ border-right: 8px solid transparent;
208
+ border-bottom: 8px solid transparentize($color-white, 0.14);
209
+ }
210
+
211
+ &.hidden{
212
+ visibility: hidden;
213
+ left: -9999px;
214
+ top: -9999px;
215
+ opacity: 0;
216
+ transform: translateX(0%);
217
+ }
218
+ }
@@ -1,4 +1,7 @@
1
- require "forever_style_guide/engine"
1
+ require "forever_style_guide/version"
2
2
 
3
3
  module ForeverStyleGuide
4
+ def self.asset_paths
5
+ Dir.glob("#{File.expand_path("../../app/assets", __FILE__)}/*/")
6
+ end
4
7
  end
@@ -1,3 +1,3 @@
1
1
  module ForeverStyleGuide
2
- VERSION = "3.7.2"
2
+ VERSION = "4.1.14"
3
3
  end
metadata CHANGED
@@ -1,155 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: forever_style_guide
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.7.2
4
+ version: 4.1.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nicholas McClay
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-19 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rails
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - '='
18
- - !ruby/object:Gem::Version
19
- version: 5.2.3
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - '='
25
- - !ruby/object:Gem::Version
26
- version: 5.2.3
27
- - !ruby/object:Gem::Dependency
28
- name: style-guide
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: sass-rails
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: jquery-rails
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: bootstrap-sass
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :runtime
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: font-awesome-rails
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :runtime
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: sqlite3
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: guard-rails
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: guard-livereload
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
- - !ruby/object:Gem::Dependency
140
- name: thor
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - ">="
144
- - !ruby/object:Gem::Version
145
- version: '0'
146
- type: :development
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - ">="
151
- - !ruby/object:Gem::Version
152
- version: '0'
11
+ date: 2021-02-20 00:00:00.000000000 Z
12
+ dependencies: []
153
13
  description: Install this as a gem in your Forever app and it will expose style guide
154
14
  through /style-guide route
155
15
  email:
@@ -256,17 +116,12 @@ files:
256
116
  - app/assets/stylesheets/forever_style_guide/modules/_responsive_utilities.scss
257
117
  - app/assets/stylesheets/forever_style_guide/modules/_select.scss
258
118
  - app/assets/stylesheets/forever_style_guide/modules/_signin.scss
119
+ - app/assets/stylesheets/forever_style_guide/modules/_subnav.scss
259
120
  - app/assets/stylesheets/forever_style_guide/utils/_color-utils.scss
260
121
  - app/assets/stylesheets/forever_style_guide/utils/_font-utils.scss
261
122
  - app/assets/stylesheets/forever_style_guide/utils/_logger.scss
262
- - app/helpers/forever_style_guide/application_helper.rb
263
- - config/locales/en.yml
264
- - config/routes.rb
265
- - config/style_guide.yml
266
123
  - lib/forever_style_guide.rb
267
- - lib/forever_style_guide/engine.rb
268
124
  - lib/forever_style_guide/version.rb
269
- - lib/tasks/forever_style_guide_tasks.rake
270
125
  homepage: https://github.com/forever-inc/forever-style-guide
271
126
  licenses:
272
127
  - MIT
@@ -1,421 +0,0 @@
1
- require 'pathname'
2
-
3
- module ForeverStyleGuide
4
- module ApplicationHelper
5
-
6
- def trademark(copy)
7
- case copy
8
- when "Forever"
9
- copy.upcase + "®"
10
- when "pixels2Pages", "Historian", "ClickCollage", "It's like insurance for your photos", "Paper Tray Studio", "p2P", "StoryBook Legacy", "Templates & Co", "Valet"
11
- copy + "™"
12
- when "Forever Account", "Forever Guarantee", "Forever Guarantee Fund", "Forever Membership", "Forever Retreats",
13
- "Forever Retreat", "Forever Ambassador", "Forever Ambassadors", "Forever Deal of the Day", "Forever App", "Forever Digital Art",
14
- "Forever Digital Art Store", "Forever Founder's Club", "Forever Gift Certificate", "Forever Gift Certificates", "Forever Intro Account", "Forever Library",
15
- "Forever Media Conversion", "Forever Mobile", "Forever Owner", "Forever Vault", "Forever Print Shop", "Forever Services",
16
- "Forever Software", "Forever Store", "Forever Premium Video Plan", "Forever Club", "Forever Print", "Forever Design & Print", "Forever Historian", "Forever Valet", "Forever Live!"
17
- copy[0..6].upcase + "®" + copy[7..copy.length-1]
18
- when "Forever Artisan", "Forever Storage"
19
- copy[0..6].upcase + copy[7..copy.length-1] + "®"
20
- when "Artisan", "Panstoria"
21
- copy + "®"
22
- else
23
- copy
24
- end
25
- end
26
-
27
- #Path helpers for mounted style guide use
28
- def www_url(path = '/', url = nil)
29
- strip_subdomain("www", path, url)
30
- end
31
-
32
- def strip_subdomain(sub, path = '/', url = nil)
33
- url ||= request.url if respond_to?(:request)
34
- url = URI(url)
35
- replace = url.to_s
36
- protocols = ['www.', 'store.', 'my.']
37
- replace = protocols.find { |protocol| replace.include?(protocol) }
38
-
39
- #protect against a nil return that would break localhost
40
- if replace.blank?
41
- replace = '/'
42
- end
43
-
44
- url.host = url.host.sub(replace, "#{sub}.")
45
-
46
- # Allow ember routes like /#/settings/password
47
- url.path = URI.escape(path, '#, ?')
48
- url.query = nil
49
- url = URI.decode(url.to_s)
50
- end
51
-
52
- def absolute_url(url_str)
53
- return unless url_str.present?
54
-
55
- url_str = url_str.strip
56
-
57
- return url_str if url_str =~ /https?\:/i
58
-
59
- "http://" + url_str
60
- end
61
-
62
- def has_item_in_cart?
63
- defined?(current_order) && current_order.product_count > 0
64
- end
65
-
66
- def has_ambassador?
67
- defined?(current_ambassador) && current_ambassador.present?
68
- end
69
-
70
- #active state nav
71
- def is_active?(page_name, product_types = nil)
72
- controller.controller_name.include?(page_name) || controller.action_name.include?(page_name) || (@product != nil && product_types !=nil && product_types.split(',').include?(@product.product_type) && !@product.name.include?('Historian'))
73
- end
74
-
75
- #User storage methds as seen in web app user.rb
76
- def capacity_readable
77
- if current_user
78
- number_to_human_size(current_user.storage_capacity, precision: 4)
79
- end
80
- end
81
-
82
- def storage_ratio_percent
83
- number_to_percentage(storage_ratio * 100, precision: 0)
84
- end
85
-
86
- def storage_ratio
87
- return 0 if current_user.storage_capacity == 0
88
- current_user.storage_used.to_f / current_user.storage_capacity.to_f
89
- end
90
-
91
- # Admin Links
92
- def store_admin_url
93
- www_url('/admin')
94
- end
95
-
96
- def stop_impersonating_url
97
- ('/impersonations')
98
- end
99
-
100
- # Web App Paths
101
- def library_url
102
- ('/app/library')
103
- end
104
-
105
- def albums_url
106
- ('/app/albums')
107
- end
108
-
109
- def tags_url
110
- ('/app/tags')
111
- end
112
-
113
- def projects_url
114
- ('/app/projects')
115
- end
116
-
117
- def people_url
118
- ('/app/users')
119
- end
120
-
121
- def profile_url
122
- ('/app/profile')
123
- end
124
-
125
- def user_settings_url
126
- ('/app/settings')
127
- end
128
-
129
- # Combined Store/WWW Paths - now all available at www.forever.com
130
- def user_order_history_url
131
- www_url('/settings/orders')
132
- end
133
-
134
- def user_downloads_url
135
- www_url('/settings/downloads')
136
- end
137
-
138
- def ambassador_settings_url
139
- www_url('/settings/my_ambassador')
140
- end
141
-
142
- def login_url
143
- www_url('/sign_in')
144
- end
145
-
146
- def log_out_url
147
- www_url('/log_out')
148
- end
149
-
150
- def sign_up_url
151
- www_url('/sign_up')
152
- end
153
-
154
- def marketing_home_url
155
- www_url('/')
156
- end
157
-
158
- def about_url
159
- www_url('/about')
160
- end
161
-
162
- def team_url
163
- www_url('/about/team')
164
- end
165
-
166
- def beliefs_url
167
- www_url('/about/beliefs')
168
- end
169
-
170
- def guarantee_url
171
- www_url('/guarantee')
172
- end
173
-
174
- def storage_url
175
- www_url('/forever_storage')
176
- end
177
-
178
- def mobile_url
179
- www_url('/mobile')
180
- end
181
-
182
- def historian_url
183
- www_url('/historian')
184
- end
185
-
186
- def artisan_url
187
- www_url('/artisan')
188
- end
189
-
190
- def forever_print_url
191
- www_url('/forever_print')
192
- end
193
-
194
- def print_quality_url
195
- www_url('/print_quality')
196
- end
197
-
198
- def deals_url
199
- www_url('/deals')
200
- end
201
-
202
- def shipping_info_url
203
- www_url('/shipping')
204
- end
205
-
206
- def bulk_orders_url
207
- www_url('/bulk-orders')
208
- end
209
-
210
- def return_policy_url
211
- www_url('/returns')
212
- end
213
-
214
- def p2p_url
215
- www_url('/pixels2pages')
216
- end
217
-
218
- def customer_commitments_url
219
- www_url('/commitments')
220
- end
221
-
222
- def opportunity_url
223
- www_url('/opportunity')
224
- end
225
-
226
- def retreats_url
227
- www_url('/retreats')
228
- end
229
-
230
- def press_url
231
- www_url('/about/press')
232
- end
233
-
234
- def cart_url
235
- www_url('/cart')
236
- end
237
-
238
- def services_url
239
- www_url('/services')
240
- end
241
-
242
- def digital_art_url
243
- www_url('/digital_art')
244
- end
245
-
246
- def new_digital_art_url
247
- www_url('/digital_art_library?facet_name=new')
248
- end
249
-
250
- def forever_print_library_url
251
- www_url('/forever_print_library')
252
- end
253
-
254
- def featured_photo_books_library_url
255
- www_url('/forever_print_library?facet_name=featured')
256
- end
257
-
258
- def artisan_print_url
259
- www_url('/artisan#printing')
260
- end
261
-
262
- def free_digital_art_url
263
- www_url('/digital_art_library?facet_name=free')
264
- end
265
-
266
- def predesigned_layouts_digital_art_url
267
- www_url('/digital_art_library?facet_name=pre-designed%20layouts')
268
- end
269
-
270
- def all_digital_art_url
271
- www_url('/digital_art_library')
272
- end
273
-
274
- def gift_certificate_url
275
- www_url('/gift_certificates')
276
- end
277
-
278
- def gift_certificate_url
279
- www_url('/gift_certificates')
280
- end
281
-
282
- def gifts_url
283
- www_url('/gifts')
284
- end
285
-
286
- def ambassador_direct_url
287
- www_url('/ambassador-direct')
288
- end
289
-
290
- def upgrade_url
291
- if defined?(current_user) && current_user.membership
292
- www_url('/add_storage')
293
- else
294
- www_url('/pricing')
295
- end
296
- end
297
-
298
- def back_office_url
299
- www_url('/back_office')
300
- end
301
-
302
- def tos_url
303
- www_url('/tos')
304
- end
305
-
306
- def privacy_url
307
- www_url('/privacy')
308
- end
309
-
310
- # External Paths
311
- def facebook_url
312
- "https://www.facebook.com/Forever"
313
- end
314
-
315
- def twitter_url
316
- "https://www.twitter.com/forever"
317
- end
318
-
319
- def instagram_url
320
- "https://www.instagram.com/forever_inc/"
321
- end
322
-
323
- def youtube_url
324
- "https://www.youtube.com/channel/UCfBFL_W3FYW7W0wAr4EEGnA"
325
- end
326
-
327
- def pinterest_url
328
- "https://www.pinterest.com/FOREVER/"
329
- end
330
-
331
- def blog_url
332
- "https://blog.forever.com/"
333
- end
334
-
335
- def ios_url
336
- "https://itunes.apple.com/us/app/forever/id808235823?ls=1&mt=8"
337
- end
338
-
339
- def android_url
340
- "https://play.google.com/store/apps/details?id=com.forever.forever"
341
- end
342
-
343
- def careers_url
344
- "http://forever.theresumator.com/apply"
345
- end
346
-
347
- def help_center_url
348
- "https://forever1.zendesk.com/hc/en-us"
349
- end
350
-
351
- def contact_us_url
352
- "https://forever1.zendesk.com/hc/en-us/requests/new"
353
- end
354
-
355
- def web_faq_url
356
- "https://forever1.zendesk.com/hc/en-us/categories/200175058-Forever-Web-Mobile-Apps"
357
- end
358
-
359
- def artisan_faq_url
360
- "https://forever1.zendesk.com/hc/en-us/sections/200632048-Artisan-software"
361
- end
362
-
363
- def historian_faq_url
364
- "https://forever1.zendesk.com/hc/en-us/sections/200520187-Historian"
365
- end
366
-
367
- def zendesk_overview_video_url
368
- "https://forever1.zendesk.com/hc/en-us/articles/204874607"
369
- end
370
-
371
- def zendesk_uploading_video_url
372
- "https://forever1.zendesk.com/hc/en-us/articles/115000519251-Tutorial-Video-How-to-Upload"
373
- end
374
-
375
- def zendesk_sharing_video_url
376
- "https://forever1.zendesk.com/hc/en-us/articles/115000519131-Tutorial-Video-How-to-Share-with-Friends-and-Family"
377
- end
378
-
379
- def zendesk_albums_video_url
380
- "https://forever1.zendesk.com/hc/en-us/articles/115000519171-Tutorial-Video-Organizing-with-Albums"
381
- end
382
-
383
- def zendesk_tags_video_url
384
- "https://forever1.zendesk.com/hc/en-us/articles/115000519211-Tutorial-Video-Tagging-in-Forever-"
385
- end
386
-
387
- def zendesk_projects_video_url
388
- "https://forever1.zendesk.com/hc/en-us/articles/115002526452-Video-Tutorial-FOREVER-Print"
389
- end
390
-
391
- # Path helpers for style guide dummy app
392
- def style_guide_path
393
- Rails.application.routes.named_routes[:forever_style_guide].path.spec.to_s
394
- end
395
-
396
- def style_guide_root
397
- ForeverStyleGuide::Engine.root
398
- end
399
-
400
- def style_guide_version
401
- ForeverStyleGuide::VERSION
402
- end
403
-
404
- def sections_path
405
- Pathname.new(Config.sections_path)
406
- end
407
-
408
- def demo_link(demo_name)
409
- File.join(style_guide_path, "demo", demo_name)
410
- end
411
-
412
- def escape_for_display(content)
413
- content.gsub(/\</, "&lt;").gsub(/\>/, "&gt;").html_safe
414
- end
415
-
416
- def escape_erb_for_display(partial_path)
417
- partial = File.read("#{style_guide_root}/app/views/#{partial_path}")
418
- escape_for_display(partial)
419
- end
420
- end
421
- end