pageflow 15.6.1 → 15.7.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of pageflow might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +236 -11
- data/README.md +1 -2
- data/admins/pageflow/entry.rb +28 -57
- data/admins/pageflow/user.rb +1 -3
- data/app/assets/images/pageflow/admin/icons/buttons/editor.svg +2 -0
- data/app/assets/images/pageflow/admin/icons/buttons/preview.svg +2 -0
- data/app/assets/images/pageflow/admin/icons/buttons/show_public.svg +2 -0
- data/app/assets/images/pageflow/admin/icons/delete.svg +9 -0
- data/app/assets/images/pageflow/admin/icons/done.svg +6 -0
- data/app/assets/images/pageflow/admin/icons/edit.svg +7 -0
- data/app/assets/images/pageflow/admin/icons/editor.svg +2 -0
- data/app/assets/images/pageflow/admin/icons/folder.svg +8 -0
- data/app/assets/images/pageflow/admin/icons/folder_active.svg +8 -0
- data/app/assets/images/pageflow/admin/icons/info.svg +3 -0
- data/app/assets/images/pageflow/admin/icons/new.svg +5 -0
- data/app/assets/images/pageflow/admin/icons/preview.svg +2 -0
- data/app/assets/images/pageflow/admin/icons/published.svg +2 -0
- data/app/assets/images/pageflow/admin/icons/published_with_password.svg +2 -0
- data/app/assets/images/pageflow/admin/icons/show_public.svg +2 -0
- data/app/assets/images/pageflow/editor/blank_entry/logo.png +0 -0
- data/app/assets/images/pageflow/themes/default/embed_opt_in.svg +3 -0
- data/app/assets/images/pageflow/themes/default/embed_opt_out_info.svg +16 -0
- data/app/assets/javascripts/pageflow/admin/entries.js +9 -57
- data/app/assets/javascripts/pageflow/dist/ui.js +127 -10
- data/app/assets/stylesheets/pageflow/admin/active_admin_patches.scss +18 -16
- data/app/assets/stylesheets/pageflow/admin/badge_list.scss +25 -35
- data/app/assets/stylesheets/pageflow/admin/columns.scss +13 -11
- data/app/assets/stylesheets/pageflow/admin/embed_code.scss +1 -4
- data/app/assets/stylesheets/pageflow/admin/entries/folders.scss +44 -19
- data/app/assets/stylesheets/pageflow/admin/entries.scss +15 -31
- data/app/assets/stylesheets/pageflow/admin/features.scss +3 -1
- data/app/assets/stylesheets/pageflow/admin/forms.scss +14 -12
- data/app/assets/stylesheets/pageflow/admin/hint.scss +8 -14
- data/app/assets/stylesheets/pageflow/admin/icon_button.scss +25 -14
- data/app/assets/stylesheets/pageflow/admin/icon_link.scss +31 -15
- data/app/assets/stylesheets/pageflow/admin/publication_state_indicator.scss +14 -7
- data/app/assets/stylesheets/pageflow/admin/status_tags.scss +5 -4
- data/app/assets/stylesheets/pageflow/admin/tabs_view.scss +36 -34
- data/app/assets/stylesheets/pageflow/admin/tooltip_bubble.scss +15 -11
- data/app/assets/stylesheets/pageflow/admin.scss +12 -0
- data/app/assets/stylesheets/pageflow/editor/background_positioning.scss +15 -61
- data/app/assets/stylesheets/pageflow/editor/base.scss +28 -13
- data/app/assets/stylesheets/pageflow/editor/blank_entry.scss +6 -6
- data/app/assets/stylesheets/pageflow/editor/change_theme.scss +28 -71
- data/app/assets/stylesheets/pageflow/editor/composables.scss +2 -2
- data/app/assets/stylesheets/pageflow/editor/confirm_encoding.scss +18 -36
- data/app/assets/stylesheets/pageflow/editor/confirm_upload.scss +12 -39
- data/app/assets/stylesheets/pageflow/editor/dialogs.scss +39 -12
- data/app/assets/stylesheets/pageflow/editor/disabled_atmo_indicator.scss +3 -3
- data/app/assets/stylesheets/pageflow/editor/drop_down_button.scss +7 -10
- data/app/assets/stylesheets/pageflow/editor/emulation_mode_button.scss +3 -8
- data/app/assets/stylesheets/pageflow/editor/failures.scss +3 -3
- data/app/assets/stylesheets/pageflow/editor/file_import.scss +22 -38
- data/app/assets/stylesheets/pageflow/editor/file_meta_data.scss +3 -7
- data/app/assets/stylesheets/pageflow/editor/file_settings_dialog.scss +4 -24
- data/app/assets/stylesheets/pageflow/editor/file_stages.scss +10 -11
- data/app/assets/stylesheets/pageflow/editor/file_thumbnails.scss +4 -8
- data/app/assets/stylesheets/pageflow/editor/files.scss +7 -6
- data/app/assets/stylesheets/pageflow/editor/files_explorer.scss +13 -30
- data/app/assets/stylesheets/pageflow/editor/files_gallery.scss +15 -11
- data/app/assets/stylesheets/pageflow/editor/filtered_files.scss +6 -7
- data/app/assets/stylesheets/pageflow/editor/help.scss +19 -14
- data/app/assets/stylesheets/pageflow/editor/help_image.scss +1 -1
- data/app/assets/stylesheets/pageflow/editor/info_box.scss +19 -0
- data/app/assets/stylesheets/pageflow/editor/inputs/file_input.scss +7 -11
- data/app/assets/stylesheets/pageflow/editor/inputs/file_processing_state_display.scss +0 -2
- data/app/assets/stylesheets/pageflow/editor/inputs/reference.scss +7 -11
- data/app/assets/stylesheets/pageflow/editor/list.scss +13 -10
- data/app/assets/stylesheets/pageflow/editor/loading.scss +1 -1
- data/app/assets/stylesheets/pageflow/editor/locked.scss +9 -5
- data/app/assets/stylesheets/pageflow/editor/menu.scss +5 -5
- data/app/assets/stylesheets/pageflow/editor/notifications.scss +15 -14
- data/app/assets/stylesheets/pageflow/editor/other_entry_item.scss +7 -3
- data/app/assets/stylesheets/pageflow/editor/outline.scss +57 -19
- data/app/assets/stylesheets/pageflow/editor/page_links.scss +10 -8
- data/app/assets/stylesheets/pageflow/editor/page_selection.scss +2 -29
- data/app/assets/stylesheets/pageflow/editor/publish_entry.scss +5 -6
- data/app/assets/stylesheets/pageflow/editor/quotas.scss +2 -3
- data/app/assets/stylesheets/pageflow/editor/select_button.scss +12 -6
- data/app/assets/stylesheets/pageflow/editor/sidebar_footer.scss +1 -5
- data/app/assets/stylesheets/pageflow/editor/storyline_picker.scss +6 -2
- data/app/assets/stylesheets/pageflow/editor/text_tracks.scss +6 -22
- data/app/assets/stylesheets/pageflow/editor/widgets.scss +2 -2
- data/app/assets/stylesheets/pageflow/editor/wysihtml5.scss +35 -29
- data/app/assets/stylesheets/pageflow/mixins/background_icons.scss +3 -3
- data/app/assets/stylesheets/pageflow/mixins/buttons.scss +50 -68
- data/app/assets/stylesheets/pageflow/themes/default/base.scss +2 -0
- data/app/assets/stylesheets/pageflow/themes/default/consent/bar.scss +156 -0
- data/app/assets/stylesheets/pageflow/themes/default/consent/vendor_list.scss +62 -0
- data/app/assets/stylesheets/pageflow/themes/default/consent.scss +2 -0
- data/app/assets/stylesheets/pageflow/themes/default/logo/alignment.scss +7 -0
- data/app/assets/stylesheets/pageflow/themes/default/page/shadow.scss +44 -0
- data/app/assets/stylesheets/pageflow/themes/default/third_party_embed_consent.scss +103 -0
- data/app/assets/stylesheets/pageflow/ui/forms.scss +79 -84
- data/app/assets/stylesheets/pageflow/ui/functions.scss +56 -0
- data/app/assets/stylesheets/pageflow/ui/input/check_box_group_input.scss +2 -3
- data/app/assets/stylesheets/pageflow/ui/input/color_input.scss +6 -6
- data/app/assets/stylesheets/pageflow/ui/input/extended_select_input.scss +63 -50
- data/app/assets/stylesheets/pageflow/ui/normalize/forms.scss +153 -0
- data/app/assets/stylesheets/pageflow/ui/normalize.scss +278 -0
- data/app/assets/stylesheets/pageflow/ui/properties.scss +44 -0
- data/app/assets/stylesheets/pageflow/ui/table_cells/delete_row_table_cell.scss +1 -1
- data/app/assets/stylesheets/pageflow/ui/table_view.scss +14 -18
- data/app/assets/stylesheets/pageflow/ui/tabs_view.scss +8 -11
- data/app/assets/stylesheets/pageflow/ui/tooltip.scss +6 -8
- data/app/assets/stylesheets/pageflow/ui/validation_error_messages.scss +6 -0
- data/app/assets/stylesheets/pageflow/ui.scss +4 -0
- data/app/controllers/pageflow/edit_locks_controller.rb +3 -1
- data/app/helpers/pageflow/admin/entries_helper.rb +2 -12
- data/app/helpers/pageflow/embed_code_helper.rb +1 -1
- data/app/helpers/pageflow/entries_helper.rb +41 -2
- data/app/helpers/pageflow/file_background_images_helper.rb +1 -1
- data/app/helpers/pageflow/page_types_helper.rb +1 -1
- data/app/helpers/pageflow/themes_helper.rb +1 -1
- data/app/jobs/pageflow/poll_meta_data_from_zencoder_job.rb +1 -1
- data/app/jobs/pageflow/poll_zencoder_job.rb +1 -9
- data/app/models/pageflow/audio_file.rb +17 -0
- data/app/models/pageflow/audio_file_url_templates.rb +4 -1
- data/app/models/pageflow/customized_theme.rb +37 -0
- data/app/models/pageflow/draft_entry.rb +6 -59
- data/app/models/pageflow/entry_at_revision.rb +68 -0
- data/app/models/pageflow/entry_role_query.rb +44 -24
- data/app/models/pageflow/image_file_css_background_image_urls.rb +8 -2
- data/app/models/pageflow/published_entry.rb +9 -56
- data/app/models/pageflow/theme_customization.rb +46 -0
- data/app/models/pageflow/theme_customization_file.rb +58 -0
- data/app/models/pageflow/video_file.rb +11 -1
- data/app/models/pageflow/video_file_url_templates.rb +1 -0
- data/app/policies/pageflow/entry_policy.rb +4 -0
- data/app/state_machines/pageflow/media_encoding_state_machine.rb +23 -4
- data/app/views/admin/entries/_form.html.erb +50 -0
- data/app/views/admin/entries/entry_type_name_input.html.erb +5 -0
- data/app/views/admin/features/_form.html.erb +1 -1
- data/app/views/admin/memberships/_form.html.erb +2 -3
- data/app/views/admin/users/_form.html.erb +1 -1
- data/app/views/admin/users/invitation.html.erb +2 -2
- data/app/views/components/pageflow/admin/entry_user_badge_list.rb +10 -9
- data/app/views/components/pageflow/admin/members_tab.rb +5 -1
- data/app/views/components/pageflow/admin/revisions_tab.rb +13 -3
- data/app/views/components/pageflow/admin/timestamp.rb +20 -0
- data/app/views/components/pageflow/admin/user_account_badge_list.rb +5 -6
- data/app/views/pageflow/admin/entries/_cannot_add_user.html.erb +9 -5
- data/app/views/pageflow/admin/entries/_entry_type_name_input.html.erb +7 -0
- data/app/views/pageflow/audio_files/_audio_file.json.jbuilder +13 -0
- data/app/views/pageflow/editor/encoding_confirmations/_intro.html.erb +0 -0
- data/app/views/pageflow/editor/encoding_confirmations/check.json.jbuilder +14 -2
- data/config/initializers/paperclip.rb +16 -1
- data/config/locales/de.yml +24 -28
- data/config/locales/en.yml +19 -10
- data/db/migrate/20210528073122_create_pageflow_theme_customizations.rb +11 -0
- data/db/migrate/20210531090654_create_pageflow_theme_customization_files.rb +15 -0
- data/db/migrate/20210531102228_add_selected_file_ids_to_theme_customizations.rb +5 -0
- data/db/migrate/20211020085902_add_canonical_entry_url_prefix_to_themings.rb +5 -0
- data/db/migrate/20220503150010_add_peak_data_to_audio_files.rb +5 -0
- data/db/migrate/20220705084830_add_trailing_slash_in_canonical_urls_to_themings.rb +5 -0
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/editor.js +256 -124
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/frontend.js +566 -167
- 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 +4 -4
- data/entry_types/paged/app/helpers/pageflow_paged/third_party_embed_consent_helper.rb +38 -0
- data/entry_types/paged/app/views/pageflow_paged/third_party_embed_consent/_opt_in.html.erb +12 -0
- data/entry_types/paged/app/views/pageflow_paged/third_party_embed_consent/_opt_out_info.html.erb +10 -0
- data/entry_types/paged/config/initializers/features.rb +2 -0
- data/entry_types/paged/config/locales/new/video_contain.de.yml +7 -0
- data/entry_types/paged/config/locales/new/video_contain.en.yml +7 -0
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/editor/seed_html_helper.rb +3 -0
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/entry_json_seed_helper.rb +1 -0
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/packs_helper.rb +58 -0
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/react_server_side_rendering_helper.rb +37 -3
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/themes_helper.rb +92 -6
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/webpack_public_path_helper.rb +20 -0
- data/entry_types/scrolled/app/models/pageflow_scrolled/content_element.rb +7 -0
- data/entry_types/scrolled/app/views/pageflow_scrolled/editor/entries/_head.html.erb +5 -2
- data/entry_types/scrolled/app/views/pageflow_scrolled/editor/entries/_seed.json.jbuilder +5 -1
- data/entry_types/scrolled/app/views/pageflow_scrolled/entries/show.html.erb +5 -4
- data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_entry.json.jbuilder +16 -0
- data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_theme.json.jbuilder +13 -2
- data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_widget.json.jbuilder +2 -0
- data/entry_types/scrolled/config/locales/de.yml +1 -8
- data/entry_types/scrolled/config/locales/en.yml +1 -9
- data/entry_types/scrolled/config/locales/new/before_after_slider.de.yml +8 -0
- data/entry_types/scrolled/config/locales/new/before_after_slider.en.yml +8 -0
- data/entry_types/scrolled/config/locales/new/center_ragged.de.yml +8 -0
- data/entry_types/scrolled/config/locales/new/center_ragged.en.yml +9 -0
- data/entry_types/scrolled/config/locales/new/consent.de.yml +25 -0
- data/entry_types/scrolled/config/locales/new/consent.en.yml +24 -0
- data/entry_types/scrolled/config/locales/new/content_element_categories.de.yml +39 -0
- data/entry_types/scrolled/config/locales/new/content_element_categories.en.yml +39 -0
- data/entry_types/scrolled/config/locales/new/default_transition.de.yml +14 -0
- data/entry_types/scrolled/config/locales/new/default_transition.en.yml +14 -0
- data/entry_types/scrolled/config/locales/new/header_line_breaks.de.yml +28 -0
- data/entry_types/scrolled/config/locales/new/header_line_breaks.en.yml +27 -0
- data/entry_types/scrolled/config/locales/new/header_size.de.yml +17 -0
- data/entry_types/scrolled/config/locales/new/header_size.en.yml +17 -0
- data/entry_types/scrolled/config/locales/new/iframe_embed.de.yml +39 -0
- data/entry_types/scrolled/config/locales/new/iframe_embed.en.yml +39 -0
- data/entry_types/scrolled/config/locales/new/inline_loops.de.yml +26 -0
- data/entry_types/scrolled/config/locales/new/inline_loops.en.yml +26 -0
- data/entry_types/scrolled/config/locales/new/portrait_inline_image.de.yml +9 -0
- data/entry_types/scrolled/config/locales/new/portrait_inline_image.en.yml +9 -0
- data/entry_types/scrolled/config/locales/new/section_width.de.yml +10 -0
- data/entry_types/scrolled/config/locales/new/section_width.en.yml +10 -0
- data/entry_types/scrolled/config/locales/new/typography_variants.de.yml +7 -0
- data/entry_types/scrolled/config/locales/new/typography_variants.en.yml +7 -0
- data/entry_types/scrolled/config/locales/new/video_embed_poster.de.yml +8 -0
- data/entry_types/scrolled/config/locales/new/video_embed_poster.en.yml +8 -0
- data/entry_types/scrolled/config/locales/new/waveform_styles.de.yml +11 -0
- data/entry_types/scrolled/config/locales/new/waveform_styles.en.yml +12 -0
- data/entry_types/scrolled/config/locales/new/widgets.de.yml +6 -0
- data/entry_types/scrolled/config/locales/new/widgets.en.yml +6 -0
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/install_generator.rb +29 -5
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/themes_plugin.rb.tt +8 -6
- data/entry_types/scrolled/lib/pageflow_scrolled/additional_packs.rb +37 -0
- data/entry_types/scrolled/lib/pageflow_scrolled/additional_seed_data.rb +57 -0
- data/entry_types/scrolled/lib/pageflow_scrolled/configuration.rb +49 -0
- data/entry_types/scrolled/lib/pageflow_scrolled/plugin.rb +8 -0
- data/entry_types/scrolled/lib/pageflow_scrolled/react_widget_type.rb +42 -0
- data/entry_types/scrolled/lib/pageflow_scrolled.rb +17 -1
- data/entry_types/scrolled/package/contentElements-editor.js +323 -89
- data/entry_types/scrolled/package/contentElements-frontend.css +1 -1
- data/entry_types/scrolled/package/contentElements-frontend.js +719 -529
- data/entry_types/scrolled/package/editor.js +459 -261
- data/entry_types/scrolled/package/frontend/{EditableText-7093fd0e.js → EditableInlineText.module-b9923660.js} +284 -362
- data/entry_types/scrolled/package/frontend/{i18n-4dc6c377.js → PhonePlatformContext-9fb97827.js} +199 -106
- data/entry_types/scrolled/package/frontend/{Viewer-e49e7807.js → Viewer-e2290ea0.js} +196 -79
- data/entry_types/scrolled/package/frontend/{Wavesurfer-0adf5667.js → Wavesurfer-7d9cf1b7.js} +16 -58
- data/entry_types/scrolled/package/frontend/{components-6a6793ca.js → components-6ab26015.js} +664 -671
- data/entry_types/scrolled/package/frontend/{getPrototypeOf-63c7c8e8.js → createSuper-d0f30da3.js} +34 -5
- data/entry_types/scrolled/package/frontend/index.css +1 -9
- data/entry_types/scrolled/package/frontend/index.js +1919 -2386
- data/entry_types/scrolled/package/frontend/{useBrowserFeature-91a4c29d.js → usePhonePlatform-2857c22b.js} +9 -8
- data/entry_types/scrolled/package/frontend-server.js +3 -6
- data/entry_types/scrolled/package/package.json +16 -8
- data/entry_types/scrolled/package/testHelpers.js +456 -0
- data/entry_types/scrolled/package/values/breakpoints.module.css +9 -0
- data/entry_types/scrolled/package/values/colors.module.css +5 -0
- data/entry_types/scrolled/package/widgets/defaultNavigation.css +9 -0
- data/entry_types/scrolled/package/widgets/defaultNavigation.js +612 -0
- data/entry_types/scrolled/spec/fixtures/image.svg +1 -0
- data/lib/pageflow/ability_mixin.rb +4 -0
- data/lib/pageflow/built_in_widget_type.rb +4 -0
- data/lib/pageflow/built_in_widget_types_plugin.rb +7 -0
- data/lib/pageflow/configuration.rb +34 -1
- data/lib/pageflow/entry_type.rb +11 -2
- data/lib/pageflow/entry_type_configuration.rb +2 -0
- data/lib/pageflow/file_type.rb +24 -0
- data/lib/pageflow/paperclip_processors/audio_waveform.rb +42 -0
- data/lib/pageflow/paperclip_processors/noop.rb +10 -0
- data/lib/pageflow/theme_customizations.rb +61 -0
- data/lib/pageflow/version.rb +1 -1
- data/lib/pageflow.rb +9 -0
- data/package/config/jest/index.js +2 -1
- data/package/config/postcss/scaleFunctions.js +71 -0
- data/package/editor.js +95 -85
- data/package/frontend.js +521 -161
- data/package/package.json +5 -3
- data/package/testHelpers.js +26 -5
- data/package/ui.js +124 -11
- data/spec/factories/draft_entries.rb +19 -1
- data/spec/factories/entries.rb +4 -0
- data/spec/factories/published_entries.rb +6 -0
- data/spec/fixtures/audio.ogg +0 -0
- metadata +118 -14
- data/app/views/admin/entries/_not_allowed_to_see_entry_types.json.jbuilder +0 -2
- data/app/views/admin/entries/entry_types.json.jbuilder +0 -4
- data/package/config/jest/transformers/upwardBabel.js +0 -5
@@ -0,0 +1,24 @@
|
|
1
|
+
en:
|
2
|
+
pageflow_scrolled:
|
3
|
+
public:
|
4
|
+
third_party_consent:
|
5
|
+
opt_in_prompt:
|
6
|
+
video: DELETED
|
7
|
+
youtube: I agree with being shown YouTube videos.
|
8
|
+
vimeo: I agree with being shown Vimeo videos.
|
9
|
+
facebook: I agree with being shown Facebook videos.
|
10
|
+
consent_accept_all: Accept all and close
|
11
|
+
consent_configure: More Information
|
12
|
+
consent_deny_all: Deny
|
13
|
+
consent_expand_vendor: More information
|
14
|
+
consent_no_vendors: Currently not using any third party integrations.
|
15
|
+
consent_prompt_html: |-
|
16
|
+
This website uses third party technologies.
|
17
|
+
We are asking your permission to use these technologies.
|
18
|
+
You can always change or withdraw your consent later via our
|
19
|
+
<a href="%{privacyLinkUrl}" target="_blank">privacy policy</a> page.
|
20
|
+
consent_save: Save selection
|
21
|
+
consent_settings: Privacy Settings
|
22
|
+
pageflow:
|
23
|
+
datawrapper_chart_embed_opt_in:
|
24
|
+
feature_name: 'Opt-in for Datawrapper embeds'
|
@@ -0,0 +1,39 @@
|
|
1
|
+
de:
|
2
|
+
pageflow_scrolled:
|
3
|
+
editor:
|
4
|
+
content_element_categories:
|
5
|
+
basic:
|
6
|
+
name: "Basic"
|
7
|
+
links:
|
8
|
+
name: "Verweise"
|
9
|
+
data:
|
10
|
+
name: "Daten und Diagramme"
|
11
|
+
media:
|
12
|
+
name: "Media"
|
13
|
+
interactive:
|
14
|
+
name: "Interaktiv"
|
15
|
+
content_elements:
|
16
|
+
dataWrapperChart:
|
17
|
+
description: "Einbindung von Diagrammen, die mit Datawrapper erstellt wurden"
|
18
|
+
externalLinkList:
|
19
|
+
description: "Sammlung von Verweisen zu Webseiten außerhalb des Beitrags"
|
20
|
+
heading:
|
21
|
+
description: "Beitrags- oder Kapiteltitel"
|
22
|
+
inlineAudio:
|
23
|
+
description: "Wiedergabe einer Audiodatei mit Steuerelementen"
|
24
|
+
inlineBeforeAfter:
|
25
|
+
description: "Zwei übereinandergelegte Bilder mit Schieberegler getrennt"
|
26
|
+
inlineImage:
|
27
|
+
description: "Einbindung von Bildern"
|
28
|
+
inlineVideo:
|
29
|
+
description: "Wiedergabe einer Videodatei mit Steuerelementen"
|
30
|
+
soundDisclaimer:
|
31
|
+
description: "Lass den Leser den Ton aktiveren"
|
32
|
+
textBlock:
|
33
|
+
description: "Text mit Listen, Zitaten und Zwischenüberschriften"
|
34
|
+
videoEmbed:
|
35
|
+
description: "Bettet ein externes Video von YouTube, Vimeo oder Facebook ein"
|
36
|
+
vrImage:
|
37
|
+
description: "Interaktives Panorama aus Bild mit rektangularer Projektion"
|
38
|
+
iframeEmbed:
|
39
|
+
description: "Einbindung einer extern gehosteten Website"
|
@@ -0,0 +1,39 @@
|
|
1
|
+
en:
|
2
|
+
pageflow_scrolled:
|
3
|
+
editor:
|
4
|
+
content_element_categories:
|
5
|
+
basic:
|
6
|
+
name: "Basic"
|
7
|
+
links:
|
8
|
+
name: "Links"
|
9
|
+
data:
|
10
|
+
name: "Data and Diagrams"
|
11
|
+
media:
|
12
|
+
name: "Media"
|
13
|
+
interactive:
|
14
|
+
name: "Interactive"
|
15
|
+
content_elements:
|
16
|
+
dataWrapperChart:
|
17
|
+
description: "Embedded chart created with Datawrapper"
|
18
|
+
externalLinkList:
|
19
|
+
description: "A collection of links to external websites"
|
20
|
+
heading:
|
21
|
+
description: "Entry or chapter title"
|
22
|
+
inlineAudio:
|
23
|
+
description: "Player or waveform with controls"
|
24
|
+
inlineBeforeAfter:
|
25
|
+
description: "Compare to images using a slider"
|
26
|
+
inlineImage:
|
27
|
+
description: "Display an image"
|
28
|
+
inlineVideo:
|
29
|
+
description: "Player with controls"
|
30
|
+
soundDisclaimer:
|
31
|
+
description: "Make sure users unmute before continuing"
|
32
|
+
textBlock:
|
33
|
+
description: "Text with lists, block quotes and sub-headings"
|
34
|
+
videoEmbed:
|
35
|
+
description: "Embed a video from YouTube, Vimeo or Facebook"
|
36
|
+
vrImage:
|
37
|
+
description: "Interactive panorama using an image with rectangular projection"
|
38
|
+
iframeEmbed:
|
39
|
+
description: "Embed externally hosted websites"
|
@@ -0,0 +1,14 @@
|
|
1
|
+
de:
|
2
|
+
pageflow_scrolled:
|
3
|
+
editor:
|
4
|
+
edit_section_transition:
|
5
|
+
attributes:
|
6
|
+
transition:
|
7
|
+
values:
|
8
|
+
fade: "Überblenden"
|
9
|
+
fadeBg: "DELETE"
|
10
|
+
variants:
|
11
|
+
fade: "Inhalte der Abschnitte ebenfalls überblenden"
|
12
|
+
fadeBg: "Nur Hintergründe der Abschnitte überblenden"
|
13
|
+
mark_as_default_transition: "Als Standard für neue Abschnitte verwenden"
|
14
|
+
default_transition: "Wird als Standard für neue Abschnitte verwendet"
|
@@ -0,0 +1,14 @@
|
|
1
|
+
en:
|
2
|
+
pageflow_scrolled:
|
3
|
+
editor:
|
4
|
+
edit_section_transition:
|
5
|
+
attributes:
|
6
|
+
transition:
|
7
|
+
values:
|
8
|
+
fade: "Cross Fade"
|
9
|
+
fadeBg: "DELETE"
|
10
|
+
variants:
|
11
|
+
fade: "Also fade content of sections"
|
12
|
+
fadeBg: "Fade only section backgrounds"
|
13
|
+
mark_as_default_transition: "Use as default for new sections"
|
14
|
+
default_transition: "Used as default for new sections"
|
@@ -0,0 +1,28 @@
|
|
1
|
+
de:
|
2
|
+
pageflow_scrolled:
|
3
|
+
editor:
|
4
|
+
content_elements:
|
5
|
+
heading:
|
6
|
+
help_texts:
|
7
|
+
shortcuts: |
|
8
|
+
<dl class="shortcuts">
|
9
|
+
<dt><kbd>Shift</kbd> + <kbd>Enter</kbd></dt>
|
10
|
+
<dd>
|
11
|
+
Bedingten Trennstrich einfügen.
|
12
|
+
</dd>
|
13
|
+
</dl>
|
14
|
+
attributes:
|
15
|
+
hyphens:
|
16
|
+
label: 'Silbentrennung'
|
17
|
+
inline_help: |
|
18
|
+
Bei manueller Silbentrennung werden Worte nur an
|
19
|
+
Stellen getrennt, die durch einen bedingten
|
20
|
+
Trennstrich ausgezeichnet wurden. Du kannst so
|
21
|
+
Trennung an unerwünschten Stellen verhindern. Ohne
|
22
|
+
bedingte Trennstriche werden lange Worte in der
|
23
|
+
nächsten Zeile ohne Bindestrich fortgesetzt. Prüfe
|
24
|
+
daher insbesondere die mobile Darstellung, wenn du
|
25
|
+
manuelle Silbentrennung verwendest.
|
26
|
+
values:
|
27
|
+
auto: 'Automatisch'
|
28
|
+
manual: 'Manuell'
|
@@ -0,0 +1,27 @@
|
|
1
|
+
en:
|
2
|
+
pageflow_scrolled:
|
3
|
+
editor:
|
4
|
+
content_elements:
|
5
|
+
heading:
|
6
|
+
help_texts:
|
7
|
+
shortcuts: |
|
8
|
+
<dl class="shortcuts">
|
9
|
+
<dt><kbd>Shift</kbd> + <kbd>Enter</kbd></dt>
|
10
|
+
<dd>
|
11
|
+
Insert soft hyphen.
|
12
|
+
</dd>
|
13
|
+
</dl>
|
14
|
+
attributes:
|
15
|
+
hyphens:
|
16
|
+
label: 'Hyphenation'
|
17
|
+
inline_help: |
|
18
|
+
With manual hyphenation, words are only ever separated
|
19
|
+
at positions that have been marked with a soft
|
20
|
+
hyphen. This helps prevent separating words at
|
21
|
+
unwanted positions. Without soft hyphens, long words
|
22
|
+
will be continued to the next line without a hyphen.
|
23
|
+
Therefore, always double check mobile display when
|
24
|
+
using manual hyphenation.
|
25
|
+
values:
|
26
|
+
auto: 'Automatic'
|
27
|
+
manual: 'Manual'
|
@@ -0,0 +1,17 @@
|
|
1
|
+
de:
|
2
|
+
pageflow_scrolled:
|
3
|
+
editor:
|
4
|
+
content_elements:
|
5
|
+
heading:
|
6
|
+
attributes:
|
7
|
+
textSize:
|
8
|
+
label: "Schriftgröße"
|
9
|
+
values:
|
10
|
+
auto: "(Automatisch)"
|
11
|
+
large: "Groß"
|
12
|
+
medium: "Mittel"
|
13
|
+
small: "Klein"
|
14
|
+
inline_help: |
|
15
|
+
Standardmäßig haben Überschriften im ersten Abschnitt
|
16
|
+
des Beitrags große Schrift. Überschriften in späteren
|
17
|
+
Abschnitten verwenden Schriftgröße "Klein".
|
@@ -0,0 +1,17 @@
|
|
1
|
+
en:
|
2
|
+
pageflow_scrolled:
|
3
|
+
editor:
|
4
|
+
content_elements:
|
5
|
+
heading:
|
6
|
+
attributes:
|
7
|
+
textSize:
|
8
|
+
label: "Text size"
|
9
|
+
values:
|
10
|
+
auto: "(Auto)"
|
11
|
+
large: "Large"
|
12
|
+
medium: "Medium"
|
13
|
+
small: "Small"
|
14
|
+
inline_help: |
|
15
|
+
By default, a heading in the first section of the
|
16
|
+
entry is large. Headings in later sections have small
|
17
|
+
text size.
|
@@ -0,0 +1,39 @@
|
|
1
|
+
de:
|
2
|
+
pageflow_scrolled:
|
3
|
+
editor:
|
4
|
+
content_elements:
|
5
|
+
iframeEmbed:
|
6
|
+
attributes:
|
7
|
+
aspectRatio:
|
8
|
+
label: Seitenverhältnis
|
9
|
+
values:
|
10
|
+
narrow: Landscape (4:3)
|
11
|
+
portrait: Portrait (9:16)
|
12
|
+
square: Quadratisch (1:1)
|
13
|
+
wide: Landscape (16:9)
|
14
|
+
portraitAspectRatio:
|
15
|
+
label: Seitenverhältnis (Hochkant)
|
16
|
+
values:
|
17
|
+
narrow: Landscape (4:3)
|
18
|
+
portrait: Portrait (9:16)
|
19
|
+
square: Quadratisch (1:1)
|
20
|
+
wide: Landscape (16:9)
|
21
|
+
blank: '(Standard)'
|
22
|
+
scale:
|
23
|
+
label: Skalieren
|
24
|
+
values:
|
25
|
+
p100: "100%"
|
26
|
+
p75: "75%"
|
27
|
+
p50: "50%"
|
28
|
+
p33: "33%"
|
29
|
+
source:
|
30
|
+
label: URL
|
31
|
+
title:
|
32
|
+
inline_help: Dieser Titel wird von Screenreadern verwendet, um das iframe als Ganzes zu beschreiben.
|
33
|
+
label: Titel
|
34
|
+
name: iframe-Embed
|
35
|
+
tabs:
|
36
|
+
general: iframe-Embed
|
37
|
+
pageflow:
|
38
|
+
iframe_embed_content_element:
|
39
|
+
feature_name: "iframe-Embed Inhaltselement"
|
@@ -0,0 +1,39 @@
|
|
1
|
+
en:
|
2
|
+
pageflow_scrolled:
|
3
|
+
editor:
|
4
|
+
content_elements:
|
5
|
+
iframeEmbed:
|
6
|
+
attributes:
|
7
|
+
aspectRatio:
|
8
|
+
label: Aspect Ratio
|
9
|
+
values:
|
10
|
+
narrow: Landscape (4:3)
|
11
|
+
portrait: Portrait (9:16)
|
12
|
+
square: Square (1:1)
|
13
|
+
wide: Landscape (16:9)
|
14
|
+
portraitAspectRatio:
|
15
|
+
label: Aspect Ratio (Portrait)
|
16
|
+
values:
|
17
|
+
narrow: Landscape (4:3)
|
18
|
+
portrait: Portrait (9:16)
|
19
|
+
square: Square (1:1)
|
20
|
+
wide: Landscape (16:9)
|
21
|
+
blank: '(Default)'
|
22
|
+
scale:
|
23
|
+
label: Scale
|
24
|
+
values:
|
25
|
+
p100: "100%"
|
26
|
+
p75: "75%"
|
27
|
+
p50: "50%"
|
28
|
+
p33: "33%"
|
29
|
+
source:
|
30
|
+
label: URL
|
31
|
+
title:
|
32
|
+
inline_help: Used by screen readers to describe the chart as a whole.
|
33
|
+
label: Title
|
34
|
+
name: iframe Embed
|
35
|
+
tabs:
|
36
|
+
general: iframe Embed
|
37
|
+
pageflow:
|
38
|
+
iframe_embed_content_element:
|
39
|
+
feature_name: "iframe embed content element"
|
@@ -0,0 +1,26 @@
|
|
1
|
+
de:
|
2
|
+
pageflow_scrolled:
|
3
|
+
editor:
|
4
|
+
content_elements:
|
5
|
+
inlineVideo:
|
6
|
+
attributes:
|
7
|
+
playbackMode:
|
8
|
+
label: "Wiedergabe-Modus"
|
9
|
+
values:
|
10
|
+
manual: "Manuell"
|
11
|
+
autoplay: "Automatisch"
|
12
|
+
loop: "Loop"
|
13
|
+
inline_help_html: "Bestimme, wie das Video gestartet wird:<ul><li><strong>Manuell:</strong> Durch einen Klick des Benutzers.</li><li><strong>Automatisch:</strong> Wenn es die Mitte des Browser-Viewports erreicht.</li><li><strong>Loop:</strong> In Endlosschleife sobald es sichtbar wird.</li></ul>"
|
14
|
+
hideControlBar:
|
15
|
+
label: "Controls ausblenden"
|
16
|
+
inline_help: "Für kurze Videos, bei denen der Benutzer nicht an bestimmte Stellen springen will."
|
17
|
+
inline_help_disabled: 'Für Videos mit Wiedergabe-Modus "Loop" sind die Controls immer ausgeblendet.'
|
18
|
+
unmuteLabel:
|
19
|
+
label: "Stummschaltung des Beitrags"
|
20
|
+
inline_help_html: 'Browser erlauben standardmäßig das Abspielen von Videos mit Ton nur nach einer Benutzer-Interaktion. Um Videos dennoch automatisch abspielen zu können, sind Beiträge zu Beginn stummgeschaltet.<br /><br />Die Stummschaltung kann z.B. über das Lautsprecher-Icon in der Navigationsleiste oder ein im Beitrag platziertes "Audio-Hinweis"-Element aufgehoben werden.'
|
21
|
+
unmute:
|
22
|
+
label: "...bei Klick auf Video aufheben"
|
23
|
+
inline_help_html: "Der Klick auf das Video wird verwendet, um den Ton für den gesamten Beitrag zu aktivieren.<br /><br />Nach dem Klick können Atmo-Audios sowie der Ton nachfolgender Videos dann unmittelbar wiedergegeben werden.<br /><br />Wenn diese Option aktiviert ist, wird bei automatisch ohne Ton gestarteten Videos ein animierter Indikator angezeigt, der auf die Stummschaltung hinweist."
|
24
|
+
rewindOnUnmute:
|
25
|
+
label: "...und Video von vorne abspielen"
|
26
|
+
inline_help_html: "Verhindere, dass der Benutzer bei einem automatisch ohne Ton gestarteten Video wichtige Inhalte verpasst.<br /><br />Alternativ kann dem Video eine Ton-Ersatz-Textspur hinzugefügt werden. Diese wird automatisch gezeigt solange der Beitrag stummgeschaltet ist."
|
@@ -0,0 +1,26 @@
|
|
1
|
+
en:
|
2
|
+
pageflow_scrolled:
|
3
|
+
editor:
|
4
|
+
content_elements:
|
5
|
+
inlineVideo:
|
6
|
+
attributes:
|
7
|
+
playbackMode:
|
8
|
+
label: "Playback Mode"
|
9
|
+
values:
|
10
|
+
manual: "Manual"
|
11
|
+
autoplay: "Autoplay"
|
12
|
+
loop: "Loop"
|
13
|
+
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>"
|
14
|
+
hideControlBar:
|
15
|
+
label: "Hide controls"
|
16
|
+
inline_help: "For short videos where there is no need to seek."
|
17
|
+
inline_help_disabled: 'Controls are always hidden for videos with playback mode "Loop".'
|
18
|
+
unmuteLabel:
|
19
|
+
label: "Unmute entry"
|
20
|
+
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.'
|
21
|
+
unmute:
|
22
|
+
label: "...when user clicks video"
|
23
|
+
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."
|
24
|
+
rewindOnUnmute:
|
25
|
+
label: "...and play from the beginning"
|
26
|
+
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."
|
@@ -0,0 +1,9 @@
|
|
1
|
+
de:
|
2
|
+
pageflow_scrolled:
|
3
|
+
editor:
|
4
|
+
content_elements:
|
5
|
+
inlineImage:
|
6
|
+
attributes:
|
7
|
+
portraitId:
|
8
|
+
label: Bild (Hochkant)
|
9
|
+
inline_help: Wird gezeigt, wenn der Browser-Viewport höher als breit ist - zum Beispiel auf Smartphones oder Tablets in Portrait-Ausrichtung. Kann als Alternative zu einem querformatigen Bild konfiguriert werden, das ansonsten zu klein dargestellt würde.
|
@@ -0,0 +1,9 @@
|
|
1
|
+
en:
|
2
|
+
pageflow_scrolled:
|
3
|
+
editor:
|
4
|
+
content_elements:
|
5
|
+
inlineImage:
|
6
|
+
attributes:
|
7
|
+
portraitId:
|
8
|
+
label: Image (Portrait)
|
9
|
+
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.
|
@@ -2,6 +2,8 @@ module PageflowScrolled
|
|
2
2
|
module Generators
|
3
3
|
# @api private
|
4
4
|
class InstallGenerator < Rails::Generators::Base
|
5
|
+
CUSTOM_THEME_ICONS = [:information, :muted, :share, :unmuted].freeze
|
6
|
+
|
5
7
|
desc 'Installs Pageflow Scrolled entry type.'
|
6
8
|
|
7
9
|
source_root File.expand_path('templates', __dir__)
|
@@ -17,6 +19,8 @@ module PageflowScrolled
|
|
17
19
|
end
|
18
20
|
|
19
21
|
def theme_plugin
|
22
|
+
@custom_theme_icons = CUSTOM_THEME_ICONS.inspect
|
23
|
+
|
20
24
|
# Ruby files in the lib directory are eager loaded in
|
21
25
|
# production. This includes template files in
|
22
26
|
# lib/generators. Template file extension (.tt) is removed by
|
@@ -34,6 +38,12 @@ module PageflowScrolled
|
|
34
38
|
before: "module.exports = environment\n") do
|
35
39
|
"environment.config.merge(require('pageflow/config/webpack'))\n" \
|
36
40
|
"environment.config.merge(require('pageflow-scrolled/config/webpack'))\n\n" \
|
41
|
+
"// Allow loading only chunks of used widgets. runtimeChunk 'single'\n" \
|
42
|
+
"// ensures that modules are only evaluated once which is important\n" \
|
43
|
+
"// for modules with side effects.\n" \
|
44
|
+
"environment.splitChunks((config) =>\n" \
|
45
|
+
" Object.assign({}, config, { optimization: { runtimeChunk: 'single' }})\n" \
|
46
|
+
")\n\n" \
|
37
47
|
"// Opt into future default behavior of Webpacker [1] to work around\n" \
|
38
48
|
"// problems with Video.js DASH service worker.\n" \
|
39
49
|
"//\n" \
|
@@ -71,6 +81,9 @@ module PageflowScrolled
|
|
71
81
|
|
72
82
|
def frontend_pack
|
73
83
|
create_file 'app/javascript/packs/pageflow-scrolled-frontend.js', <<-JS
|
84
|
+
import 'pageflow-scrolled/frontend/index.css';
|
85
|
+
import 'pageflow-scrolled/contentElements-frontend.css';
|
86
|
+
|
74
87
|
import 'pageflow-scrolled/frontend';
|
75
88
|
import 'pageflow-scrolled/contentElements-frontend';
|
76
89
|
|
@@ -82,13 +95,16 @@ module PageflowScrolled
|
|
82
95
|
create_file 'app/javascript/packs/pageflow-scrolled-server.js', <<-JS
|
83
96
|
import 'pageflow-scrolled/frontend-server';
|
84
97
|
import 'pageflow-scrolled/contentElements-frontend';
|
98
|
+
import 'pageflow-scrolled/widgets/defaultNavigation';
|
85
99
|
JS
|
86
100
|
end
|
87
101
|
|
88
|
-
def
|
89
|
-
|
90
|
-
|
91
|
-
|
102
|
+
def default_navigation_widget_packs
|
103
|
+
widget_dir = 'app/javascript/packs/pageflow-scrolled/widgets'
|
104
|
+
|
105
|
+
create_file File.join(widget_dir, 'defaultNavigation.js'), <<-JS
|
106
|
+
import 'pageflow-scrolled/widgets/defaultNavigation';
|
107
|
+
import 'pageflow-scrolled/widgets/defaultNavigation.css';
|
92
108
|
JS
|
93
109
|
end
|
94
110
|
|
@@ -100,7 +116,15 @@ module PageflowScrolled
|
|
100
116
|
end
|
101
117
|
|
102
118
|
def default_theme
|
103
|
-
|
119
|
+
theme_dir = 'app/javascript/pageflow-scrolled/themes/default'
|
120
|
+
icons_src_dir = PageflowScrolled::Engine.root.join('package/src/frontend/icons')
|
121
|
+
|
122
|
+
directory 'theme', theme_dir
|
123
|
+
|
124
|
+
CUSTOM_THEME_ICONS.each do |icon|
|
125
|
+
copy_file icons_src_dir.join("#{icon}.svg"),
|
126
|
+
File.join(theme_dir, "icons/#{icon}.svg")
|
127
|
+
end
|
104
128
|
end
|
105
129
|
end
|
106
130
|
end
|
data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/themes_plugin.rb.tt
CHANGED
@@ -6,18 +6,20 @@ class ScrolledThemesPlugin
|
|
6
6
|
stylesheet_packs: ['fonts/sourceSansPro'],
|
7
7
|
font_family: {
|
8
8
|
entry: '"Source Sans Pro", sans-serif',
|
9
|
-
|
9
|
+
widget: '"Source Sans Pro", sans-serif'
|
10
10
|
},
|
11
|
+
custom_theme_icons: <%= @custom_theme_icons %>,
|
11
12
|
colors: {
|
12
13
|
accent: '#e10028',
|
13
|
-
|
14
|
+
widget: {
|
14
15
|
surface: '#fff',
|
15
16
|
on_surface: '#000',
|
16
|
-
|
17
|
-
|
17
|
+
primary: '#00375a',
|
18
|
+
on_primary: '#fff',
|
19
|
+
secondary: '#c2c2c2',
|
20
|
+
on_seconday: '#000',
|
18
21
|
background: 'rgba(255, 255, 255, 0.95)',
|
19
|
-
on_background: '#000'
|
20
|
-
primary_on_background: '#00375a'
|
22
|
+
on_background: '#000'
|
21
23
|
}
|
22
24
|
},
|
23
25
|
logo_alt_text: 'Pageflow',
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module PageflowScrolled
|
2
|
+
# Register additonal Webpacker packs to be loaded in entries.
|
3
|
+
class AdditionalPacks
|
4
|
+
# @api private
|
5
|
+
def initialize
|
6
|
+
@packs = []
|
7
|
+
end
|
8
|
+
|
9
|
+
# content_element_type_names option only takes effect for frontend
|
10
|
+
# packs.
|
11
|
+
def register(path, content_element_type_names: [])
|
12
|
+
@packs << AdditionalPack.new(path, content_element_type_names)
|
13
|
+
end
|
14
|
+
|
15
|
+
# @api private
|
16
|
+
def content_element_type_names
|
17
|
+
@packs
|
18
|
+
.flat_map(&:content_element_type_names)
|
19
|
+
.uniq
|
20
|
+
end
|
21
|
+
|
22
|
+
# @api private
|
23
|
+
def paths
|
24
|
+
@packs.map(&:path)
|
25
|
+
end
|
26
|
+
|
27
|
+
# @api private
|
28
|
+
def paths_for_content_element_types(type_names)
|
29
|
+
@packs.reject { |pack|
|
30
|
+
(pack.content_element_type_names & type_names).empty?
|
31
|
+
}.map(&:path)
|
32
|
+
end
|
33
|
+
|
34
|
+
# @api private
|
35
|
+
AdditionalPack = Struct.new(:path, :content_element_type_names)
|
36
|
+
end
|
37
|
+
end
|