pageflow-internal-links 0.1.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 +15 -0
- data/.gitignore +22 -0
- data/.jshintrc +22 -0
- data/CHANGELOG.md +7 -0
- data/Gemfile +10 -0
- data/README.md +63 -0
- data/Rakefile +7 -0
- data/app/assets/images/pageflow/internal_links_grid_pictogram.png +0 -0
- data/app/assets/images/pageflow/internal_links_grid_pictogram_small.png +0 -0
- data/app/assets/images/pageflow/internal_links_grid_sprite.png +0 -0
- data/app/assets/images/pageflow/internal_links_list_pictogram.png +0 -0
- data/app/assets/images/pageflow/internal_links_list_pictogram_small.png +0 -0
- data/app/assets/images/pageflow/internal_links_list_sprite.png +0 -0
- data/app/assets/images/pageflow/ov-internal_links_grid.png +0 -0
- data/app/assets/javascripts/pageflow/internal_links/editor/collections/grid_page_links_collection.js +20 -0
- data/app/assets/javascripts/pageflow/internal_links/editor/collections/list_page_links_collection.js +12 -0
- data/app/assets/javascripts/pageflow/internal_links/editor/collections/page_links_collection.js +90 -0
- data/app/assets/javascripts/pageflow/internal_links/editor/config.js +45 -0
- data/app/assets/javascripts/pageflow/internal_links/editor/controllers/side_bar_controller.js +14 -0
- data/app/assets/javascripts/pageflow/internal_links/editor/models/page_configuration_mixin.js +19 -0
- data/app/assets/javascripts/pageflow/internal_links/editor/models/page_link.js +35 -0
- data/app/assets/javascripts/pageflow/internal_links/editor/routers/side_bar_router.js +5 -0
- data/app/assets/javascripts/pageflow/internal_links/editor/templates/edit_page_link.jst.ejs +3 -0
- data/app/assets/javascripts/pageflow/internal_links/editor/templates/grid_item_embedded.jst.ejs +4 -0
- data/app/assets/javascripts/pageflow/internal_links/editor/templates/list_item_embedded.jst.ejs +7 -0
- data/app/assets/javascripts/pageflow/internal_links/editor/views/edit_page_link_view.js +67 -0
- data/app/assets/javascripts/pageflow/internal_links/editor/views/editable_links_mode_view.js +10 -0
- data/app/assets/javascripts/pageflow/internal_links/editor/views/grid_configuration_editor_view.js +30 -0
- data/app/assets/javascripts/pageflow/internal_links/editor/views/grid_item_embedded_view.js +227 -0
- data/app/assets/javascripts/pageflow/internal_links/editor/views/list_configuration_editor_view.js +29 -0
- data/app/assets/javascripts/pageflow/internal_links/editor/views/list_embedded_view.js +23 -0
- data/app/assets/javascripts/pageflow/internal_links/editor/views/list_item_embedded_view.js +103 -0
- data/app/assets/javascripts/pageflow/internal_links/editor/views/page_link_embedded_view.js +106 -0
- data/app/assets/javascripts/pageflow/internal_links/editor.js +11 -0
- data/app/assets/javascripts/pageflow/internal_links/grid_page_type.js +31 -0
- data/app/assets/javascripts/pageflow/internal_links/list_page_type.js +29 -0
- data/app/assets/javascripts/pageflow/internal_links.js +2 -0
- data/app/assets/stylesheets/pageflow/internal_links/editor/embedded_grid_item.css.scss +118 -0
- data/app/assets/stylesheets/pageflow/internal_links/editor/embedded_list_item.scss +33 -0
- data/app/assets/stylesheets/pageflow/internal_links/editor.css.scss +2 -0
- data/app/assets/stylesheets/pageflow/internal_links/grid.scss +230 -0
- data/app/assets/stylesheets/pageflow/internal_links/list.scss +76 -0
- data/app/assets/stylesheets/pageflow/internal_links.css.scss +2 -0
- data/app/helpers/pageflow/internal_links/grid_helper.rb +50 -0
- data/app/helpers/pageflow/internal_links/list_helper.rb +10 -0
- data/app/helpers/pageflow/internal_links/page_links.rb +79 -0
- data/app/views/pageflow/internal_links/grid/_grid.html.erb +7 -0
- data/app/views/pageflow/internal_links/grid/page.html.erb +25 -0
- data/app/views/pageflow/internal_links/list/_list.html.erb +6 -0
- data/app/views/pageflow/internal_links/list/_page_link.html.erb +14 -0
- data/app/views/pageflow/internal_links/list/page.html.erb +26 -0
- data/config/locales/de.yml +61 -0
- data/config/locales/en.yml +64 -0
- data/db/migrate/20150109121800_rename_internal_links_page_type.rb +13 -0
- data/lib/pageflow/internal_links/engine.rb +9 -0
- data/lib/pageflow/internal_links/grid_page_type.rb +19 -0
- data/lib/pageflow/internal_links/list_page_type.rb +19 -0
- data/lib/pageflow/internal_links/plugin.rb +9 -0
- data/lib/pageflow-internal-links.rb +17 -0
- data/pageflow-internal-links.gemspec +18 -0
- metadata +117 -0
@@ -0,0 +1,33 @@
|
|
1
|
+
.internal_links_list_page {
|
2
|
+
.edit {
|
3
|
+
@include icon-only-button(white);
|
4
|
+
@include pencil-icon;
|
5
|
+
position: absolute;
|
6
|
+
display: none;
|
7
|
+
z-index: 2;
|
8
|
+
top: 5px;
|
9
|
+
right: 15px;
|
10
|
+
}
|
11
|
+
|
12
|
+
nav li.editable:hover .edit {
|
13
|
+
display: block;
|
14
|
+
}
|
15
|
+
|
16
|
+
li.highlighted .page_link {
|
17
|
+
z-index: 0;
|
18
|
+
position: relative;
|
19
|
+
outline: solid 2px #000;
|
20
|
+
|
21
|
+
&:before {
|
22
|
+
content: "";
|
23
|
+
position: absolute;
|
24
|
+
top: -2px;
|
25
|
+
left: -2px;
|
26
|
+
width: 100%;
|
27
|
+
height: 100%;
|
28
|
+
border: solid 2px #fff;
|
29
|
+
@include animation(blink 3s linear infinite);
|
30
|
+
z-index: 1;
|
31
|
+
}
|
32
|
+
}
|
33
|
+
}
|
@@ -0,0 +1,230 @@
|
|
1
|
+
@include pageflow-page-type(internal_links_grid);
|
2
|
+
|
3
|
+
.js .page .internal_links_page .scroller > div,
|
4
|
+
.page .internal_links_page .scroller > div
|
5
|
+
{
|
6
|
+
@include pad_portrait {
|
7
|
+
padding: 15% 8% 5% 8%;
|
8
|
+
}
|
9
|
+
}
|
10
|
+
|
11
|
+
.js .page:first-child .internal_links_page .scroller > div,
|
12
|
+
.js .page:first-child .content_and_background.internal_links_page > .page_header,
|
13
|
+
.page:first-child .internal_links_page .scroller > div,
|
14
|
+
.js .page:first-child .content_and_background.internal_links_page > .page_header {
|
15
|
+
@include pad_portrait {
|
16
|
+
padding: 110px 8% 5% 8%;
|
17
|
+
}
|
18
|
+
}
|
19
|
+
|
20
|
+
.js .page .internal_links_page {
|
21
|
+
.scroller > div {
|
22
|
+
padding: 15% 14% 5% 8%;
|
23
|
+
width: 100%;
|
24
|
+
}
|
25
|
+
}
|
26
|
+
|
27
|
+
.internal_links_page {
|
28
|
+
nav {
|
29
|
+
position: relative;
|
30
|
+
max-width: 1011px;
|
31
|
+
pointer-events: all;
|
32
|
+
|
33
|
+
ul {
|
34
|
+
padding: 0;
|
35
|
+
top: 0;
|
36
|
+
left: 0;
|
37
|
+
width: 100%;
|
38
|
+
margin: 0 0 30px 0;
|
39
|
+
}
|
40
|
+
|
41
|
+
li {
|
42
|
+
display: inline-block;
|
43
|
+
list-style: none;
|
44
|
+
width: 19%;
|
45
|
+
max-width: 192px;
|
46
|
+
max-height: 108px;
|
47
|
+
padding: 0 1% 1% 0;
|
48
|
+
margin: 0 -4px -4px 0;
|
49
|
+
|
50
|
+
@include phone {
|
51
|
+
width: 48%;
|
52
|
+
max-width: 350px;
|
53
|
+
max-height: 250px;
|
54
|
+
padding: 0 2% 1% 0;
|
55
|
+
margin: 0 -3px -1px 0;
|
56
|
+
}
|
57
|
+
|
58
|
+
&.empty {
|
59
|
+
padding: 0 1% 0 0;
|
60
|
+
|
61
|
+
@include phone {
|
62
|
+
display: none;
|
63
|
+
}
|
64
|
+
}
|
65
|
+
}
|
66
|
+
|
67
|
+
.title {
|
68
|
+
display: none;
|
69
|
+
}
|
70
|
+
|
71
|
+
.title_hover {
|
72
|
+
.title {
|
73
|
+
display: block;
|
74
|
+
position: absolute;
|
75
|
+
top: 50%;
|
76
|
+
left: 0;
|
77
|
+
width: 100%;
|
78
|
+
color: white;
|
79
|
+
text-transform: uppercase;
|
80
|
+
text-align: center;
|
81
|
+
line-height: 1.2em;
|
82
|
+
letter-spacing: 0.05em;
|
83
|
+
font-size: 0.8em;
|
84
|
+
opacity: 0;
|
85
|
+
z-index: 1;
|
86
|
+
@include transform(translate3d(0,-50%,0));
|
87
|
+
@include transition(opacity 500ms);
|
88
|
+
}
|
89
|
+
|
90
|
+
&:hover {
|
91
|
+
.title {
|
92
|
+
opacity: 1;
|
93
|
+
}
|
94
|
+
|
95
|
+
.placeholder,
|
96
|
+
.thumbnail {
|
97
|
+
&:after {
|
98
|
+
opacity: 0.8;
|
99
|
+
}
|
100
|
+
}
|
101
|
+
}
|
102
|
+
|
103
|
+
.placeholder,
|
104
|
+
.thumbnail {
|
105
|
+
&:after {
|
106
|
+
opacity: 0;
|
107
|
+
background-color: black;
|
108
|
+
width: 100%;
|
109
|
+
height: 100%;
|
110
|
+
position: absolute;
|
111
|
+
top: 0;
|
112
|
+
left: 0;
|
113
|
+
content: "";
|
114
|
+
@include transition(opacity 500ms);
|
115
|
+
}
|
116
|
+
}
|
117
|
+
}
|
118
|
+
|
119
|
+
.placeholder,
|
120
|
+
.thumbnail {
|
121
|
+
display: block;
|
122
|
+
width: 100%;
|
123
|
+
padding-top: 56.25%;
|
124
|
+
background-position: center;
|
125
|
+
background-size: cover;
|
126
|
+
position: relative;
|
127
|
+
|
128
|
+
div {
|
129
|
+
position: absolute;
|
130
|
+
top: 0;
|
131
|
+
width: 100%;
|
132
|
+
height: 100%;
|
133
|
+
}
|
134
|
+
}
|
135
|
+
|
136
|
+
%hero {
|
137
|
+
max-width: 394px;
|
138
|
+
max-height: 226px;
|
139
|
+
width: 38.9%;
|
140
|
+
|
141
|
+
@include phone {
|
142
|
+
width: 98%;
|
143
|
+
max-width: 700px;
|
144
|
+
max-height: 600px;
|
145
|
+
float: none;
|
146
|
+
}
|
147
|
+
|
148
|
+
.placeholder,
|
149
|
+
.thumbnail {
|
150
|
+
padding-top: 58.5%;
|
151
|
+
}
|
152
|
+
|
153
|
+
.title {
|
154
|
+
font-size: 1em;
|
155
|
+
line-height: 1.4em;
|
156
|
+
}
|
157
|
+
|
158
|
+
&.empty {
|
159
|
+
padding-top: 22.815%;
|
160
|
+
|
161
|
+
@include phone {
|
162
|
+
padding-top: 0;
|
163
|
+
}
|
164
|
+
}
|
165
|
+
}
|
166
|
+
|
167
|
+
%hero_left {
|
168
|
+
@extend %hero;
|
169
|
+
float: left;
|
170
|
+
margin: 0;
|
171
|
+
|
172
|
+
@include phone {
|
173
|
+
float: none;
|
174
|
+
}
|
175
|
+
}
|
176
|
+
|
177
|
+
%hero_right {
|
178
|
+
@extend %hero;
|
179
|
+
float: right;
|
180
|
+
margin: 0;
|
181
|
+
padding: 0 1.3% 0 0px;
|
182
|
+
|
183
|
+
@include phone {
|
184
|
+
margin: 0;
|
185
|
+
float: none;
|
186
|
+
}
|
187
|
+
}
|
188
|
+
|
189
|
+
&[data-layout="hero_top_left"],
|
190
|
+
&[data-layout="hero_top_right"] {
|
191
|
+
li[data-reference-key="23"],
|
192
|
+
li[data-reference-key="24"],
|
193
|
+
li[data-reference-key="25"] {
|
194
|
+
display: none;
|
195
|
+
}
|
196
|
+
}
|
197
|
+
|
198
|
+
&[data-layout="hero_top_left"] {
|
199
|
+
li:first-child {
|
200
|
+
@extend %hero_left;
|
201
|
+
}
|
202
|
+
}
|
203
|
+
|
204
|
+
&[data-layout="hero_top_right"] {
|
205
|
+
li:first-child {
|
206
|
+
@extend %hero_right;
|
207
|
+
}
|
208
|
+
}
|
209
|
+
}
|
210
|
+
}
|
211
|
+
|
212
|
+
.invert .internal_links_page {
|
213
|
+
nav {
|
214
|
+
.thumbnail, .placeholder {
|
215
|
+
&:after {
|
216
|
+
background-color: white;
|
217
|
+
}
|
218
|
+
}
|
219
|
+
|
220
|
+
.title {
|
221
|
+
color: black;
|
222
|
+
}
|
223
|
+
}
|
224
|
+
}
|
225
|
+
|
226
|
+
.text_position_right .internal_links_page {
|
227
|
+
nav {
|
228
|
+
margin-left: auto;
|
229
|
+
}
|
230
|
+
}
|
@@ -0,0 +1,76 @@
|
|
1
|
+
@include pageflow-page-type(internal_links_list);
|
2
|
+
|
3
|
+
.internal_links_list_page {
|
4
|
+
nav li {
|
5
|
+
display: inline-block;
|
6
|
+
vertical-align: top;
|
7
|
+
position: relative;
|
8
|
+
margin-bottom: 10px;
|
9
|
+
pointer-events: all;
|
10
|
+
}
|
11
|
+
|
12
|
+
nav .page_link {
|
13
|
+
display: block;
|
14
|
+
width: 250px;
|
15
|
+
max-height: 400px;
|
16
|
+
height: 400px;
|
17
|
+
margin-right: 10px;
|
18
|
+
|
19
|
+
background-color: rgb(20,20,20);
|
20
|
+
background-color: rgba(20,20,20, 0.8);
|
21
|
+
color: white;
|
22
|
+
vertical-align: top;
|
23
|
+
text-align: left;
|
24
|
+
text-decoration: none;
|
25
|
+
@include transition(0.3s);
|
26
|
+
|
27
|
+
@include phone {
|
28
|
+
width: 230px;
|
29
|
+
margin-right: 0;
|
30
|
+
margin-bottom: 10px;
|
31
|
+
height: 290px;
|
32
|
+
max-height: 290px;
|
33
|
+
margin-right: 5px;
|
34
|
+
margin-left: 5px;
|
35
|
+
}
|
36
|
+
}
|
37
|
+
|
38
|
+
nav li:hover .page_link {
|
39
|
+
text-decoration: underline;
|
40
|
+
background-color: rgba(20,20,20, 1);
|
41
|
+
@include transform(scale(1.05));
|
42
|
+
|
43
|
+
@include phone {
|
44
|
+
@include transform(scale(1));
|
45
|
+
}
|
46
|
+
}
|
47
|
+
|
48
|
+
.page_thumbnail {
|
49
|
+
background-repeat: no-repeat;
|
50
|
+
background-size: cover;
|
51
|
+
width: 100%;
|
52
|
+
padding-top: 56.25%;
|
53
|
+
position: relative;
|
54
|
+
}
|
55
|
+
|
56
|
+
.file_thumbnail {
|
57
|
+
background-size: cover;
|
58
|
+
position: absolute;
|
59
|
+
top: 0;
|
60
|
+
left: 0;
|
61
|
+
bottom: 0;
|
62
|
+
right: 0;
|
63
|
+
}
|
64
|
+
|
65
|
+
.details {
|
66
|
+
margin: 20px;
|
67
|
+
text-decoration: none;
|
68
|
+
color: #fff;
|
69
|
+
|
70
|
+
p {
|
71
|
+
width: 100%;
|
72
|
+
white-space: normal;
|
73
|
+
line-height: 1.3em;
|
74
|
+
}
|
75
|
+
}
|
76
|
+
}
|
@@ -0,0 +1,50 @@
|
|
1
|
+
module Pageflow
|
2
|
+
module InternalLinks
|
3
|
+
module GridHelper
|
4
|
+
def internal_links_grid(entry, configuration)
|
5
|
+
Grid.new(self,
|
6
|
+
InternalLinks::PageLinks.deserialize(entry, configuration),
|
7
|
+
configuration['linked_pages_layout']).render
|
8
|
+
end
|
9
|
+
|
10
|
+
class Grid < Struct.new(:template, :page_links, :layout)
|
11
|
+
def render
|
12
|
+
template.render('pageflow/internal_links/grid/grid', grid: self)
|
13
|
+
end
|
14
|
+
|
15
|
+
def item(position)
|
16
|
+
page_link = page_links_by_position[position.to_i] || PageLink.null
|
17
|
+
|
18
|
+
template.content_tag(:li,
|
19
|
+
page_link.target_page ? thumbnail_link(page_link, hero?(position)) : '',
|
20
|
+
:data => {:reference_key => position},
|
21
|
+
:class => page_link.target_page ? 'title_hover' : 'title_hover empty')
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def page_links_by_position
|
27
|
+
@page_links_by_position ||= page_links.index_by(&:position)
|
28
|
+
end
|
29
|
+
|
30
|
+
def thumbnail_link(page_link, hero)
|
31
|
+
span = template.content_tag(:span, template.raw(page_link.description), :class => 'title')
|
32
|
+
|
33
|
+
template.link_to(span,
|
34
|
+
"##{page_link.target_page_id}",
|
35
|
+
:title => page_link.title,
|
36
|
+
:data => page_link.data_attributes,
|
37
|
+
:class => link_css_class(page_link.target_page, hero))
|
38
|
+
end
|
39
|
+
|
40
|
+
def link_css_class(page, hero)
|
41
|
+
['thumbnail', template.page_thumbnail_image_class(page, hero)] * ' '
|
42
|
+
end
|
43
|
+
|
44
|
+
def hero?(position)
|
45
|
+
position == 0
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,79 @@
|
|
1
|
+
module Pageflow
|
2
|
+
module InternalLinks
|
3
|
+
class PageLinks < Struct.new(:entry, :configuration)
|
4
|
+
def self.deserialize(entry, configuration)
|
5
|
+
new(entry, configuration).deserialize
|
6
|
+
end
|
7
|
+
|
8
|
+
def deserialize
|
9
|
+
page_links = parse
|
10
|
+
|
11
|
+
pages_by_perma_id = entry.pages
|
12
|
+
.where(perma_id: page_links.map(&:target_page_id))
|
13
|
+
.index_by(&:perma_id)
|
14
|
+
|
15
|
+
page_links.each do |page_link|
|
16
|
+
page_link.target_page = pages_by_perma_id[page_link.target_page_id]
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
def parse
|
23
|
+
if configuration.key?('internal_links')
|
24
|
+
parse_collection(configuration['internal_links'] || [])
|
25
|
+
else
|
26
|
+
parse_legacy_hash(configuration['linked_page_ids'] || {})
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def parse_collection(collection)
|
31
|
+
collection.map do |attributes|
|
32
|
+
PageLink.new(attributes['target_page_id'],
|
33
|
+
attributes['position'].to_i,
|
34
|
+
attributes['page_transition'],
|
35
|
+
attributes['description'])
|
36
|
+
end.sort_by(&:position)
|
37
|
+
end
|
38
|
+
|
39
|
+
def parse_legacy_hash(hash)
|
40
|
+
hash.map do |position, target_page_id|
|
41
|
+
PageLink.new(target_page_id, (position.to_i - 1), nil, nil)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
class PageLink < Struct.new(:target_page_id,
|
47
|
+
:position,
|
48
|
+
:page_transition,
|
49
|
+
:optional_description)
|
50
|
+
|
51
|
+
attr_accessor :target_page
|
52
|
+
|
53
|
+
def title
|
54
|
+
target_page ? target_page.configuration['title'] : ''
|
55
|
+
end
|
56
|
+
|
57
|
+
def description
|
58
|
+
optional_description.presence || target_page_description
|
59
|
+
end
|
60
|
+
|
61
|
+
def data_attributes
|
62
|
+
{}.tap do |result|
|
63
|
+
result[:page] = target_page.perma_id if target_page
|
64
|
+
result[:page_transition] = page_transition if page_transition.present?
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
def self.null
|
69
|
+
new(nil, nil, nil, nil)
|
70
|
+
end
|
71
|
+
|
72
|
+
private
|
73
|
+
|
74
|
+
def target_page_description
|
75
|
+
target_page ? target_page.configuration['description'] : ''
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<div class="blackLayer"></div>
|
2
|
+
<div class="content_and_background internal_links_page">
|
3
|
+
<div class="backgroundArea">
|
4
|
+
<%= background_image_div(configuration, 'background_image') %>
|
5
|
+
<%= shadow_div :opacity => configuration['gradient_opacity'] %>
|
6
|
+
</div>
|
7
|
+
<div class="content scroller">
|
8
|
+
<div>
|
9
|
+
<div class="contentWrapper">
|
10
|
+
<div class="page_header">
|
11
|
+
<h2>
|
12
|
+
<span class="tagline"><%= configuration['tagline'] %></span>
|
13
|
+
<span class="title"><%= configuration['title'] %></span>
|
14
|
+
<span class="subtitle"><%= configuration['subtitle'] %></span>
|
15
|
+
</h2>
|
16
|
+
<%= background_image_tag(configuration['background_image_id'], {"class" => "print_image"}) %>
|
17
|
+
</div>
|
18
|
+
<div class="contentText">
|
19
|
+
<p><%= raw configuration['text'] %></p>
|
20
|
+
</div>
|
21
|
+
<%= internal_links_grid(@entry, configuration) %>
|
22
|
+
</div>
|
23
|
+
</div>
|
24
|
+
</div>
|
25
|
+
</div>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<li>
|
2
|
+
<%= link_to("#", class: 'page_link', data: page_link.data_attributes) do %>
|
3
|
+
<%= content_tag(:div,
|
4
|
+
'',
|
5
|
+
class: ['page_thumbnail',
|
6
|
+
page_link.target_page ? page_thumbnail_image_class(page_link.target_page, false) : nil].compact * ' ') %>
|
7
|
+
|
8
|
+
<div class="details">
|
9
|
+
<p class="page_description">
|
10
|
+
<%= raw(strip_links(page_link.description)) %>
|
11
|
+
</p>
|
12
|
+
</div>
|
13
|
+
<% end %>
|
14
|
+
</li>
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<div class="blackLayer"></div>
|
2
|
+
<div class="content_and_background internal_links_list_page">
|
3
|
+
<div class="backgroundArea">
|
4
|
+
<%= background_image_div(configuration, 'background_image') %>
|
5
|
+
<%= shadow_div :opacity => configuration['gradient_opacity'] %>
|
6
|
+
</div>
|
7
|
+
<div class="content scroller">
|
8
|
+
<div>
|
9
|
+
<div class="contentWrapper">
|
10
|
+
<div class="page_header">
|
11
|
+
<h2>
|
12
|
+
<span class="tagline"><%= configuration['tagline'] %></span>
|
13
|
+
<span class="title"><%= configuration['title'] %></span>
|
14
|
+
<span class="subtitle"><%= configuration['subtitle'] %></span>
|
15
|
+
</h2>
|
16
|
+
<%= background_image_tag(configuration['background_image_id'], {"class" => "print_image"}) %>
|
17
|
+
</div>
|
18
|
+
<div class="contentText">
|
19
|
+
<p><%= raw configuration['text'] %></p>
|
20
|
+
</div>
|
21
|
+
|
22
|
+
<%= internal_links_list(@entry, configuration) %>
|
23
|
+
</div>
|
24
|
+
</div>
|
25
|
+
</div>
|
26
|
+
</div>
|
@@ -0,0 +1,61 @@
|
|
1
|
+
de:
|
2
|
+
activerecord:
|
3
|
+
attributes:
|
4
|
+
pageflow/internal_links/page_link:
|
5
|
+
description: Beschreibung
|
6
|
+
label: Bezeichnung
|
7
|
+
page_transition: Seitenübergangseffekt
|
8
|
+
target_page_id: Zielseite
|
9
|
+
pageflow/page:
|
10
|
+
linked_pages_layout: Hervorgehobenes Element
|
11
|
+
values:
|
12
|
+
pageflow/page:
|
13
|
+
linked_pages_layout:
|
14
|
+
default: (Kein)
|
15
|
+
hero_top_left: Links oben
|
16
|
+
hero_top_right: Rechts oben
|
17
|
+
pageflow:
|
18
|
+
internal_links:
|
19
|
+
editor:
|
20
|
+
templates:
|
21
|
+
edit_page_link:
|
22
|
+
back: Zurück
|
23
|
+
destroy: Löschen
|
24
|
+
embedded:
|
25
|
+
grid_page_link:
|
26
|
+
edit: Bearbeiten
|
27
|
+
set: Zielseite auswählen
|
28
|
+
views:
|
29
|
+
edit_page_link_view:
|
30
|
+
confirm_destroy: Verweis wirklich löschen?
|
31
|
+
default_page_transition: (Standard)
|
32
|
+
grid:
|
33
|
+
help_entries:
|
34
|
+
page_type:
|
35
|
+
menu_item: Seitenverweise
|
36
|
+
text: ! '# Seitenverweise
|
37
|
+
|
38
|
+
|
39
|
+
Verweise auf andere Seiten innerhalb eines Pageflows
|
40
|
+
|
41
|
+
Im Gegensatz zur externen Verweis-Seite, werden hier interne Seiten innerhalb des
|
42
|
+
|
43
|
+
Pageflows verlinkt. Dies bietet sich an, um den User gezielt durch den Pageflow zu leiten.
|
44
|
+
|
45
|
+
|
46
|
+
Typische Anwendungsbeispiele: Willkommens-Seite, Kapitel-Startseite
|
47
|
+
|
48
|
+
'
|
49
|
+
page_type_category_name: Verweise
|
50
|
+
page_type_description: Sammlung von Verweisen zu anderen Seiten dieses Pageflows
|
51
|
+
page_type_name: Seitenverweise
|
52
|
+
list:
|
53
|
+
help_entries:
|
54
|
+
page_type:
|
55
|
+
menu_item: Seitenverweise
|
56
|
+
text: TODO
|
57
|
+
page_type_category_name: Verweise
|
58
|
+
page_type_description: Sammlung von Verweisen zu anderen Seiten dieses Pageflows
|
59
|
+
page_type_name: Seitenverweis-Liste
|
60
|
+
internal_links_list:
|
61
|
+
page_type_feature_name: Seitenverweis-Liste Seitentyp
|
@@ -0,0 +1,64 @@
|
|
1
|
+
en:
|
2
|
+
activerecord:
|
3
|
+
attributes:
|
4
|
+
pageflow/internal_links/page_link:
|
5
|
+
description: Description
|
6
|
+
label: Label
|
7
|
+
page_transition: Page transition
|
8
|
+
target_page_id: Target page
|
9
|
+
pageflow/page:
|
10
|
+
linked_pages_layout: Hero
|
11
|
+
values:
|
12
|
+
pageflow/page:
|
13
|
+
linked_pages_layout:
|
14
|
+
default: (none)
|
15
|
+
hero_top_left: Top left
|
16
|
+
hero_top_right: Top right
|
17
|
+
pageflow:
|
18
|
+
internal_links:
|
19
|
+
editor:
|
20
|
+
templates:
|
21
|
+
edit_page_link:
|
22
|
+
back: Back
|
23
|
+
destroy: Delete
|
24
|
+
embedded:
|
25
|
+
grid_page_link:
|
26
|
+
edit: Edit
|
27
|
+
set: Set
|
28
|
+
views:
|
29
|
+
edit_page_link_view:
|
30
|
+
confirm_destroy: Really delete this link?
|
31
|
+
default_page_transition: Default page transition
|
32
|
+
grid:
|
33
|
+
help_entries:
|
34
|
+
page_type:
|
35
|
+
menu_item: Internal Links
|
36
|
+
text: ! '# Internal Links
|
37
|
+
|
38
|
+
|
39
|
+
References to other pages inside a Pageflow
|
40
|
+
|
41
|
+
|
42
|
+
In contrast to external link, you can link to pages inside
|
43
|
+
|
44
|
+
your Pageflow. This page type helps you guide your users
|
45
|
+
|
46
|
+
through your Pageflow.
|
47
|
+
|
48
|
+
|
49
|
+
Examples of application: Welcome page, chapter homepage
|
50
|
+
|
51
|
+
'
|
52
|
+
page_type_category_name: Links
|
53
|
+
page_type_description: A grid of thumbnails linking to other pages inside the Pageflow
|
54
|
+
page_type_name: Internal Links
|
55
|
+
list:
|
56
|
+
help_entries:
|
57
|
+
page_type:
|
58
|
+
menu_item: Internal Links List
|
59
|
+
text: TODO
|
60
|
+
page_type_category_name: Links
|
61
|
+
page_type_description: TODO
|
62
|
+
page_type_name: Internal Links List
|
63
|
+
internal_links_list:
|
64
|
+
page_type_feature_name: Internal Links Page Types
|