trusty-cms 5.0.2 → 5.0.6
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/Gemfile.lock +91 -88
- data/app/models/asset.rb +7 -6
- data/app/models/rails_page.rb +0 -9
- data/app/models/standard_tags.rb +1 -200
- data/app/views/admin/assets/edit.html.haml +4 -2
- data/config/locales/en_available_tags.yml +0 -76
- data/coverage/index.html +154 -154
- data/lib/generators/language_extension/templates/available_tags.yml +0 -67
- data/lib/trusty_cms.rb +1 -1
- data/spec/dummy/log/development.log +456 -0
- data/spec/dummy/log/test.log +0 -635
- metadata +4 -7
- data/config/database.yml +0 -4
- data/spec/dummy/tmp/cache/747/A70/TrustyCms%3A%3AConfig +0 -0
- data/spec/dummy/tmp/cache/85C/FA0/TrustyCms.cache_mtime +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 18961c722bc28e643661f536be22bf286898e3c1992cd70dfdaf389828e05991
|
4
|
+
data.tar.gz: 24fcd6e768d804658d6a5be29f3ac9b637caf54610c564021865d592507a6c23
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 359cb791d303fd26d99fc07591597ed7696f115a7f01fd9066407713083fd412e63feaebccfcd585dc668b0eabef16a41580c54663ae4e9007fa8eb27cf993a4
|
7
|
+
data.tar.gz: 2edfbce7ddd9b83b912110c2ca94ea985aff8562c2ce5dea59e8aaab2d1d2ef2bee66c91e11a064f5815464255eab0a16bd82127c200a6656b68552388fd781d
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
trusty-cms (5.0.
|
4
|
+
trusty-cms (5.0.6)
|
5
5
|
RedCloth (= 4.3.2)
|
6
6
|
activestorage-validator
|
7
7
|
acts_as_list (>= 0.9.5, < 1.1.0)
|
@@ -35,62 +35,62 @@ GEM
|
|
35
35
|
remote: https://rubygems.org/
|
36
36
|
specs:
|
37
37
|
RedCloth (4.3.2)
|
38
|
-
actioncable (6.1.4.
|
39
|
-
actionpack (= 6.1.4.
|
40
|
-
activesupport (= 6.1.4.
|
38
|
+
actioncable (6.1.4.4)
|
39
|
+
actionpack (= 6.1.4.4)
|
40
|
+
activesupport (= 6.1.4.4)
|
41
41
|
nio4r (~> 2.0)
|
42
42
|
websocket-driver (>= 0.6.1)
|
43
|
-
actionmailbox (6.1.4.
|
44
|
-
actionpack (= 6.1.4.
|
45
|
-
activejob (= 6.1.4.
|
46
|
-
activerecord (= 6.1.4.
|
47
|
-
activestorage (= 6.1.4.
|
48
|
-
activesupport (= 6.1.4.
|
43
|
+
actionmailbox (6.1.4.4)
|
44
|
+
actionpack (= 6.1.4.4)
|
45
|
+
activejob (= 6.1.4.4)
|
46
|
+
activerecord (= 6.1.4.4)
|
47
|
+
activestorage (= 6.1.4.4)
|
48
|
+
activesupport (= 6.1.4.4)
|
49
49
|
mail (>= 2.7.1)
|
50
|
-
actionmailer (6.1.4.
|
51
|
-
actionpack (= 6.1.4.
|
52
|
-
actionview (= 6.1.4.
|
53
|
-
activejob (= 6.1.4.
|
54
|
-
activesupport (= 6.1.4.
|
50
|
+
actionmailer (6.1.4.4)
|
51
|
+
actionpack (= 6.1.4.4)
|
52
|
+
actionview (= 6.1.4.4)
|
53
|
+
activejob (= 6.1.4.4)
|
54
|
+
activesupport (= 6.1.4.4)
|
55
55
|
mail (~> 2.5, >= 2.5.4)
|
56
56
|
rails-dom-testing (~> 2.0)
|
57
|
-
actionpack (6.1.4.
|
58
|
-
actionview (= 6.1.4.
|
59
|
-
activesupport (= 6.1.4.
|
57
|
+
actionpack (6.1.4.4)
|
58
|
+
actionview (= 6.1.4.4)
|
59
|
+
activesupport (= 6.1.4.4)
|
60
60
|
rack (~> 2.0, >= 2.0.9)
|
61
61
|
rack-test (>= 0.6.3)
|
62
62
|
rails-dom-testing (~> 2.0)
|
63
63
|
rails-html-sanitizer (~> 1.0, >= 1.2.0)
|
64
|
-
actiontext (6.1.4.
|
65
|
-
actionpack (= 6.1.4.
|
66
|
-
activerecord (= 6.1.4.
|
67
|
-
activestorage (= 6.1.4.
|
68
|
-
activesupport (= 6.1.4.
|
64
|
+
actiontext (6.1.4.4)
|
65
|
+
actionpack (= 6.1.4.4)
|
66
|
+
activerecord (= 6.1.4.4)
|
67
|
+
activestorage (= 6.1.4.4)
|
68
|
+
activesupport (= 6.1.4.4)
|
69
69
|
nokogiri (>= 1.8.5)
|
70
|
-
actionview (6.1.4.
|
71
|
-
activesupport (= 6.1.4.
|
70
|
+
actionview (6.1.4.4)
|
71
|
+
activesupport (= 6.1.4.4)
|
72
72
|
builder (~> 3.1)
|
73
73
|
erubi (~> 1.4)
|
74
74
|
rails-dom-testing (~> 2.0)
|
75
75
|
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
76
|
-
activejob (6.1.4.
|
77
|
-
activesupport (= 6.1.4.
|
76
|
+
activejob (6.1.4.4)
|
77
|
+
activesupport (= 6.1.4.4)
|
78
78
|
globalid (>= 0.3.6)
|
79
|
-
activemodel (6.1.4.
|
80
|
-
activesupport (= 6.1.4.
|
81
|
-
activerecord (6.1.4.
|
82
|
-
activemodel (= 6.1.4.
|
83
|
-
activesupport (= 6.1.4.
|
84
|
-
activestorage (6.1.4.
|
85
|
-
actionpack (= 6.1.4.
|
86
|
-
activejob (= 6.1.4.
|
87
|
-
activerecord (= 6.1.4.
|
88
|
-
activesupport (= 6.1.4.
|
79
|
+
activemodel (6.1.4.4)
|
80
|
+
activesupport (= 6.1.4.4)
|
81
|
+
activerecord (6.1.4.4)
|
82
|
+
activemodel (= 6.1.4.4)
|
83
|
+
activesupport (= 6.1.4.4)
|
84
|
+
activestorage (6.1.4.4)
|
85
|
+
actionpack (= 6.1.4.4)
|
86
|
+
activejob (= 6.1.4.4)
|
87
|
+
activerecord (= 6.1.4.4)
|
88
|
+
activesupport (= 6.1.4.4)
|
89
89
|
marcel (~> 1.0.0)
|
90
90
|
mini_mime (>= 1.1.0)
|
91
|
-
activestorage-validator (0.1.
|
91
|
+
activestorage-validator (0.1.5)
|
92
92
|
rails (>= 5.2.0)
|
93
|
-
activesupport (6.1.4.
|
93
|
+
activesupport (6.1.4.4)
|
94
94
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
95
95
|
i18n (>= 1.6, < 2)
|
96
96
|
minitest (>= 5.1)
|
@@ -121,7 +121,7 @@ GEM
|
|
121
121
|
coderay (1.1.3)
|
122
122
|
concurrent-ruby (1.1.9)
|
123
123
|
crass (1.0.6)
|
124
|
-
css_parser (1.
|
124
|
+
css_parser (1.11.0)
|
125
125
|
addressable
|
126
126
|
database_cleaner (2.0.1)
|
127
127
|
database_cleaner-active_record (~> 2.0.0)
|
@@ -131,13 +131,13 @@ GEM
|
|
131
131
|
database_cleaner-core (2.0.1)
|
132
132
|
delocalize (1.2.0)
|
133
133
|
rails (>= 2)
|
134
|
-
devise (4.8.
|
134
|
+
devise (4.8.1)
|
135
135
|
bcrypt (~> 3.0)
|
136
136
|
orm_adapter (~> 0.1)
|
137
137
|
railties (>= 4.1.0)
|
138
138
|
responders
|
139
139
|
warden (~> 1.2.3)
|
140
|
-
diff-lcs (1.
|
140
|
+
diff-lcs (1.5.0)
|
141
141
|
docile (1.4.0)
|
142
142
|
erubi (1.10.0)
|
143
143
|
erubis (2.7.0)
|
@@ -147,11 +147,11 @@ GEM
|
|
147
147
|
factory_bot_rails (6.2.0)
|
148
148
|
factory_bot (~> 6.2.0)
|
149
149
|
railties (>= 5.0.0)
|
150
|
-
ffi (1.15.
|
150
|
+
ffi (1.15.5)
|
151
151
|
file_validators (3.0.0)
|
152
152
|
activemodel (>= 3.2)
|
153
153
|
mime-types (>= 1.0)
|
154
|
-
globalid (0.
|
154
|
+
globalid (1.0.0)
|
155
155
|
activesupport (>= 5.0)
|
156
156
|
haml (5.2.2)
|
157
157
|
temple (>= 0.8.0)
|
@@ -171,7 +171,7 @@ GEM
|
|
171
171
|
httparty (0.20.0)
|
172
172
|
mime-types (~> 3.0)
|
173
173
|
multi_xml (>= 0.5.2)
|
174
|
-
i18n (1.
|
174
|
+
i18n (1.9.1)
|
175
175
|
concurrent-ruby (~> 1.0)
|
176
176
|
image_processing (1.12.1)
|
177
177
|
mini_magick (>= 4.9.5, < 5)
|
@@ -184,10 +184,9 @@ GEM
|
|
184
184
|
multipart-post
|
185
185
|
launchy (2.5.0)
|
186
186
|
addressable (~> 2.7)
|
187
|
-
libv8-node (
|
188
|
-
libv8-node (
|
189
|
-
|
190
|
-
loofah (2.12.0)
|
187
|
+
libv8-node (16.10.0.0-x86_64-darwin)
|
188
|
+
libv8-node (16.10.0.0-x86_64-linux)
|
189
|
+
loofah (2.13.0)
|
191
190
|
crass (~> 1.0.2)
|
192
191
|
nokogiri (>= 1.5.9)
|
193
192
|
mail (2.7.1)
|
@@ -198,10 +197,10 @@ GEM
|
|
198
197
|
mime-types-data (~> 3.2015)
|
199
198
|
mime-types-data (3.2021.0225)
|
200
199
|
mini_magick (4.11.0)
|
201
|
-
mini_mime (1.1.
|
202
|
-
mini_racer (0.
|
203
|
-
libv8-node (~>
|
204
|
-
minitest (5.
|
200
|
+
mini_mime (1.1.2)
|
201
|
+
mini_racer (0.6.2)
|
202
|
+
libv8-node (~> 16.10.0.0)
|
203
|
+
minitest (5.15.0)
|
205
204
|
multi_xml (0.6.0)
|
206
205
|
multipart-post (2.1.1)
|
207
206
|
mysql2 (0.5.3)
|
@@ -221,28 +220,30 @@ GEM
|
|
221
220
|
pry-byebug (3.9.0)
|
222
221
|
byebug (~> 11.0)
|
223
222
|
pry (~> 0.13.0)
|
223
|
+
psych (4.0.3)
|
224
|
+
stringio
|
224
225
|
public_suffix (4.0.6)
|
225
|
-
racc (1.
|
226
|
+
racc (1.6.0)
|
226
227
|
rack (2.2.3)
|
227
228
|
rack-cache (1.13.0)
|
228
229
|
rack (>= 0.4)
|
229
230
|
rack-test (1.1.0)
|
230
231
|
rack (>= 1.0, < 3)
|
231
232
|
radius (0.7.5)
|
232
|
-
rails (6.1.4.
|
233
|
-
actioncable (= 6.1.4.
|
234
|
-
actionmailbox (= 6.1.4.
|
235
|
-
actionmailer (= 6.1.4.
|
236
|
-
actionpack (= 6.1.4.
|
237
|
-
actiontext (= 6.1.4.
|
238
|
-
actionview (= 6.1.4.
|
239
|
-
activejob (= 6.1.4.
|
240
|
-
activemodel (= 6.1.4.
|
241
|
-
activerecord (= 6.1.4.
|
242
|
-
activestorage (= 6.1.4.
|
243
|
-
activesupport (= 6.1.4.
|
233
|
+
rails (6.1.4.4)
|
234
|
+
actioncable (= 6.1.4.4)
|
235
|
+
actionmailbox (= 6.1.4.4)
|
236
|
+
actionmailer (= 6.1.4.4)
|
237
|
+
actionpack (= 6.1.4.4)
|
238
|
+
actiontext (= 6.1.4.4)
|
239
|
+
actionview (= 6.1.4.4)
|
240
|
+
activejob (= 6.1.4.4)
|
241
|
+
activemodel (= 6.1.4.4)
|
242
|
+
activerecord (= 6.1.4.4)
|
243
|
+
activestorage (= 6.1.4.4)
|
244
|
+
activesupport (= 6.1.4.4)
|
244
245
|
bundler (>= 1.15.0)
|
245
|
-
railties (= 6.1.4.
|
246
|
+
railties (= 6.1.4.4)
|
246
247
|
sprockets-rails (>= 2.0.0)
|
247
248
|
rails-dom-testing (2.0.3)
|
248
249
|
activesupport (>= 4.2.0)
|
@@ -251,14 +252,15 @@ GEM
|
|
251
252
|
loofah (~> 2.3)
|
252
253
|
rails-observers (0.1.5)
|
253
254
|
activemodel (>= 4.0)
|
254
|
-
railties (6.1.4.
|
255
|
-
actionpack (= 6.1.4.
|
256
|
-
activesupport (= 6.1.4.
|
255
|
+
railties (6.1.4.4)
|
256
|
+
actionpack (= 6.1.4.4)
|
257
|
+
activesupport (= 6.1.4.4)
|
257
258
|
method_source
|
258
259
|
rake (>= 0.13)
|
259
260
|
thor (~> 1.0)
|
260
261
|
rake (13.0.6)
|
261
|
-
rdoc (6.
|
262
|
+
rdoc (6.4.0)
|
263
|
+
psych (>= 4.0.0)
|
262
264
|
regexp_parser (2.1.1)
|
263
265
|
responders (3.0.1)
|
264
266
|
actionpack (>= 5.0)
|
@@ -266,18 +268,18 @@ GEM
|
|
266
268
|
roadie (4.0.0)
|
267
269
|
css_parser (~> 1.4)
|
268
270
|
nokogiri (~> 1.8)
|
269
|
-
roadie-rails (2.
|
270
|
-
railties (>= 5.1, <
|
271
|
+
roadie-rails (2.3.0)
|
272
|
+
railties (>= 5.1, < 7.1)
|
271
273
|
roadie (>= 3.1, < 5.0)
|
272
|
-
rspec-core (3.10.
|
274
|
+
rspec-core (3.10.2)
|
273
275
|
rspec-support (~> 3.10.0)
|
274
|
-
rspec-expectations (3.10.
|
276
|
+
rspec-expectations (3.10.2)
|
275
277
|
diff-lcs (>= 1.2.0, < 2.0)
|
276
278
|
rspec-support (~> 3.10.0)
|
277
|
-
rspec-mocks (3.10.
|
279
|
+
rspec-mocks (3.10.3)
|
278
280
|
diff-lcs (>= 1.2.0, < 2.0)
|
279
281
|
rspec-support (~> 3.10.0)
|
280
|
-
rspec-rails (5.0
|
282
|
+
rspec-rails (5.1.0)
|
281
283
|
actionpack (>= 5.2)
|
282
284
|
activesupport (>= 5.2)
|
283
285
|
railties (>= 5.2)
|
@@ -285,11 +287,11 @@ GEM
|
|
285
287
|
rspec-expectations (~> 3.10)
|
286
288
|
rspec-mocks (~> 3.10)
|
287
289
|
rspec-support (~> 3.10)
|
288
|
-
rspec-support (3.10.
|
289
|
-
ruby-vips (2.1.
|
290
|
+
rspec-support (3.10.3)
|
291
|
+
ruby-vips (2.1.4)
|
290
292
|
ffi (~> 1.12)
|
291
|
-
ruby_parser (3.
|
292
|
-
sexp_processor (~> 4.
|
293
|
+
ruby_parser (3.18.1)
|
294
|
+
sexp_processor (~> 4.16)
|
293
295
|
sass-rails (6.0.0)
|
294
296
|
sassc-rails (~> 2.1, >= 2.1.1)
|
295
297
|
sassc (2.4.0)
|
@@ -300,7 +302,7 @@ GEM
|
|
300
302
|
sprockets (> 3.0)
|
301
303
|
sprockets-rails
|
302
304
|
tilt
|
303
|
-
sexp_processor (4.
|
305
|
+
sexp_processor (4.16.0)
|
304
306
|
simplecov (0.21.2)
|
305
307
|
docile (~> 1.1)
|
306
308
|
simplecov-html (~> 0.11)
|
@@ -310,15 +312,16 @@ GEM
|
|
310
312
|
sprockets (4.0.2)
|
311
313
|
concurrent-ruby (~> 1.0)
|
312
314
|
rack (> 1, < 3)
|
313
|
-
sprockets-rails (3.
|
314
|
-
actionpack (>=
|
315
|
-
activesupport (>=
|
315
|
+
sprockets-rails (3.4.2)
|
316
|
+
actionpack (>= 5.2)
|
317
|
+
activesupport (>= 5.2)
|
316
318
|
sprockets (>= 3.0.0)
|
317
319
|
stringex (2.8.5)
|
320
|
+
stringio (3.0.1)
|
318
321
|
temple (0.8.2)
|
319
322
|
terrapin (0.6.0)
|
320
323
|
climate_control (>= 0.0.3, < 1.0)
|
321
|
-
thor (1.1
|
324
|
+
thor (1.2.1)
|
322
325
|
tilt (2.0.10)
|
323
326
|
trustygems (0.2.1)
|
324
327
|
rake
|
@@ -335,7 +338,7 @@ GEM
|
|
335
338
|
will_paginate (3.3.1)
|
336
339
|
xpath (3.2.0)
|
337
340
|
nokogiri (~> 1.8)
|
338
|
-
zeitwerk (2.4
|
341
|
+
zeitwerk (2.5.4)
|
339
342
|
|
340
343
|
PLATFORMS
|
341
344
|
x86_64-darwin-18
|
@@ -359,4 +362,4 @@ DEPENDENCIES
|
|
359
362
|
trustygems (~> 0.2.0)
|
360
363
|
|
361
364
|
BUNDLED WITH
|
362
|
-
2.2.
|
365
|
+
2.2.31
|
data/app/models/asset.rb
CHANGED
@@ -49,20 +49,21 @@ class Asset < ActiveRecord::Base
|
|
49
49
|
to: :asset_type
|
50
50
|
|
51
51
|
def thumbnail(style_name = 'original')
|
52
|
-
return asset.url if style_name == 'original'
|
53
|
-
return asset_variant(style_name).processed.url if asset.variable?
|
52
|
+
return asset.url if style_name.to_s == 'original' || asset.key.include?('culturaldistrict')
|
53
|
+
return asset_variant(style_name.to_s).processed.url if asset.variable?
|
54
54
|
|
55
|
-
asset_type.icon(style_name)
|
55
|
+
asset_type.icon(style_name.to_s)
|
56
56
|
end
|
57
57
|
|
58
|
+
|
58
59
|
def asset_variant(style_name)
|
59
|
-
case style_name
|
60
|
+
case style_name
|
60
61
|
when 'thumbnail'
|
61
62
|
asset.variant(gravity: 'Center', resize: '100x100^', crop: '100x100+0+0')
|
62
|
-
when 'normal'
|
63
|
-
asset.variant(gravity: 'Center', resize: '640x640^')
|
64
63
|
when 'small'
|
65
64
|
asset.variant(gravity: 'Center', resize: '320x320^')
|
65
|
+
when 'normal'
|
66
|
+
asset.variant(gravity: 'Center', resize_to_limit: [asset.metadata[:width], asset.metadata[:height]])
|
66
67
|
when 'icon'
|
67
68
|
asset.variant(gravity: 'Center', resize: '50x50^')
|
68
69
|
end
|
data/app/models/rails_page.rb
CHANGED
@@ -25,13 +25,4 @@ class RailsPage < Page
|
|
25
25
|
(part(k) || parts.build(name: k.to_s, filter_id: '')).content = v
|
26
26
|
end
|
27
27
|
end
|
28
|
-
|
29
|
-
alias_method 'tag:old_breadcrumbs', 'tag:breadcrumbs'
|
30
|
-
tag 'breadcrumbs' do |tag|
|
31
|
-
if tag.locals.page.is_a?(RailsPage) && tag.locals.page.breadcrumbs
|
32
|
-
tag.locals.page.breadcrumbs
|
33
|
-
else
|
34
|
-
render_tag('old_breadcrumbs', tag)
|
35
|
-
end
|
36
|
-
end
|
37
28
|
end
|
data/app/models/standard_tags.rb
CHANGED
@@ -466,47 +466,6 @@ module StandardTags
|
|
466
466
|
end
|
467
467
|
end
|
468
468
|
|
469
|
-
desc %{
|
470
|
-
Renders a counter value or one of the values given based on a global cycle counter.
|
471
|
-
|
472
|
-
To get a numeric counter just use the tag, or specify a start value with @start@.
|
473
|
-
Use the @reset@ attribute to reset the cycle to the beginning. Using @reset@ on a
|
474
|
-
numbered cycle will begin at 0. Use the @name@ attribute to track multiple cycles;
|
475
|
-
the default is @cycle@.
|
476
|
-
|
477
|
-
*Usage:*
|
478
|
-
|
479
|
-
<pre><code><r:cycle [values="first, second, third"] [reset="true|false"] [name="cycle"] [start="second"] /></code></pre>
|
480
|
-
<pre><code><r:cycle start="3" /></code></pre>
|
481
|
-
}
|
482
|
-
tag 'cycle' do |tag|
|
483
|
-
cycle = (tag.globals.cycle ||= {})
|
484
|
-
if tag.attr['values']
|
485
|
-
values = tag.attr['values'].split(',').collect(&:strip)
|
486
|
-
end
|
487
|
-
start = tag.attr['start']
|
488
|
-
cycle_name = tag.attr['name'] || 'cycle'
|
489
|
-
if values
|
490
|
-
current_index = if start
|
491
|
-
(cycle[cycle_name] ||= values.index(start))
|
492
|
-
else
|
493
|
-
(cycle[cycle_name] ||= 0)
|
494
|
-
end
|
495
|
-
current_index = 0 if tag.attr['reset'] == 'true'
|
496
|
-
cycle[cycle_name] = (current_index + 1) % values.size
|
497
|
-
values[current_index]
|
498
|
-
else
|
499
|
-
cycle[cycle_name] ||= (start.presence || 0).to_i
|
500
|
-
output = cycle[cycle_name]
|
501
|
-
cycle[cycle_name] += 1
|
502
|
-
if tag.attr['reset'] == 'true'
|
503
|
-
cycle[cycle_name] = 0
|
504
|
-
output = cycle[cycle_name]
|
505
|
-
end
|
506
|
-
output
|
507
|
-
end
|
508
|
-
end
|
509
|
-
|
510
469
|
desc %{
|
511
470
|
Renders the main content of a page. Use the @part@ attribute to select a specific
|
512
471
|
page part. By default the @part@ attribute is set to body. Use the @inherit@
|
@@ -660,21 +619,9 @@ module StandardTags
|
|
660
619
|
|
661
620
|
*Usage:*
|
662
621
|
|
663
|
-
<pre><code
|
622
|
+
<pre><code>...</code></pre>
|
664
623
|
}
|
665
|
-
tag 'if_ancestor_or_self' do |tag|
|
666
|
-
tag.expand if (tag.globals.page.ancestors + [tag.globals.page]).include?(tag.locals.page)
|
667
|
-
end
|
668
|
-
|
669
|
-
desc %{
|
670
|
-
Renders the contained elements unless the current contextual page is either the actual page or one of its parents.
|
671
624
|
|
672
|
-
This is typically used inside another tag (like <r:children:each>) to add conditional mark-up unless the child element is or descends from the current page.
|
673
|
-
|
674
|
-
*Usage:*
|
675
|
-
|
676
|
-
<pre><code><r:unless_ancestor_or_self>...</r:unless_ancestor_or_self></code></pre>
|
677
|
-
}
|
678
625
|
tag 'unless_ancestor_or_self' do |tag|
|
679
626
|
tag.expand unless (tag.globals.page.ancestors + [tag.globals.page]).include?(tag.locals.page)
|
680
627
|
end
|
@@ -798,61 +745,6 @@ module StandardTags
|
|
798
745
|
end
|
799
746
|
end
|
800
747
|
|
801
|
-
desc %{
|
802
|
-
Renders a link to the page. When used as a single tag it uses the page's title
|
803
|
-
for the link name. When used as a double tag the part in between both tags will
|
804
|
-
be used as the link text. The link tag passes all attributes over to the HTML
|
805
|
-
@a@ tag. This is very useful for passing attributes like the @class@ attribute
|
806
|
-
or @id@ attribute. If the @anchor@ attribute is passed to the tag it will
|
807
|
-
append a pound sign (<code>#</code>) followed by the value of the attribute to
|
808
|
-
the @href@ attribute of the HTML @a@ tag--effectively making an HTML anchor.
|
809
|
-
|
810
|
-
*Usage:*
|
811
|
-
|
812
|
-
<pre><code><r:link [anchor="name"] [other attributes...] /></code></pre>
|
813
|
-
|
814
|
-
or
|
815
|
-
|
816
|
-
<pre><code><r:link [anchor="name"] [other attributes...]>link text here</r:link></code></pre>
|
817
|
-
}
|
818
|
-
tag 'link' do |tag|
|
819
|
-
options = tag.attr.dup
|
820
|
-
anchor = options['anchor'] ? "##{options.delete('anchor')}" : ''
|
821
|
-
attributes = options.inject('') { |s, (k, v)| s << %{#{k.downcase}="#{v}" } }.strip
|
822
|
-
attributes = " #{attributes}" unless attributes.empty?
|
823
|
-
text = tag.double? ? tag.expand : tag.render('title')
|
824
|
-
%{<a href="#{tag.render('path')}#{anchor}"#{attributes}>#{text}</a>}
|
825
|
-
end
|
826
|
-
|
827
|
-
desc %{
|
828
|
-
Renders a trail of breadcrumbs to the current page. The separator attribute
|
829
|
-
specifies the HTML fragment that is inserted between each of the breadcrumbs. By
|
830
|
-
default it is set to @>@. The boolean @nolinks@ attribute can be specified to render
|
831
|
-
breadcrumbs in plain text, without any links (useful when generating title tag).
|
832
|
-
Set the boolean @noself@ attribute to omit the present page (useful in page headers).
|
833
|
-
|
834
|
-
*Usage:*
|
835
|
-
|
836
|
-
<pre><code><r:breadcrumbs [separator="separator_string"] [nolinks="true"] [noself="true"]/></code></pre>
|
837
|
-
}
|
838
|
-
tag 'breadcrumbs' do |tag|
|
839
|
-
page = tag.locals.page
|
840
|
-
nolinks = (tag.attr['nolinks'] == 'true')
|
841
|
-
noself = (tag.attr['noself'] == 'true')
|
842
|
-
breadcrumbs = []
|
843
|
-
breadcrumbs.unshift page.breadcrumb unless noself
|
844
|
-
page.ancestors.each do |ancestor|
|
845
|
-
tag.locals.page = ancestor
|
846
|
-
if nolinks
|
847
|
-
breadcrumbs.unshift tag.render('breadcrumb')
|
848
|
-
else
|
849
|
-
breadcrumbs.unshift %{<a href="#{tag.render('path')}">#{tag.render('breadcrumb')}</a>}
|
850
|
-
end
|
851
|
-
end
|
852
|
-
separator = tag.attr['separator'] || ' > '
|
853
|
-
breadcrumbs.join(separator)
|
854
|
-
end
|
855
|
-
|
856
748
|
desc %{
|
857
749
|
Inside this tag all page related tags refer to the page found at the @path@ attribute.
|
858
750
|
@path@s may be relative or absolute paths.
|
@@ -1041,97 +933,6 @@ module StandardTags
|
|
1041
933
|
tag.expand if tag.locals.last_child
|
1042
934
|
end
|
1043
935
|
|
1044
|
-
desc %{
|
1045
|
-
Renders the containing elements only if TrustyCms in is development mode.
|
1046
|
-
|
1047
|
-
*Usage:*
|
1048
|
-
|
1049
|
-
<pre><code><r:if_dev>...</r:if_dev></code></pre>
|
1050
|
-
}
|
1051
|
-
tag 'if_dev' do |tag|
|
1052
|
-
tag.expand if dev?(tag.globals.page.request)
|
1053
|
-
end
|
1054
|
-
|
1055
|
-
desc %{
|
1056
|
-
The opposite of the @if_dev@ tag.
|
1057
|
-
|
1058
|
-
*Usage:*
|
1059
|
-
|
1060
|
-
<pre><code><r:unless_dev>...</r:unless_dev></code></pre>
|
1061
|
-
}
|
1062
|
-
tag 'unless_dev' do |tag|
|
1063
|
-
tag.expand unless dev?(tag.globals.page.request)
|
1064
|
-
end
|
1065
|
-
|
1066
|
-
desc %{
|
1067
|
-
Prints the page's status as a string. Optional attribute 'downcase'
|
1068
|
-
will cause the status to be all lowercase.
|
1069
|
-
|
1070
|
-
*Usage:*
|
1071
|
-
|
1072
|
-
<pre><code><r:status [downcase='true'] /></code></pre>
|
1073
|
-
}
|
1074
|
-
tag 'status' do |tag|
|
1075
|
-
status = tag.globals.page.status.name
|
1076
|
-
return status.downcase if tag.attr['downcase']
|
1077
|
-
|
1078
|
-
status
|
1079
|
-
end
|
1080
|
-
|
1081
|
-
desc %(
|
1082
|
-
Renders the content of the field given in the @name@ attribute.
|
1083
|
-
|
1084
|
-
*Usage:*
|
1085
|
-
|
1086
|
-
<pre><code><r:field name="Keywords" /></code></pre>
|
1087
|
-
)
|
1088
|
-
tag 'field' do |tag|
|
1089
|
-
required_attr(tag, 'name')
|
1090
|
-
tag.locals.page.field(tag.attr['name']).try(:content)
|
1091
|
-
end
|
1092
|
-
|
1093
|
-
desc %(
|
1094
|
-
Renders the contained elements if the field given in the @name@ attribute
|
1095
|
-
exists. The tag also takes an optional @equals@ or @matches@ attribute;
|
1096
|
-
these will expand the tag if the field's content equals or matches the
|
1097
|
-
given string or regex.
|
1098
|
-
|
1099
|
-
*Usage:*
|
1100
|
-
|
1101
|
-
<pre><code><r:if_field name="author" [equals|matches="John"] [ignore_case="true|false"]>...</r:if_field></code></pre>
|
1102
|
-
)
|
1103
|
-
tag 'if_field' do |tag|
|
1104
|
-
required_attr(tag, 'name')
|
1105
|
-
field = tag.locals.page.field(tag.attr['name'])
|
1106
|
-
return '' if field.nil?
|
1107
|
-
|
1108
|
-
tag.expand if if tag.attr['equals'] && (tag.attr['ignore_case'] == 'false') then field.content == tag.attr['equals']
|
1109
|
-
elsif tag.attr['equals'] then field.content.downcase == tag.attr['equals'].downcase
|
1110
|
-
elsif tag.attr['matches'] then field.content =~ build_regexp_for(tag, 'matches')
|
1111
|
-
else field
|
1112
|
-
end
|
1113
|
-
end
|
1114
|
-
|
1115
|
-
desc %(
|
1116
|
-
The opposite of @if_field@. Renders the contained elements unless the field
|
1117
|
-
given in the @name@ attribute exists. The tag also takes an optional
|
1118
|
-
@equals@ or @matches@ attribute; these will expand the tag unless the
|
1119
|
-
field's content equals or matches the given string or regex.
|
1120
|
-
|
1121
|
-
*Usage:*
|
1122
|
-
|
1123
|
-
<pre><code><r:unless_field name="author" [equals|matches="John"] [ignore_case="true|false"]>...</r:unless_field></code></pre>
|
1124
|
-
)
|
1125
|
-
tag 'unless_field' do |tag|
|
1126
|
-
required_attr(tag, 'name')
|
1127
|
-
field = tag.locals.page.field(tag.attr['name'])
|
1128
|
-
tag.expand unless if field && (tag.attr['equals'] && (tag.attr['ignore_case'] == 'false')) then field.content == tag.attr['equals']
|
1129
|
-
elsif field && tag.attr['equals'] then field.content.downcase == tag.attr['equals'].downcase
|
1130
|
-
elsif field && tag.attr['matches'] then field.content =~ build_regexp_for(tag, 'matches')
|
1131
|
-
else field
|
1132
|
-
end
|
1133
|
-
end
|
1134
|
-
|
1135
936
|
tag 'site' do |tag|
|
1136
937
|
tag.expand
|
1137
938
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
= stylesheet_link_tag 'admin/assets'
|
2
|
+
= javascript_include_tag 'admin/custom_file_upload'
|
2
3
|
= render_region :top
|
3
4
|
|
4
5
|
- render_region :main do |main|
|
@@ -19,7 +20,7 @@
|
|
19
20
|
= "#{t("clipped_extension.asset_url")}: #{image_path @asset.asset.url unless @asset.new_record?}"
|
20
21
|
%br
|
21
22
|
%label.id
|
22
|
-
= "#{t("clipped_extension.asset_id")}: #{@asset.
|
23
|
+
= "#{t("clipped_extension.asset_id")}: #{@asset.id unless @asset.new_record?}"
|
23
24
|
%p.asset
|
24
25
|
= image_tag @asset.thumbnail("normal"), :class => 'preview'
|
25
26
|
|
@@ -28,7 +29,8 @@
|
|
28
29
|
%fieldset.upload
|
29
30
|
%label.custom-file-upload.upload
|
30
31
|
= t("clipped_extension.replace_file")
|
31
|
-
= f.file_field :asset, :
|
32
|
+
= f.file_field :asset, :style => "width: 100%"
|
33
|
+
%span#file-chosen No file chosen
|
32
34
|
|
33
35
|
.buttons
|
34
36
|
= save_model_button(@asset)
|