trusty-cms 3.6.2 → 3.7.0
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 +1 -1
- data/Gemfile.lock +13 -17
- data/lib/trusty_cms.rb +1 -1
- data/vendor/extensions/layouts-extension/layouts_extension.rb +1 -1
- data/vendor/extensions/layouts-extension/lib/nested_layouts/tags/core.rb +149 -0
- metadata +41 -38
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 87d1aa29762eadcf31ca151549eb2fc9c92ca4f30d9d65a35b2cf73f5d1f2d41
|
|
4
|
+
data.tar.gz: 4eb4d1421a03c9bb20d7e894353b934495bdc7fc86d75bf8c4f4b25ce2b0c6b8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2b3d8726f8da0998e568885be7e0003225f4af861bd8735b1ff0c50d76dbcd7a44a1b45516088372bbfa11786e86a8d93656f8a46db689fa4e84993f7a694d2a
|
|
7
|
+
data.tar.gz: 691acf119600c41670497c95765a83ebcc8262760657b8b6d74f1e6d3d66a1418580b5af3bb4ee458ec4f41d46750ef6c160a6bd87cc72656d7d4e44af1380c2
|
data/Gemfile
CHANGED
|
@@ -13,7 +13,6 @@ gemspec
|
|
|
13
13
|
|
|
14
14
|
group :development, :test do
|
|
15
15
|
gem 'acts_as_list'
|
|
16
|
-
gem 'codeclimate-test-reporter'
|
|
17
16
|
gem 'database_cleaner'
|
|
18
17
|
gem 'factory_bot_rails', '5.0.2'
|
|
19
18
|
gem 'launchy', '~> 2.4.2'
|
|
@@ -23,4 +22,5 @@ group :development, :test do
|
|
|
23
22
|
gem 'rails-observers'
|
|
24
23
|
gem 'rspec-rails'
|
|
25
24
|
gem 'sass-rails'
|
|
25
|
+
gem 'simplecov'
|
|
26
26
|
end
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
trusty-cms (3.
|
|
4
|
+
trusty-cms (3.7.0)
|
|
5
5
|
RedCloth (= 4.3.2)
|
|
6
6
|
acts_as_list (~> 0.9.5)
|
|
7
7
|
acts_as_tree (>= 2.6.1, < 2.9.0)
|
|
@@ -96,10 +96,8 @@ GEM
|
|
|
96
96
|
orm_adapter (~> 0.5.0)
|
|
97
97
|
climate_control (0.2.0)
|
|
98
98
|
cliver (0.3.2)
|
|
99
|
-
cocaine (0.
|
|
100
|
-
|
|
101
|
-
codeclimate-test-reporter (1.0.9)
|
|
102
|
-
simplecov (<= 0.13)
|
|
99
|
+
cocaine (0.5.8)
|
|
100
|
+
climate_control (>= 0.0.3, < 1.0)
|
|
103
101
|
coderay (1.1.2)
|
|
104
102
|
concurrent-ruby (1.1.5)
|
|
105
103
|
crass (1.0.4)
|
|
@@ -109,7 +107,7 @@ GEM
|
|
|
109
107
|
delocalize (1.2.0)
|
|
110
108
|
rails (>= 2)
|
|
111
109
|
diff-lcs (1.3)
|
|
112
|
-
docile (1.
|
|
110
|
+
docile (1.3.2)
|
|
113
111
|
erubi (1.8.0)
|
|
114
112
|
erubis (2.7.0)
|
|
115
113
|
execjs (2.7.0)
|
|
@@ -149,7 +147,7 @@ GEM
|
|
|
149
147
|
multipart-post
|
|
150
148
|
launchy (2.4.3)
|
|
151
149
|
addressable (~> 2.3)
|
|
152
|
-
libv8 (7.3.492.27.1)
|
|
150
|
+
libv8 (7.3.492.27.1-x86_64-linux)
|
|
153
151
|
loofah (2.2.3)
|
|
154
152
|
crass (~> 1.0.2)
|
|
155
153
|
nokogiri (>= 1.5.9)
|
|
@@ -171,15 +169,15 @@ GEM
|
|
|
171
169
|
multipart-post (2.1.1)
|
|
172
170
|
mysql2 (0.5.2)
|
|
173
171
|
nio4r (2.4.0)
|
|
174
|
-
nokogiri (1.10.
|
|
172
|
+
nokogiri (1.10.4)
|
|
175
173
|
mini_portile2 (~> 2.4.0)
|
|
176
174
|
orm_adapter (0.5.0)
|
|
177
|
-
paperclip (
|
|
175
|
+
paperclip (5.2.1)
|
|
178
176
|
activemodel (>= 4.2.0)
|
|
179
177
|
activesupport (>= 4.2.0)
|
|
178
|
+
cocaine (~> 0.5.5)
|
|
180
179
|
mime-types
|
|
181
180
|
mimemagic (~> 0.3.0)
|
|
182
|
-
terrapin (~> 0.6.0)
|
|
183
181
|
poltergeist (1.18.1)
|
|
184
182
|
capybara (>= 2.1, < 4)
|
|
185
183
|
cliver (~> 0.3.1)
|
|
@@ -232,8 +230,8 @@ GEM
|
|
|
232
230
|
roadie (3.5.0)
|
|
233
231
|
css_parser (~> 1.4)
|
|
234
232
|
nokogiri (~> 1.8)
|
|
235
|
-
roadie-rails (
|
|
236
|
-
railties (>=
|
|
233
|
+
roadie-rails (1.3.0)
|
|
234
|
+
railties (>= 3.0, < 5.3)
|
|
237
235
|
roadie (~> 3.1)
|
|
238
236
|
rspec-core (3.8.1)
|
|
239
237
|
rspec-support (~> 3.8.0)
|
|
@@ -266,8 +264,8 @@ GEM
|
|
|
266
264
|
sprockets-rails (>= 2.0, < 4.0)
|
|
267
265
|
tilt (>= 1.1, < 3)
|
|
268
266
|
sexp_processor (4.12.1)
|
|
269
|
-
simplecov (0.
|
|
270
|
-
docile (~> 1.1
|
|
267
|
+
simplecov (0.17.0)
|
|
268
|
+
docile (~> 1.1)
|
|
271
269
|
json (>= 1.8, < 3)
|
|
272
270
|
simplecov-html (~> 0.10.0)
|
|
273
271
|
simplecov-html (0.10.2)
|
|
@@ -280,8 +278,6 @@ GEM
|
|
|
280
278
|
sprockets (>= 3.0.0)
|
|
281
279
|
stringex (2.8.5)
|
|
282
280
|
temple (0.8.1)
|
|
283
|
-
terrapin (0.6.0)
|
|
284
|
-
climate_control (>= 0.0.3, < 1.0)
|
|
285
281
|
thor (0.20.3)
|
|
286
282
|
thread_safe (0.3.6)
|
|
287
283
|
tilt (2.0.9)
|
|
@@ -304,7 +300,6 @@ PLATFORMS
|
|
|
304
300
|
|
|
305
301
|
DEPENDENCIES
|
|
306
302
|
acts_as_list
|
|
307
|
-
codeclimate-test-reporter
|
|
308
303
|
database_cleaner
|
|
309
304
|
factory_bot_rails (= 5.0.2)
|
|
310
305
|
launchy (~> 2.4.2)
|
|
@@ -314,6 +309,7 @@ DEPENDENCIES
|
|
|
314
309
|
rails-observers
|
|
315
310
|
rspec-rails
|
|
316
311
|
sass-rails
|
|
312
|
+
simplecov
|
|
317
313
|
trusty-cms!
|
|
318
314
|
trustygems (~> 0.2.0)
|
|
319
315
|
|
data/lib/trusty_cms.rb
CHANGED
|
@@ -8,7 +8,7 @@ class LayoutsExtension < TrustyCms::Extension
|
|
|
8
8
|
ActionView::Base.send :include, ShareLayouts::Helpers::ActionView
|
|
9
9
|
|
|
10
10
|
# Nested Layouts
|
|
11
|
-
|
|
11
|
+
Page.send :include, NestedLayouts::Tags::Core
|
|
12
12
|
|
|
13
13
|
# HAML Layouts
|
|
14
14
|
Layout.send :include, HamlLayouts::Models::Layout
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
module NestedLayouts
|
|
2
|
+
module Tags
|
|
3
|
+
module Core
|
|
4
|
+
|
|
5
|
+
include TrustyCms::Taggable
|
|
6
|
+
|
|
7
|
+
class TagError < StandardError; end
|
|
8
|
+
|
|
9
|
+
desc %{
|
|
10
|
+
Renders the contents of the tag inside of a "parent" layout, which is selected via the +name+
|
|
11
|
+
attribute. The contents of this tag are placed at a corresponding <r:content_for_layout/> tag
|
|
12
|
+
within the parent layout. This tag is intended to be used within your layouts, and should
|
|
13
|
+
only appear once per layout.
|
|
14
|
+
|
|
15
|
+
*Usage:*
|
|
16
|
+
<r:inside_layout name="master">
|
|
17
|
+
<div id="main-column">
|
|
18
|
+
<r:content_for_layout/>
|
|
19
|
+
</div>
|
|
20
|
+
</r:inside_layout>
|
|
21
|
+
}
|
|
22
|
+
tag 'inside_layout' do |tag|
|
|
23
|
+
if name = tag.attr['name']
|
|
24
|
+
# Prepare the stacks
|
|
25
|
+
tag.globals.nested_layouts_content_stack ||= []
|
|
26
|
+
tag.globals.nested_layouts_layout_stack ||= []
|
|
27
|
+
|
|
28
|
+
# Remember the original layout to support the +layout+ tag
|
|
29
|
+
tag.globals.page_original_layout ||= tag.globals.page.layout # Remember the original layout
|
|
30
|
+
|
|
31
|
+
# Find the layout
|
|
32
|
+
name.strip!
|
|
33
|
+
if layout = Layout.find_by_name(name)
|
|
34
|
+
# Track this layout on the stack
|
|
35
|
+
tag.globals.nested_layouts_layout_stack << name
|
|
36
|
+
|
|
37
|
+
# Save contents of inside_layout for later insertion
|
|
38
|
+
tag.globals.nested_layouts_content_stack << tag.expand
|
|
39
|
+
|
|
40
|
+
# Set the page layout that Trusty should use for rendering, which is different than the actual
|
|
41
|
+
# page's layout when layouts are nested. The final/highest +inside_layout+ tag will set or
|
|
42
|
+
# overwrite this value for the last time.
|
|
43
|
+
tag.globals.page.layout = layout
|
|
44
|
+
tag.globals.page.render
|
|
45
|
+
else
|
|
46
|
+
raise TagError.new(%{Error (nested_layouts): Parent layout "#{name.strip}" not found for "inside_layout" tag})
|
|
47
|
+
end
|
|
48
|
+
else
|
|
49
|
+
raise TagError.new(%{Error (nested_layouts): "inside_layout" tag must contain a "name" attribute})
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
desc %{
|
|
54
|
+
Allows nested layouts to target this layout. The contents of <r:inside_layout> tag blocks in another
|
|
55
|
+
layout will have their contents inserted at the location given by this tag (if they target this
|
|
56
|
+
layout). This tag also behaves like a standard <r:content/> tag if this layout is specified directly
|
|
57
|
+
by a page.
|
|
58
|
+
|
|
59
|
+
This tag is intended to be used inside layouts.
|
|
60
|
+
|
|
61
|
+
*Usage:*
|
|
62
|
+
|
|
63
|
+
<html>
|
|
64
|
+
<body>
|
|
65
|
+
<r:content_for_layout/>
|
|
66
|
+
</body>
|
|
67
|
+
</html>
|
|
68
|
+
|
|
69
|
+
}
|
|
70
|
+
tag 'content_for_layout' do |tag|
|
|
71
|
+
tag.globals.nested_layouts_content_stack ||= []
|
|
72
|
+
|
|
73
|
+
# return the saved content if any, or mimic a default +<r:content/>+ tag (render the body part)
|
|
74
|
+
tag.globals.nested_layouts_content_stack.pop || tag.globals.page.render_part('body')
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
desc %{
|
|
78
|
+
Return the layout name of the current page.
|
|
79
|
+
|
|
80
|
+
*Usage:*
|
|
81
|
+
|
|
82
|
+
<html>
|
|
83
|
+
<body id="<r:layout/>"
|
|
84
|
+
My body tag has an id corresponding to the layout I use. Sweet!
|
|
85
|
+
</body>
|
|
86
|
+
</html>
|
|
87
|
+
}
|
|
88
|
+
tag 'layout' do |tag|
|
|
89
|
+
current_layout_name(tag)
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
desc %{
|
|
93
|
+
output the contents of tag if layout equals name (support regex)
|
|
94
|
+
|
|
95
|
+
*Usage:*
|
|
96
|
+
|
|
97
|
+
<pre><code><r:if_layout name="(parent|parent_of_child)">
|
|
98
|
+
one of those layouts
|
|
99
|
+
</r:if_layout></code></pre>
|
|
100
|
+
}
|
|
101
|
+
tag 'if_layout' do |tag|
|
|
102
|
+
tag.expand if is_current_layout(tag)
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
desc %{
|
|
106
|
+
Output the contents of tag unless layout equals name (support regex)
|
|
107
|
+
|
|
108
|
+
*Usage:*
|
|
109
|
+
|
|
110
|
+
<pre><code><r:unless_layout name="parent">
|
|
111
|
+
not the parent layotu
|
|
112
|
+
</r:unless_layout></code></pre>
|
|
113
|
+
}
|
|
114
|
+
tag 'unless_layout' do |tag|
|
|
115
|
+
tag.expand unless is_current_layout(tag)
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
tag 'body' do |tag|
|
|
119
|
+
%{<body id="#{tag.locals.page.slug.gsub('/','')}" class="#{current_layout_name(tag)}#{tag.attr['class'].present? ? " #{tag.attr['class']}" : nil}">#{tag.expand}</body>}
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
protected
|
|
123
|
+
|
|
124
|
+
def current_layout_name(tag)
|
|
125
|
+
result = ''
|
|
126
|
+
|
|
127
|
+
if layout = tag.globals.page_original_layout
|
|
128
|
+
result = layout.name
|
|
129
|
+
elsif layout = tag.globals.page.layout
|
|
130
|
+
result = layout.name
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
result
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
def is_current_layout(tag)
|
|
137
|
+
if tag.attr['name'].nil?
|
|
138
|
+
raise TagError.new(%{Error (nested_layouts): "if_layout" tag must contain a "name" attribute})
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
layout = tag.globals.page_original_layout || tag.globals.page.layout
|
|
142
|
+
search = %r{#{tag.attr['name']}}
|
|
143
|
+
|
|
144
|
+
(layout.name =~ search).present?
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
end
|
|
148
|
+
end
|
|
149
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: trusty-cms
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.
|
|
4
|
+
version: 3.7.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- TrustyCms CMS dev team
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2019-08-
|
|
11
|
+
date: 2019-08-14 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: acts_as_list
|
|
@@ -1009,6 +1009,7 @@ files:
|
|
|
1009
1009
|
- spec/dummy/config/routes.rb
|
|
1010
1010
|
- spec/dummy/config/secrets.yml
|
|
1011
1011
|
- spec/dummy/db/schema.rb
|
|
1012
|
+
- spec/dummy/log/test.log
|
|
1012
1013
|
- spec/dummy/package.json
|
|
1013
1014
|
- spec/dummy/public/404.html
|
|
1014
1015
|
- spec/dummy/public/422.html
|
|
@@ -1047,6 +1048,7 @@ files:
|
|
|
1047
1048
|
- vendor/extensions/layouts-extension/lib/haml_layouts/models/layout.rb
|
|
1048
1049
|
- vendor/extensions/layouts-extension/lib/haml_layouts/models/page.rb
|
|
1049
1050
|
- vendor/extensions/layouts-extension/lib/layouts/engine.rb
|
|
1051
|
+
- vendor/extensions/layouts-extension/lib/nested_layouts/tags/core.rb
|
|
1050
1052
|
- vendor/extensions/layouts-extension/lib/share_layouts/controllers/action_controller.rb
|
|
1051
1053
|
- vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
|
|
1052
1054
|
- vendor/extensions/layouts-extension/lib/tasks/layouts_extension_tasks.rake
|
|
@@ -1128,54 +1130,55 @@ signing_key:
|
|
|
1128
1130
|
specification_version: 4
|
|
1129
1131
|
summary: A no-fluff content management system designed for small teams.
|
|
1130
1132
|
test_files:
|
|
1133
|
+
- spec/ci/database.mysql.yml
|
|
1134
|
+
- spec/controllers/application_controller_spec.rb
|
|
1135
|
+
- spec/controllers/users_controller_spec.rb
|
|
1136
|
+
- spec/controllers/welcome_controller_spec.rb
|
|
1137
|
+
- spec/dummy/README.rdoc
|
|
1131
1138
|
- spec/dummy/Rakefile
|
|
1132
|
-
- spec/dummy/package.json
|
|
1133
|
-
- spec/dummy/bin/setup
|
|
1134
|
-
- spec/dummy/bin/rake
|
|
1135
|
-
- spec/dummy/bin/rails
|
|
1136
1139
|
- spec/dummy/bin/bundle
|
|
1137
|
-
- spec/dummy/
|
|
1138
|
-
- spec/dummy/
|
|
1139
|
-
- spec/dummy/
|
|
1140
|
-
- spec/dummy/
|
|
1140
|
+
- spec/dummy/bin/rails
|
|
1141
|
+
- spec/dummy/bin/rake
|
|
1142
|
+
- spec/dummy/bin/setup
|
|
1143
|
+
- spec/dummy/config/application.rb
|
|
1144
|
+
- spec/dummy/config/boot.rb
|
|
1145
|
+
- spec/dummy/config/database.yml
|
|
1146
|
+
- spec/dummy/config/environment.rb
|
|
1147
|
+
- spec/dummy/config/environments/development.rb
|
|
1141
1148
|
- spec/dummy/config/environments/production.rb
|
|
1142
1149
|
- spec/dummy/config/environments/test.rb
|
|
1143
|
-
- spec/dummy/config/
|
|
1144
|
-
- spec/dummy/config/
|
|
1145
|
-
- spec/dummy/config/
|
|
1146
|
-
- spec/dummy/config/initializers/
|
|
1147
|
-
- spec/dummy/config/initializers/trusty_cms_config.rb
|
|
1150
|
+
- spec/dummy/config/initializers/assets.rb
|
|
1151
|
+
- spec/dummy/config/initializers/backtrace_silencers.rb
|
|
1152
|
+
- spec/dummy/config/initializers/cookies_serializer.rb
|
|
1153
|
+
- spec/dummy/config/initializers/filter_parameter_logging.rb
|
|
1148
1154
|
- spec/dummy/config/initializers/inflections.rb
|
|
1149
1155
|
- spec/dummy/config/initializers/mime_types.rb
|
|
1150
|
-
- spec/dummy/config/initializers/filter_parameter_logging.rb
|
|
1151
|
-
- spec/dummy/config/initializers/backtrace_silencers.rb
|
|
1152
1156
|
- spec/dummy/config/initializers/session_store.rb
|
|
1153
|
-
- spec/dummy/config/initializers/
|
|
1154
|
-
- spec/dummy/config/initializers/
|
|
1155
|
-
- spec/dummy/config/
|
|
1156
|
-
- spec/dummy/config/secrets.yml
|
|
1157
|
+
- spec/dummy/config/initializers/trusty_cms_config.rb
|
|
1158
|
+
- spec/dummy/config/initializers/wrap_parameters.rb
|
|
1159
|
+
- spec/dummy/config/locales/en.yml
|
|
1157
1160
|
- spec/dummy/config/routes.rb
|
|
1158
|
-
- spec/dummy/config/
|
|
1159
|
-
- spec/dummy/config/environment.rb
|
|
1161
|
+
- spec/dummy/config/secrets.yml
|
|
1160
1162
|
- spec/dummy/config.ru
|
|
1161
1163
|
- spec/dummy/db/schema.rb
|
|
1162
|
-
- spec/dummy/
|
|
1164
|
+
- spec/dummy/log/test.log
|
|
1165
|
+
- spec/dummy/package.json
|
|
1166
|
+
- spec/dummy/public/404.html
|
|
1167
|
+
- spec/dummy/public/422.html
|
|
1168
|
+
- spec/dummy/public/500.html
|
|
1169
|
+
- spec/dummy/public/favicon.ico
|
|
1163
1170
|
- spec/dummy/yarn.lock
|
|
1164
|
-
- spec/
|
|
1165
|
-
- spec/controllers/welcome_controller_spec.rb
|
|
1166
|
-
- spec/controllers/application_controller_spec.rb
|
|
1167
|
-
- spec/rails_helper.rb
|
|
1168
|
-
- spec/routing/welcome_routing_spec.rb
|
|
1169
|
-
- spec/fixtures/users.yml
|
|
1170
|
-
- spec/spec_helper.rb
|
|
1171
|
-
- spec/models/layout_spec.rb
|
|
1172
|
-
- spec/ci/database.mysql.yml
|
|
1173
|
-
- spec/features/pages_spec.rb
|
|
1174
|
-
- spec/features/config_spec.rb
|
|
1175
|
-
- spec/features/admin_login_spec.rb
|
|
1176
|
-
- spec/features/layouts_spec.rb
|
|
1171
|
+
- spec/factories/layout.rb
|
|
1177
1172
|
- spec/factories/page.rb
|
|
1178
1173
|
- spec/factories/page_part.rb
|
|
1179
1174
|
- spec/factories/user.rb
|
|
1180
|
-
- spec/
|
|
1175
|
+
- spec/features/admin_login_spec.rb
|
|
1176
|
+
- spec/features/config_spec.rb
|
|
1177
|
+
- spec/features/layouts_spec.rb
|
|
1178
|
+
- spec/features/pages_spec.rb
|
|
1179
|
+
- spec/fixtures/users.yml
|
|
1180
|
+
- spec/models/layout_spec.rb
|
|
1181
|
+
- spec/rails_helper.rb
|
|
1182
|
+
- spec/routing/welcome_routing_spec.rb
|
|
1183
|
+
- spec/spec_helper.rb
|
|
1181
1184
|
- spec/support/custom_actions.rb
|