pageflow 15.7.1 → 16.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +33 -243
- data/README.md +1 -9
- data/Rakefile +4 -1
- data/admins/pageflow/accounts.rb +12 -16
- data/admins/pageflow/entry.rb +57 -28
- data/admins/pageflow/entry_templates.rb +5 -7
- data/admins/pageflow/sites.rb +50 -0
- data/admins/pageflow/user.rb +7 -0
- data/app/assets/javascripts/pageflow/admin/entries.js +53 -4
- data/app/assets/stylesheets/pageflow/admin/permalink_input.scss +65 -0
- data/app/assets/stylesheets/pageflow/admin.scss +1 -0
- data/app/assets/stylesheets/pageflow/editor/base.scss +2 -6
- data/app/assets/stylesheets/pageflow/editor/dialogs.scss +2 -0
- data/app/assets/stylesheets/pageflow/editor/drop_down_button.scss +9 -0
- data/app/assets/stylesheets/pageflow/editor/info_box.scss +13 -3
- data/app/assets/stylesheets/pageflow/mixins/buttons.scss +1 -0
- data/app/assets/stylesheets/pageflow/page.scss +0 -2
- data/app/assets/stylesheets/pageflow/themes/default/page.scss +1 -1
- data/app/assets/stylesheets/pageflow/ui/forms.scss +4 -1
- data/app/controllers/pageflow/editor/file_import_controller.rb +32 -42
- data/app/controllers/pageflow/entries_controller.rb +27 -3
- data/app/helpers/pageflow/admin/permalinks_helper.rb +15 -0
- data/app/helpers/pageflow/common_entry_seed_helper.rb +1 -1
- data/app/helpers/pageflow/embed_code_helper.rb +1 -1
- data/app/helpers/pageflow/entries_helper.rb +25 -17
- data/app/helpers/pageflow/sites_helper.rb +11 -0
- data/app/helpers/pageflow/social_share_helper.rb +2 -2
- data/app/inputs/pageflow_permalink_input.rb +47 -0
- data/app/models/concerns/pageflow/permalinkable.rb +12 -0
- data/app/models/concerns/pageflow/reusable_file.rb +5 -0
- data/app/models/concerns/pageflow/uploadable_file.rb +4 -0
- data/app/models/pageflow/account.rb +7 -33
- data/app/models/pageflow/{cname_theming_request_scope.rb → cname_site_request_scope.rb} +3 -3
- data/app/models/pageflow/customized_theme.rb +5 -3
- data/app/models/pageflow/entry.rb +8 -4
- data/app/models/pageflow/entry_at_revision.rb +4 -3
- data/app/models/pageflow/entry_duplicate.rb +8 -1
- data/app/models/pageflow/entry_template.rb +4 -4
- data/app/models/pageflow/home_button.rb +7 -7
- data/app/models/pageflow/image_file_url_templates.rb +2 -2
- data/app/models/pageflow/permalink.rb +39 -0
- data/app/models/pageflow/permalink_directory.rb +10 -0
- data/app/models/pageflow/published_entry.rb +19 -2
- data/app/models/pageflow/revision.rb +1 -1
- data/app/models/pageflow/site.rb +59 -0
- data/app/models/pageflow/theme_customization.rb +1 -1
- data/app/models/pageflow/theme_customization_file.rb +6 -1
- data/app/policies/pageflow/account_policy.rb +2 -2
- data/app/policies/pageflow/entry_policy.rb +2 -2
- data/app/policies/pageflow/entry_template_policy.rb +1 -1
- data/app/policies/pageflow/{theming_policy.rb → site_policy.rb} +13 -11
- data/app/views/admin/accounts/_entry_template_details.html.arb +1 -1
- data/app/views/admin/accounts/_form.html.erb +4 -22
- data/app/views/admin/accounts/_site_defaults_inline_help.html.erb +5 -0
- data/app/views/admin/entries/_form.html.erb +11 -12
- data/app/views/admin/entries/_permalink_inputs.html.erb +6 -0
- data/app/views/admin/entries/_site_input.html.erb +15 -0
- data/app/views/admin/entries/{entry_type_name_input.html.erb → entry_site_and_type_name_input.html.erb} +3 -0
- data/app/views/admin/entries/permalink_inputs.html.erb +7 -0
- data/app/views/admin/entry_templates/_form.html.erb +5 -5
- data/app/views/admin/sites/_attributes_table.html.arb +9 -0
- data/app/views/admin/sites/_fields.html.erb +17 -0
- data/app/views/admin/sites/_form.html.erb +5 -0
- data/app/views/components/pageflow/admin/entries_tab.rb +1 -2
- data/app/views/components/pageflow/admin/entry_templates_tab.rb +10 -11
- data/app/views/components/pageflow/admin/features_tab.rb +1 -1
- data/app/views/components/pageflow/admin/sites_tab.rb +32 -0
- data/app/views/components/pageflow/admin/users_tab.rb +1 -2
- data/app/views/pageflow/editor/entries/seed.json.erb +1 -1
- data/app/views/pageflow/editor/file_import/start_import_job.json.jbuilder +10 -0
- data/app/views/pageflow/editor/sites/_site.json.jbuilder +1 -0
- data/app/views/pageflow/entries/{_theming.css.erb → _site.css.erb} +0 -0
- data/app/views/pageflow/entries/stylesheet.css.erb +1 -1
- data/app/views/pageflow/files/_file.json.jbuilder +1 -0
- data/app/views/pageflow/social_share/_entry_meta_tags.html.erb +1 -1
- data/app/views/pageflow/social_share/_page_meta_tags.html.erb +1 -1
- data/config/initializers/admin_resource_tabs.rb +29 -12
- data/config/initializers/mime_types.rb +1 -0
- data/config/locales/de.yml +19 -17
- data/config/locales/en.yml +19 -17
- data/config/routes.rb +8 -5
- data/db/migrate/20221024100724_create_pageflow_permalink_directories.rb +10 -0
- data/db/migrate/20221025074049_add_permalink_attributes_to_entries.rb +5 -0
- data/db/migrate/20221027065022_create_pageflow_permalinks.rb +12 -0
- data/db/migrate/20221215101134_rename_theming_to_site.rb +9 -0
- data/db/migrate/20221215120856_associate_entry_templates_with_sites.rb +34 -0
- data/db/migrate/20221219203023_add_name_to_sites.rb +5 -0
- data/db/migrate/20230103155934_associate_theme_customizations_with_sites.rb +27 -0
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/editor.js +176 -179
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/frontend.js +49 -7
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-client.js +5 -5
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-server.js +1 -1
- data/entry_types/paged/config/initializers/features.rb +2 -0
- data/entry_types/paged/config/locales/{new/help.de.yml → de.yml} +74 -65
- data/entry_types/paged/config/locales/{new/help.en.yml → en.yml} +66 -56
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/favicon_helper.rb +39 -13
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/generated_media_queries_helper.rb +55 -0
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/themes_helper.rb +6 -2
- data/entry_types/scrolled/app/views/pageflow_scrolled/editor/entries/_head.html.erb +2 -0
- data/entry_types/scrolled/app/views/pageflow_scrolled/entries/_manifest.json.jbuilder +16 -0
- data/entry_types/scrolled/app/views/pageflow_scrolled/entries/show.html.erb +9 -3
- data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_entry.json.jbuilder +5 -5
- data/entry_types/scrolled/app/views/pageflow_scrolled/favicons/_entry.html.erb +16 -10
- data/entry_types/scrolled/config/locales/de.yml +265 -76
- data/entry_types/scrolled/config/locales/en.yml +266 -77
- data/entry_types/scrolled/lib/pageflow_scrolled/configuration.rb +3 -3
- data/entry_types/scrolled/lib/pageflow_scrolled/plugin.rb +14 -0
- data/entry_types/scrolled/lib/pageflow_scrolled/react_widget_type.rb +1 -1
- data/entry_types/scrolled/lib/pageflow_scrolled/seeds.rb +1 -1
- data/entry_types/scrolled/lib/pageflow_scrolled/web_app_manifest.rb +11 -0
- data/entry_types/scrolled/lib/pageflow_scrolled.rb +39 -1
- data/entry_types/scrolled/lib/tasks/pageflow_scrolled/storybook.rake +3 -2
- data/entry_types/scrolled/package/contentElements-editor.js +124 -38
- data/entry_types/scrolled/package/contentElements-frontend.css +1 -1
- data/entry_types/scrolled/package/contentElements-frontend.js +321 -27
- data/entry_types/scrolled/package/editor.js +1345 -739
- data/entry_types/scrolled/package/frontend/EditableInlineText.module-14c7b097.js +5314 -0
- data/entry_types/scrolled/package/frontend/{PhonePlatformContext-9fb97827.js → PhonePlatformContext-f6093cc6.js} +87 -223
- data/entry_types/scrolled/package/frontend/{Viewer-e2290ea0.js → Viewer-b6becc57.js} +6 -40
- data/entry_types/scrolled/package/frontend/arrowRight-78a7cee4.js +42 -0
- data/entry_types/scrolled/package/frontend/{components-6ab26015.js → components-b3160dd7.js} +546 -361
- data/entry_types/scrolled/package/frontend/index.css +1 -1
- data/entry_types/scrolled/package/frontend/index.js +398 -3692
- data/entry_types/scrolled/package/package.json +3 -2
- data/entry_types/scrolled/package/testHelpers.js +12 -2
- data/entry_types/scrolled/package/widgets/defaultNavigation.css +2 -2
- data/entry_types/scrolled/package/widgets/defaultNavigation.js +50 -40
- data/entry_types/scrolled/spec/fixtures/image.ico +0 -0
- data/lib/pageflow/ability_mixin.rb +16 -8
- data/lib/pageflow/admin/attributes_table_rows.rb +1 -1
- data/lib/pageflow/admin/form_inputs.rb +1 -1
- data/lib/pageflow/admin/tabs.rb +1 -1
- data/lib/pageflow/configuration/permissions.rb +3 -3
- data/lib/pageflow/configuration.rb +17 -17
- data/lib/pageflow/entry_export_import/entry_serialization.rb +1 -1
- data/lib/pageflow/entry_type.rb +6 -2
- data/lib/pageflow/primary_domain_entry_redirect.rb +7 -7
- data/lib/pageflow/seeds.rb +10 -10
- data/lib/pageflow/theme_customizations.rb +10 -10
- data/lib/pageflow/version.rb +1 -1
- data/package/editor.js +129 -156
- data/package/frontend.js +19 -2
- data/package/testHelpers.js +39 -6
- data/spec/factories/accounts.rb +5 -2
- data/spec/factories/draft_entries.rb +2 -2
- data/spec/factories/entries.rb +18 -1
- data/spec/factories/entry_templates.rb +1 -1
- data/spec/factories/permalink_directory.rb +6 -0
- data/spec/factories/permalinks.rb +4 -0
- data/spec/factories/published_entries.rb +4 -2
- data/spec/factories/sites.rb +9 -0
- metadata +50 -62
- data/app/assets/javascripts/pageflow/dist/editor.js +0 -11890
- data/app/assets/javascripts/pageflow/dist/frontend.js +0 -5800
- data/app/assets/javascripts/pageflow/dist/react-client.js +0 -22
- data/app/assets/javascripts/pageflow/dist/react-server.js +0 -19
- data/app/helpers/pageflow/themings_helper.rb +0 -11
- data/app/models/pageflow/theming.rb +0 -29
- data/app/views/admin/accounts/_theming_defaults_inline_help.html.erb +0 -5
- data/app/views/admin/accounts/_theming_details.html.arb +0 -5
- data/app/views/pageflow/editor/themings/_theming.json.jbuilder +0 -1
- data/entry_types/paged/config/locales/new/video_contain.de.yml +0 -7
- data/entry_types/paged/config/locales/new/video_contain.en.yml +0 -7
- data/entry_types/scrolled/config/locales/new/before_after_slider.de.yml +0 -8
- data/entry_types/scrolled/config/locales/new/before_after_slider.en.yml +0 -8
- data/entry_types/scrolled/config/locales/new/center_ragged.de.yml +0 -8
- data/entry_types/scrolled/config/locales/new/center_ragged.en.yml +0 -9
- data/entry_types/scrolled/config/locales/new/consent.de.yml +0 -25
- data/entry_types/scrolled/config/locales/new/consent.en.yml +0 -24
- data/entry_types/scrolled/config/locales/new/content_element_categories.de.yml +0 -39
- data/entry_types/scrolled/config/locales/new/content_element_categories.en.yml +0 -39
- data/entry_types/scrolled/config/locales/new/default_transition.de.yml +0 -14
- data/entry_types/scrolled/config/locales/new/default_transition.en.yml +0 -14
- data/entry_types/scrolled/config/locales/new/header_line_breaks.de.yml +0 -28
- data/entry_types/scrolled/config/locales/new/header_line_breaks.en.yml +0 -27
- data/entry_types/scrolled/config/locales/new/header_size.de.yml +0 -17
- data/entry_types/scrolled/config/locales/new/header_size.en.yml +0 -17
- data/entry_types/scrolled/config/locales/new/iframe_embed.de.yml +0 -39
- data/entry_types/scrolled/config/locales/new/iframe_embed.en.yml +0 -39
- data/entry_types/scrolled/config/locales/new/inline_loops.de.yml +0 -26
- data/entry_types/scrolled/config/locales/new/inline_loops.en.yml +0 -26
- data/entry_types/scrolled/config/locales/new/portrait_inline_image.de.yml +0 -9
- data/entry_types/scrolled/config/locales/new/portrait_inline_image.en.yml +0 -9
- data/entry_types/scrolled/config/locales/new/section_width.de.yml +0 -10
- data/entry_types/scrolled/config/locales/new/section_width.en.yml +0 -10
- data/entry_types/scrolled/config/locales/new/typography_variants.de.yml +0 -7
- data/entry_types/scrolled/config/locales/new/typography_variants.en.yml +0 -7
- data/entry_types/scrolled/config/locales/new/video_embed_poster.de.yml +0 -8
- data/entry_types/scrolled/config/locales/new/video_embed_poster.en.yml +0 -8
- data/entry_types/scrolled/config/locales/new/waveform_styles.de.yml +0 -11
- data/entry_types/scrolled/config/locales/new/waveform_styles.en.yml +0 -12
- data/entry_types/scrolled/config/locales/new/widgets.de.yml +0 -6
- data/entry_types/scrolled/config/locales/new/widgets.en.yml +0 -6
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/browserconfig.xml +0 -9
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/mstile-150x150.png +0 -0
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/safari-pinned-tab.svg +0 -46
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/site.webmanifest +0 -19
- data/entry_types/scrolled/package/frontend/EditableInlineText.module-b9923660.js +0 -993
- data/entry_types/scrolled/package/frontend/usePhonePlatform-2857c22b.js +0 -34
- data/spec/factories/themings.rb +0 -7
@@ -1,6 +1,48 @@
|
|
1
1
|
en:
|
2
|
+
pageflow:
|
3
|
+
datawrapper_chart_embed_opt_in:
|
4
|
+
feature_name: Opt-in for Datawrapper embeds
|
5
|
+
defaultNavigation:
|
6
|
+
widget_type_name: Default navigation
|
7
|
+
editor:
|
8
|
+
widgets:
|
9
|
+
attributes:
|
10
|
+
defaultNavigation:
|
11
|
+
fixedOnDesktop:
|
12
|
+
inline_help: |
|
13
|
+
By default, the navigation are hidden when the page is
|
14
|
+
scrolled. Use this option to prevent hiding the
|
15
|
+
navigation bar in desktop layout. To safe space, the
|
16
|
+
navigation is still always hidden when the page is
|
17
|
+
scrolled in phone layout.
|
18
|
+
label: Keep expanded in desktop layout
|
19
|
+
hideSharingButton:
|
20
|
+
label: Hide share button
|
21
|
+
hideToggleMuteButton:
|
22
|
+
label: Hide unmute button
|
23
|
+
frontend_v2:
|
24
|
+
feature_name: Frontend v2
|
25
|
+
iframe_embed_content_element:
|
26
|
+
feature_name: iframe embed content element
|
27
|
+
ui:
|
28
|
+
configuration_editor:
|
29
|
+
tabs:
|
30
|
+
defaultNavigation: Default navigation
|
2
31
|
pageflow_scrolled:
|
3
32
|
editor:
|
33
|
+
backdrop_effects:
|
34
|
+
blur:
|
35
|
+
label: Blur
|
36
|
+
brightness:
|
37
|
+
label: Brightness
|
38
|
+
contrast:
|
39
|
+
label: Contast
|
40
|
+
grayscale:
|
41
|
+
label: Grayscale
|
42
|
+
saturate:
|
43
|
+
label: Saturate
|
44
|
+
sepia:
|
45
|
+
label: Sepia
|
4
46
|
blank_entry:
|
5
47
|
create_chapter: Click <em>New chapter</em> to create your first chapter.
|
6
48
|
create_content_element: Use the <em>Plus buttons</em> inside the preview to add text blocks and other elements.
|
@@ -29,6 +71,23 @@ en:
|
|
29
71
|
right: Floated right
|
30
72
|
sticky: Sticky
|
31
73
|
wide: Wide
|
74
|
+
typographyVariant:
|
75
|
+
blank: "(Default)"
|
76
|
+
label: Variant
|
77
|
+
variant:
|
78
|
+
blank: "(Default)"
|
79
|
+
label: Variant
|
80
|
+
content_element_categories:
|
81
|
+
basic:
|
82
|
+
name: Basic
|
83
|
+
data:
|
84
|
+
name: Data and Diagrams
|
85
|
+
interactive:
|
86
|
+
name: Interactive
|
87
|
+
links:
|
88
|
+
name: Links
|
89
|
+
media:
|
90
|
+
name: Media
|
32
91
|
content_elements:
|
33
92
|
dataWrapperChart:
|
34
93
|
attributes:
|
@@ -43,6 +102,7 @@ en:
|
|
43
102
|
url:
|
44
103
|
inline_help: URL of a chart published via Datawrapper. Datawrapper offers a special 'Pageflow' layout selectable on the 'Design' tab for optimal display inside Pageflow.
|
45
104
|
label: Chart URL
|
105
|
+
description: Embedded chart created with Datawrapper
|
46
106
|
name: DataWrapper Chart
|
47
107
|
tabs:
|
48
108
|
general: Chart
|
@@ -66,6 +126,7 @@ en:
|
|
66
126
|
back: Back
|
67
127
|
confirm_delete: Are you sure you want to delete this element?
|
68
128
|
confirm_delete_link: Are you sure you want to delete this link?
|
129
|
+
description: A collection of links to external websites
|
69
130
|
destroy: Delete
|
70
131
|
name: External links
|
71
132
|
outline: Outline
|
@@ -76,9 +137,83 @@ en:
|
|
76
137
|
attributes:
|
77
138
|
children:
|
78
139
|
label: Text
|
140
|
+
hyphens:
|
141
|
+
inline_help: |
|
142
|
+
With manual hyphenation, words are only ever separated
|
143
|
+
at positions that have been marked with a soft
|
144
|
+
hyphen. This helps prevent separating words at
|
145
|
+
unwanted positions. Without soft hyphens, long words
|
146
|
+
will be continued to the next line without a hyphen.
|
147
|
+
Therefore, always double check mobile display when
|
148
|
+
using manual hyphenation.
|
149
|
+
label: Hyphenation
|
150
|
+
values:
|
151
|
+
auto: Automatic
|
152
|
+
manual: Manual
|
153
|
+
textSize:
|
154
|
+
inline_help: |
|
155
|
+
By default, a heading in the first section of the
|
156
|
+
entry is large. Headings in later sections have small
|
157
|
+
text size.
|
158
|
+
label: Text size
|
159
|
+
values:
|
160
|
+
auto: "(Auto)"
|
161
|
+
large: Large
|
162
|
+
medium: Medium
|
163
|
+
small: Small
|
164
|
+
description: Entry or chapter title
|
165
|
+
help_texts:
|
166
|
+
shortcuts: |
|
167
|
+
<dl class="shortcuts">
|
168
|
+
<dt>
|
169
|
+
<span class="shortcut">
|
170
|
+
<kbd>Alt</kbd> + <kbd>Enter</kbd>
|
171
|
+
</span>
|
172
|
+
<span class="inline_help">
|
173
|
+
Specify potential line break points within long words
|
174
|
+
to control hyphenation.
|
175
|
+
</span>
|
176
|
+
</dt>
|
177
|
+
<dd>
|
178
|
+
Insert soft hyphen
|
179
|
+
</dd>
|
180
|
+
</dl>
|
79
181
|
name: Heading
|
80
182
|
tabs:
|
81
183
|
general: Heading
|
184
|
+
iframeEmbed:
|
185
|
+
attributes:
|
186
|
+
aspectRatio:
|
187
|
+
label: Aspect Ratio
|
188
|
+
values:
|
189
|
+
narrow: Landscape (4:3)
|
190
|
+
portrait: Portrait (9:16)
|
191
|
+
square: Square (1:1)
|
192
|
+
wide: Landscape (16:9)
|
193
|
+
portraitAspectRatio:
|
194
|
+
blank: "(Default)"
|
195
|
+
label: Aspect Ratio (Portrait)
|
196
|
+
values:
|
197
|
+
narrow: Landscape (4:3)
|
198
|
+
portrait: Portrait (9:16)
|
199
|
+
square: Square (1:1)
|
200
|
+
wide: Landscape (16:9)
|
201
|
+
scale:
|
202
|
+
label: Scale
|
203
|
+
values:
|
204
|
+
p100: 100%
|
205
|
+
p33: 33%
|
206
|
+
p50: 50%
|
207
|
+
p75: 75%
|
208
|
+
source:
|
209
|
+
label: URL
|
210
|
+
title:
|
211
|
+
inline_help: Used by screen readers to describe the chart as a whole.
|
212
|
+
label: Title
|
213
|
+
description: Embed externally hosted websites
|
214
|
+
name: iframe Embed
|
215
|
+
tabs:
|
216
|
+
general: iframe Embed
|
82
217
|
inlineAudio:
|
83
218
|
attributes:
|
84
219
|
atmoDuringPlayback:
|
@@ -92,14 +227,18 @@ en:
|
|
92
227
|
label: Audio
|
93
228
|
playerControlVariant:
|
94
229
|
inline_help: Choose the style of player controls.
|
95
|
-
label:
|
230
|
+
label: Waveform Style
|
96
231
|
values:
|
97
232
|
classic: Classic
|
233
|
+
waveform: Waveform (Fein)
|
234
|
+
waveformBars: Waveform (Bars)
|
235
|
+
waveformLines: Waveform (Lines)
|
98
236
|
posterId:
|
99
237
|
label: Poster
|
100
238
|
waveformColor:
|
101
239
|
inline_help: Color of the waveform's parts that represents the already played part of the audio.
|
102
240
|
label: Waveform Color
|
241
|
+
description: Player or waveform with controls
|
103
242
|
name: Inline Audio
|
104
243
|
tabs:
|
105
244
|
general: Inline Audio
|
@@ -123,6 +262,7 @@ en:
|
|
123
262
|
slider_color:
|
124
263
|
inline_help: You can configure slider color (incl. slider handle) freely. Make sure that the slider can be seen clearly on every position over the entire Before/After area.
|
125
264
|
label: Slider Color
|
265
|
+
description: Compare to images using a slider
|
126
266
|
name: Before/After
|
127
267
|
tabs:
|
128
268
|
general: Before/After
|
@@ -130,6 +270,10 @@ en:
|
|
130
270
|
attributes:
|
131
271
|
id:
|
132
272
|
label: Image
|
273
|
+
portraitId:
|
274
|
+
inline_help: Displayed when the browser viewport is taller than wide, for example on phones or tablets in portrait orientation. Can be used to provide an alternative to a landscape image that would otherwise be displayed too small.
|
275
|
+
label: Image (Portrait)
|
276
|
+
description: Display an image
|
133
277
|
name: Inline Image
|
134
278
|
tabs:
|
135
279
|
general: Inline Image
|
@@ -142,21 +286,92 @@ en:
|
|
142
286
|
mute: Mute
|
143
287
|
play: Keep playing
|
144
288
|
turnDown: Keep playing at lower volume
|
289
|
+
hideControlBar:
|
290
|
+
inline_help: For short videos where there is no need to seek.
|
291
|
+
inline_help_disabled: Controls are always hidden for videos with playback mode "Loop".
|
292
|
+
label: Hide controls
|
145
293
|
id:
|
146
294
|
label: Video
|
295
|
+
playbackMode:
|
296
|
+
inline_help_html: Determines how the video starts:<ul><li><strong>Manual:</strong> When the user clicks the video.</li><li><strong>Autoplay:</strong> When the video is scrolled to the center of the browser viewport.</li><li><strong>Loop:</strong> In an endless loop soon as it becomes visible.</li></ul>
|
297
|
+
label: Playback Mode
|
298
|
+
values:
|
299
|
+
autoplay: Autoplay
|
300
|
+
loop: Loop
|
301
|
+
manual: Manual
|
147
302
|
posterId:
|
148
303
|
label: Poster
|
304
|
+
rewindOnUnmute:
|
305
|
+
inline_help_html: Prevent users from missing important content when videos are autoplayed without sound.<br /><br />Alternatively, you can add an audio replacement text track to the video. It will be displayed automatically as long as the entry is muted.
|
306
|
+
label: "...and play from the beginning"
|
307
|
+
unmute:
|
308
|
+
inline_help_html: The click is used to activate sound for the whole entry.<br /><br />After the click, atmo audios and audio of following video elements can then immediately be played.<br /><br />If this option is active, the video element displays an animated indicator icon when autoplaying without sound.
|
309
|
+
label: "...when user clicks video"
|
310
|
+
unmuteLabel:
|
311
|
+
inline_help_html: By default browsers only allow autoplaying videos with sound after a user interaction. To still be able to autoplay videos, entries therefore start muted.<br /><br />Sound can be activated using the speaker icon in the navigation bar or via an "Audio notice" element that has been placed in the entry.
|
312
|
+
label: Unmute entry
|
313
|
+
description: Player with controls
|
149
314
|
name: Inline Video
|
150
315
|
tabs:
|
151
316
|
general: Inline Video
|
317
|
+
question:
|
318
|
+
attributes:
|
319
|
+
expandByDefault:
|
320
|
+
inline_help: Display answer initially.
|
321
|
+
label: Expand by default
|
322
|
+
description: Expand to reveal an answer
|
323
|
+
name: Question/Answer
|
324
|
+
tabs:
|
325
|
+
general: Question/Answer
|
152
326
|
soundDisclaimer:
|
327
|
+
description: Make sure users unmute before continuing
|
153
328
|
name: Audio Notice
|
154
329
|
tabs:
|
155
330
|
general: Audio Notice
|
156
331
|
textBlock:
|
332
|
+
description: Text with lists, block quotes and sub-headings
|
333
|
+
help_texts:
|
334
|
+
shortcuts: |
|
335
|
+
<dl class="shortcuts">
|
336
|
+
<dt>
|
337
|
+
<span class="shortcut">
|
338
|
+
<kbd>Shift</kbd> + <kbd>Enter</kbd>
|
339
|
+
</span>
|
340
|
+
<span class="inline_help">
|
341
|
+
Insert a new line without beginning a new paragraph.
|
342
|
+
</span>
|
343
|
+
</dt>
|
344
|
+
<dd>
|
345
|
+
Insert soft break/new line
|
346
|
+
</dd>
|
347
|
+
<dt>
|
348
|
+
<span class="shortcut">
|
349
|
+
<kbd>Alt</kbd> + <kbd>Enter</kbd>
|
350
|
+
</span>
|
351
|
+
<span class="inline_help">
|
352
|
+
Specify potential line break points within long words
|
353
|
+
to control hyphenation.
|
354
|
+
</span>
|
355
|
+
</dt>
|
356
|
+
<dd>
|
357
|
+
Insert soft hyphen
|
358
|
+
</dd>
|
359
|
+
</dl>
|
157
360
|
name: Text Block
|
158
361
|
tabs:
|
159
362
|
general: Text Block
|
363
|
+
twitterEmbed:
|
364
|
+
attributes:
|
365
|
+
hideConversation:
|
366
|
+
label: Hide Conversation
|
367
|
+
hideMedia:
|
368
|
+
label: Hide Media
|
369
|
+
url:
|
370
|
+
label: Tweet URL
|
371
|
+
description: Embed content from Twitter
|
372
|
+
name: Tweet
|
373
|
+
tabs:
|
374
|
+
general: Twitter Embed
|
160
375
|
videoEmbed:
|
161
376
|
attributes:
|
162
377
|
aspectRatio:
|
@@ -166,14 +381,24 @@ en:
|
|
166
381
|
portrait: Portrait (9:16)
|
167
382
|
square: Square
|
168
383
|
wide: Landscape 16:9
|
384
|
+
atmoDuringPlayback:
|
385
|
+
inline_help: Choose which way the atmo shall behave during playback of the video embed.
|
386
|
+
label: Atmo During Playback
|
387
|
+
values:
|
388
|
+
mute: Mute
|
389
|
+
play: Keep playing
|
390
|
+
turnDown: Keep playing at lower volume
|
169
391
|
hideControls:
|
170
392
|
inline_help: Hides the player controls if possible (depends on the videos provider and configuration). The video can be played and paused via click.
|
171
393
|
label: Hide controls
|
172
394
|
hideInfo:
|
173
395
|
inline_help: Hides the video title and author info inside the embed if possible (depends on the videos provider and configuration).
|
174
396
|
label: Hide title in embed
|
397
|
+
posterId:
|
398
|
+
label: Poster
|
175
399
|
videoSource:
|
176
400
|
label: Video-URL
|
401
|
+
description: Embed a video from YouTube, Vimeo or Facebook
|
177
402
|
name: Video Embed
|
178
403
|
tabs:
|
179
404
|
general: Video-Embed
|
@@ -185,6 +410,7 @@ en:
|
|
185
410
|
label: Initial Pitch
|
186
411
|
initialYaw:
|
187
412
|
label: Initial Yaw
|
413
|
+
description: Interactive panorama using an image with rectangular projection
|
188
414
|
name: 360° Image
|
189
415
|
edit_chapter:
|
190
416
|
attributes:
|
@@ -254,26 +480,37 @@ en:
|
|
254
480
|
inline_help: This setting controls the position of the scrolling foreground layer of the section on desktop devices. On mobile devices the foreground layer will automatically become centered.
|
255
481
|
label: Content alignment
|
256
482
|
values:
|
483
|
+
center: Centered
|
484
|
+
centerRagged: Centered (Ragged)
|
257
485
|
left: Left
|
258
486
|
right: Right
|
259
487
|
staticShadowOpacity:
|
260
488
|
inline_help: Intensity of the shadow displayed behind text when section content and motif area fit side by side or no motif area has been specified. For left or right aligned content, the shadow has the form of a horizontal gradient. When "Content alignment" is set to "Center", the shadow is displayed as a translucent layer behind the text.
|
261
489
|
label: Static shadow
|
490
|
+
width:
|
491
|
+
label: Width
|
492
|
+
values:
|
493
|
+
narrow: Narrow
|
494
|
+
wide: Wide
|
262
495
|
edit_motif_area: Select motif area...
|
263
496
|
tabs:
|
264
497
|
section: Section
|
265
498
|
edit_section_transition:
|
266
499
|
attributes:
|
267
500
|
transition:
|
501
|
+
default_transition: Used as default for new sections
|
268
502
|
inline_help: This setting defines the transition when scrolling from the previous section to the current. The different settings have specific effects concerning the behaviors of background and foreground. The effects "Cross-Fade All" and "Cross-Fade Backgrounds" are only available if the "Use Full Viewport-Height" option has been enabled in the settings of both adjacent sections.
|
269
503
|
label: Effect
|
504
|
+
mark_as_default_transition: Use as default for new sections
|
270
505
|
values:
|
271
506
|
beforeAfter: Scrolling with static Backgrounds
|
272
|
-
fade:
|
273
|
-
fadeBg: Cross Fade
|
507
|
+
fade: Cross Fade
|
274
508
|
reveal: Reveal
|
275
509
|
scroll: Scroll
|
276
510
|
scrollOver: Scroll Over
|
511
|
+
variants:
|
512
|
+
fade: Also fade content of sections
|
513
|
+
fadeBg: Fade only section backgrounds
|
277
514
|
confirm_destroy: |-
|
278
515
|
Really delete this section including ALL its elements?
|
279
516
|
|
@@ -281,6 +518,9 @@ en:
|
|
281
518
|
save_error: There was an error while saving this section.
|
282
519
|
tabs:
|
283
520
|
transition: Transition
|
521
|
+
effect_list_input:
|
522
|
+
add: Add effect...
|
523
|
+
remove: Remove
|
284
524
|
entry_outline:
|
285
525
|
add_chapter: New chapter
|
286
526
|
header: Outline
|
@@ -291,6 +531,18 @@ en:
|
|
291
531
|
section_item:
|
292
532
|
drag_hint: Drag to move section
|
293
533
|
save_error: There was an error while saving this section.
|
534
|
+
select_link_destination:
|
535
|
+
cancel: Cancel
|
536
|
+
create: Create
|
537
|
+
enter_url: Use external URL as destination
|
538
|
+
header: Create link
|
539
|
+
open_in_new_tab: Open in new tab
|
540
|
+
or: or
|
541
|
+
select_chapter_or_section: Select chapter or section as destination
|
542
|
+
selectable_chapter_item:
|
543
|
+
title: Select chapter
|
544
|
+
selectable_section_item:
|
545
|
+
title: Select section
|
294
546
|
help_entries:
|
295
547
|
content_elements:
|
296
548
|
menu_item: Content Elements
|
@@ -394,87 +646,24 @@ en:
|
|
394
646
|
after: Insert new element below
|
395
647
|
before: Insert new element above
|
396
648
|
insert_link: Insert link
|
649
|
+
link_tooltip:
|
650
|
+
chapter_number: Chapter %{number}
|
651
|
+
opens_in_new_tab: Opens in new tab
|
652
|
+
opens_in_same_tab: Outside editor, will open in same tab
|
653
|
+
visit_chapter: Go to chapter
|
654
|
+
visit_section: Go to section
|
397
655
|
remove_link: Remove link
|
398
656
|
select_content_element: Select element
|
399
657
|
select_section: Select section
|
658
|
+
type_answer: Type answer text
|
400
659
|
type_heading: Heading
|
660
|
+
type_question: Type question text
|
401
661
|
type_text: Type some text
|
402
662
|
type_title: Title
|
403
663
|
url_placeholder: Type or paste URL
|
404
664
|
public:
|
405
|
-
chart:
|
406
|
-
default_title: Interactive chart
|
407
|
-
enter_fullscreen: Fullscreen
|
408
|
-
exit_fullscreen: Exit fullscreen
|
409
|
-
image_rights: Image rights
|
410
|
-
js_required: Please activate JavaScript to make this website display correctly.
|
411
|
-
languages:
|
412
|
-
ar: Arabic
|
413
|
-
cs: Czech
|
414
|
-
de: German
|
415
|
-
dk: Danish
|
416
|
-
el: Greek
|
417
|
-
en: English
|
418
|
-
es: Spanish
|
419
|
-
fi: Finnish
|
420
|
-
fr: French
|
421
|
-
fy: Frisian
|
422
|
-
hi: Hindi
|
423
|
-
it: Italian
|
424
|
-
ja: Japanese
|
425
|
-
lb: Letzeburgesch
|
426
|
-
nb: Norsk Bokmål
|
427
|
-
nl: Dutch
|
428
|
-
nn: Norsk Nynorsk
|
429
|
-
'no': Norsk
|
430
|
-
pl: Polish
|
431
|
-
pt: Portuguese
|
432
|
-
rm: Romansh
|
433
|
-
ru: Russian
|
434
|
-
se: Northern Sami
|
435
|
-
sr: Serbian
|
436
|
-
sv: Swedish
|
437
|
-
tr: Turkish
|
438
|
-
unknown: "(Unknown)"
|
439
|
-
zh: Chinese
|
440
|
-
navigation:
|
441
|
-
chapter: Chapter %{number}
|
442
|
-
close_mobile_menu: close chapter overview
|
443
|
-
legal_info: Imprint
|
444
|
-
mute: Mute sound
|
445
|
-
open_mobile_menu: Open chapter overview
|
446
|
-
share: Share
|
447
|
-
unmute: Unmute sound
|
448
|
-
navigation_skip_links:
|
449
|
-
content: To the content
|
450
|
-
player_controls:
|
451
|
-
pause: Pause
|
452
|
-
play: Play
|
453
|
-
progress: 'Timeline. Current time: %{currentTime}. Duration: %{duration}'
|
454
|
-
quality: Quality
|
455
|
-
text_tracks: Subtitles
|
456
|
-
sound_disclaimer:
|
457
|
-
help_muted: This site works best with sound turned on. Click here to activate sound.
|
458
|
-
help_unmuted: Sound can be muted again using the speaker icon in the navigation.
|
459
|
-
text_track_modes:
|
460
|
-
auto: Auto (%{label})
|
461
|
-
auto_off: Auto (Off)
|
462
|
-
none: false
|
463
665
|
third_party_consent:
|
464
|
-
confirm: Okay
|
465
666
|
opt_in_prompt:
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
prompt_link: here
|
470
|
-
unsupported_browser: This website uses features that your browser doesn't support. Please upgrade to a recent version of your browser.
|
471
|
-
video_qualities:
|
472
|
-
annotations:
|
473
|
-
4k: 4K
|
474
|
-
fullhd: HD
|
475
|
-
medium: HD
|
476
|
-
labels:
|
477
|
-
4k: 2160p
|
478
|
-
auto: Auto
|
479
|
-
fullhd: 1080p
|
480
|
-
medium: 720p
|
667
|
+
twitter: I agree with being shown content from Twitter.
|
668
|
+
twitter:
|
669
|
+
default_title: Tweet
|
@@ -15,7 +15,7 @@ module PageflowScrolled
|
|
15
15
|
# )
|
16
16
|
#
|
17
17
|
# @return [AdditionalPacks]
|
18
|
-
# @since
|
18
|
+
# @since 15.7
|
19
19
|
attr_reader :additional_frontend_packs
|
20
20
|
|
21
21
|
# Load additional Webpacker packs in editor.
|
@@ -27,7 +27,7 @@ module PageflowScrolled
|
|
27
27
|
# )
|
28
28
|
#
|
29
29
|
# @return [AdditionalPacks]
|
30
|
-
# @since
|
30
|
+
# @since 15.7
|
31
31
|
attr_reader :additional_editor_packs
|
32
32
|
|
33
33
|
# Provide additional seed data for custom widgets and content
|
@@ -41,7 +41,7 @@ module PageflowScrolled
|
|
41
41
|
# )
|
42
42
|
#
|
43
43
|
# @return [AdditionalSeedData]
|
44
|
-
# @since
|
44
|
+
# @since 15.7
|
45
45
|
attr_reader :additional_frontend_seed_data
|
46
46
|
|
47
47
|
def initialize(*)
|
@@ -20,6 +20,20 @@ module PageflowScrolled
|
|
20
20
|
c.features.register('datawrapper_chart_embed_opt_in')
|
21
21
|
c.features.enable_by_default('datawrapper_chart_embed_opt_in')
|
22
22
|
c.features.register('iframe_embed_content_element')
|
23
|
+
c.features.register('frontend_v2')
|
24
|
+
|
25
|
+
c.additional_frontend_seed_data.register(
|
26
|
+
'frontendVersion',
|
27
|
+
FRONTEND_VERSION_SEED_DATA
|
28
|
+
)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
FRONTEND_VERSION_SEED_DATA = lambda do |request:, entry:, **|
|
33
|
+
if request.params[:frontend] == 'v2' || entry.feature_state('frontend_v2')
|
34
|
+
2
|
35
|
+
else
|
36
|
+
1
|
23
37
|
end
|
24
38
|
end
|
25
39
|
end
|
@@ -42,7 +42,7 @@ module PageflowScrolled
|
|
42
42
|
:video_files,
|
43
43
|
:audio_files,
|
44
44
|
:text_track_files)) do |created_entry|
|
45
|
-
created_entry.
|
45
|
+
created_entry.site = attributes.fetch(:account).default_site
|
46
46
|
|
47
47
|
say_creating_scrolled_entry(created_entry)
|
48
48
|
yield(created_entry) if block_given?
|
@@ -13,9 +13,11 @@ module PageflowScrolled
|
|
13
13
|
configuration: PageflowScrolled::Configuration,
|
14
14
|
editor_fragment_renderer: editor_fragment_renderer,
|
15
15
|
editor_app: PageflowScrolled::Engine,
|
16
|
+
web_app_manifest: PageflowScrolled::WebAppManifest,
|
16
17
|
theme_files: {
|
17
18
|
logo_mobile: LOGO_OPTIONS,
|
18
|
-
logo_desktop: LOGO_OPTIONS
|
19
|
+
logo_desktop: LOGO_OPTIONS,
|
20
|
+
**FAVICONS
|
19
21
|
})
|
20
22
|
end
|
21
23
|
|
@@ -37,4 +39,40 @@ module PageflowScrolled
|
|
37
39
|
end
|
38
40
|
end
|
39
41
|
}.freeze
|
42
|
+
|
43
|
+
FAVICONS = {
|
44
|
+
favicon: {
|
45
|
+
content_type: %r{\Aimage/svg\+xml\z},
|
46
|
+
styles: {original: {}}
|
47
|
+
},
|
48
|
+
favicon_png: {
|
49
|
+
content_type: %r{\Aimage/},
|
50
|
+
styles: {
|
51
|
+
w16: {
|
52
|
+
geometry: '16x16#',
|
53
|
+
format: 'png'
|
54
|
+
},
|
55
|
+
w32: {
|
56
|
+
geometry: '32x32#',
|
57
|
+
format: 'png'
|
58
|
+
},
|
59
|
+
w180: {
|
60
|
+
geometry: '180x180#',
|
61
|
+
format: 'png'
|
62
|
+
},
|
63
|
+
w192: {
|
64
|
+
geometry: '192x192#',
|
65
|
+
format: 'png'
|
66
|
+
},
|
67
|
+
w512: {
|
68
|
+
geometry: '512x512#',
|
69
|
+
format: 'png'
|
70
|
+
}
|
71
|
+
}
|
72
|
+
},
|
73
|
+
favicon_ico: {
|
74
|
+
content_type: %r{\Aimage/vnd.microsoft.icon\z},
|
75
|
+
styles: {original: {}}
|
76
|
+
}
|
77
|
+
}.freeze
|
40
78
|
end
|
@@ -31,9 +31,10 @@ namespace :pageflow_scrolled do
|
|
31
31
|
Paperclip::Storage::S3.class_eval { def flush_writes; end }
|
32
32
|
end
|
33
33
|
|
34
|
-
account = seeds.account(name: '
|
34
|
+
account = seeds.account(name: 'storybook-seed') do |account_in_progress|
|
35
35
|
account_in_progress.features_configuration =
|
36
|
-
account_in_progress.features_configuration.merge('scrolled_entry_type' => true
|
36
|
+
account_in_progress.features_configuration.merge('scrolled_entry_type' => true,
|
37
|
+
'frontend_v2' => true)
|
37
38
|
end
|
38
39
|
|
39
40
|
seeds.sample_scrolled_entry(
|