forever_style_guide 3.7.2 → 4.1.14

Sign up to get free protection for your applications and to get access to all the features.
@@ -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