pageflow 17.0.5 → 17.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +342 -41
- data/README.md +3 -5
- data/admins/pageflow/accounts.rb +22 -20
- data/admins/pageflow/entry.rb +76 -26
- data/admins/pageflow/entry_templates.rb +10 -9
- data/admins/pageflow/folder.rb +1 -1
- data/admins/pageflow/membership.rb +15 -15
- data/admins/pageflow/revisions.rb +5 -5
- data/admins/pageflow/site_root_entry.rb +64 -0
- data/admins/pageflow/sites.rb +12 -3
- data/admins/pageflow/translations.rb +75 -0
- data/admins/pageflow/user.rb +21 -35
- data/app/assets/images/pageflow/admin/icons/comment.svg +1 -0
- data/app/assets/javascripts/pageflow/admin/entries.js +30 -5
- data/app/assets/javascripts/pageflow/dist/ui.js +4228 -900
- data/app/assets/javascripts/pageflow/editor/vendor.js +0 -1
- data/app/assets/javascripts/pageflow/ui.js +0 -1
- data/app/assets/stylesheets/pageflow/admin/entries/index_table.scss +2 -1
- data/app/assets/stylesheets/pageflow/admin/entry_comments_indicator.scss +45 -0
- data/app/assets/stylesheets/pageflow/admin/permalink_input.scss +8 -0
- data/app/assets/stylesheets/pageflow/admin.scss +1 -0
- data/app/assets/stylesheets/pageflow/animations/spin.scss +9 -0
- data/app/assets/stylesheets/pageflow/animations.scss +1 -0
- data/app/assets/stylesheets/pageflow/editor/background_positioning.scss +27 -5
- data/app/assets/stylesheets/pageflow/editor/base.scss +11 -1
- data/app/assets/stylesheets/pageflow/editor/drop_down_button.scss +20 -2
- data/app/assets/stylesheets/pageflow/editor/edit_configuration_view.scss +5 -0
- data/app/assets/stylesheets/pageflow/editor/file_folders.scss +127 -0
- data/app/assets/stylesheets/pageflow/editor/file_meta_data.scss +5 -2
- data/app/assets/stylesheets/pageflow/editor/file_meta_data_overlay.scss +45 -0
- data/app/assets/stylesheets/pageflow/editor/file_preview.scss +138 -0
- data/app/assets/stylesheets/pageflow/editor/file_references.scss +68 -0
- data/app/assets/stylesheets/pageflow/editor/file_settings_dialog.scss +1 -1
- data/app/assets/stylesheets/pageflow/editor/file_stage_icons.scss +17 -0
- data/app/assets/stylesheets/pageflow/editor/file_stages.scss +25 -32
- data/app/assets/stylesheets/pageflow/editor/file_thumbnails.scss +31 -48
- data/app/assets/stylesheets/pageflow/editor/file_type_pills.scss +73 -0
- data/app/assets/stylesheets/pageflow/editor/files.scss +242 -50
- data/app/assets/stylesheets/pageflow/editor/filtered_files.scss +161 -9
- data/app/assets/stylesheets/pageflow/editor/folder_breadcrumb.scss +40 -0
- data/app/assets/stylesheets/pageflow/editor/info_box.scss +23 -3
- data/app/assets/stylesheets/pageflow/editor/inputs/edit_defaults_button.scss +15 -0
- data/app/assets/stylesheets/pageflow/editor/inputs.scss +1 -0
- data/app/assets/stylesheets/pageflow/editor/list.scss +89 -37
- data/app/assets/stylesheets/pageflow/editor/list_search_field.scss +52 -0
- data/app/assets/stylesheets/pageflow/editor/manage_files.scss +9 -0
- data/app/assets/stylesheets/pageflow/editor/menu.scss +14 -0
- data/app/assets/stylesheets/pageflow/editor/move_to_folder_dialog.scss +83 -0
- data/app/assets/stylesheets/pageflow/editor/outline.scss +0 -13
- data/app/assets/stylesheets/pageflow/editor/sortable.scss +12 -0
- data/app/assets/stylesheets/pageflow/mixins/buttons.scss +4 -4
- data/app/assets/stylesheets/pageflow/mixins/pageflow.scss +9 -5
- data/app/assets/stylesheets/pageflow/ui/color_picker.scss +230 -0
- data/app/assets/stylesheets/pageflow/ui/forms.scss +38 -4
- data/app/assets/stylesheets/pageflow/ui/functions.scss +12 -2
- data/app/assets/stylesheets/pageflow/ui/input/color_input.scss +9 -8
- data/app/assets/stylesheets/pageflow/ui/input/file_name_input.scss +37 -0
- data/app/assets/stylesheets/pageflow/ui/input/text_area_input.scss +15 -0
- data/app/assets/stylesheets/pageflow/ui/overrides.scss +8 -0
- data/app/assets/stylesheets/pageflow/ui/properties.scss +34 -0
- data/app/assets/stylesheets/pageflow/ui/tabs_view.scss +8 -3
- data/app/assets/stylesheets/pageflow/ui.scss +4 -1
- data/app/controllers/concerns/pageflow/controller_delegation.rb +1 -1
- data/app/controllers/concerns/pageflow/edit_locking.rb +17 -10
- data/app/controllers/concerns/pageflow/entry_password_protection.rb +1 -0
- data/app/controllers/concerns/pageflow/public_https_mode.rb +2 -1
- data/app/controllers/concerns/pageflow/quota_verification.rb +5 -4
- data/app/controllers/pageflow/admin/initial_passwords_controller.rb +1 -0
- data/app/controllers/pageflow/application_controller.rb +19 -19
- data/app/controllers/pageflow/chapters_controller.rb +3 -2
- data/app/controllers/pageflow/edit_locks_controller.rb +3 -2
- data/app/controllers/pageflow/editor/encoding_confirmations_controller.rb +1 -0
- data/app/controllers/pageflow/editor/entries_controller.rb +3 -1
- data/app/controllers/pageflow/editor/entry_publications_controller.rb +1 -0
- data/app/controllers/pageflow/editor/file_folders_controller.rb +80 -0
- data/app/controllers/pageflow/editor/file_import_controller.rb +4 -3
- data/app/controllers/pageflow/editor/files_controller.rb +20 -10
- data/app/controllers/pageflow/editor/oembeds_controller.rb +21 -0
- data/app/controllers/pageflow/editor/widgets_controller.rb +1 -0
- data/app/controllers/pageflow/entries_controller.rb +85 -21
- data/app/controllers/pageflow/feeds_controller.rb +1 -1
- data/app/controllers/pageflow/files_controller.rb +1 -0
- data/app/controllers/pageflow/pages_controller.rb +4 -2
- data/app/controllers/pageflow/review/comment_thread_reads_controller.rb +30 -0
- data/app/controllers/pageflow/review/comment_threads_controller.rb +60 -0
- data/app/controllers/pageflow/review/comments_controller.rb +53 -0
- data/app/controllers/pageflow/revisions_controller.rb +5 -1
- data/app/controllers/pageflow/sitemaps_controller.rb +1 -1
- data/app/controllers/pageflow/storylines_controller.rb +1 -0
- data/app/helpers/pageflow/admin/cutoff_modes_helper.rb +12 -0
- data/app/helpers/pageflow/admin/entries_helper.rb +41 -1
- data/app/helpers/pageflow/admin/entry_translations_helper.rb +18 -0
- data/app/helpers/pageflow/admin/features_helper.rb +1 -1
- data/app/helpers/pageflow/admin/form_helper.rb +3 -3
- data/app/helpers/pageflow/admin/locales_helper.rb +10 -2
- data/app/helpers/pageflow/admin/memberships_helper.rb +32 -32
- data/app/helpers/pageflow/admin/revisions_helper.rb +1 -1
- data/app/helpers/pageflow/admin/sites_helper.rb +22 -0
- data/app/helpers/pageflow/admin/users_helper.rb +7 -5
- data/app/helpers/pageflow/admin/widgets_helper.rb +5 -5
- data/app/helpers/pageflow/asset_urls_helper.rb +1 -1
- data/app/helpers/pageflow/audio_files_helper.rb +5 -2
- data/app/helpers/pageflow/background_image_helper.rb +7 -6
- data/app/helpers/pageflow/common_entry_seed_helper.rb +7 -7
- data/app/helpers/pageflow/editor/config_helper.rb +3 -1
- data/app/helpers/pageflow/editor/files_helper.rb +1 -1
- data/app/helpers/pageflow/embed_code_helper.rb +3 -3
- data/app/helpers/pageflow/entries_helper.rb +52 -46
- data/app/helpers/pageflow/entry_json_seed_helper.rb +7 -6
- data/app/helpers/pageflow/feeds_helper.rb +2 -2
- data/app/helpers/pageflow/file_background_images_helper.rb +2 -2
- data/app/helpers/pageflow/file_thumbnails_helper.rb +4 -3
- data/app/helpers/pageflow/files_helper.rb +5 -4
- data/app/helpers/pageflow/folders_helper.rb +8 -5
- data/app/helpers/pageflow/help_entries_helper.rb +2 -2
- data/app/helpers/pageflow/hreflang_links_helper.rb +37 -0
- data/app/helpers/pageflow/info_box_helper.rb +7 -11
- data/app/helpers/pageflow/media_query_helper.rb +3 -3
- data/app/helpers/pageflow/navigation_bar_helper.rb +1 -1
- data/app/helpers/pageflow/overview_helper.rb +1 -1
- data/app/helpers/pageflow/page_types_helper.rb +5 -5
- data/app/helpers/pageflow/pages_helper.rb +29 -15
- data/app/helpers/pageflow/public_i18n_helper.rb +10 -9
- data/app/helpers/pageflow/quota_helper.rb +4 -4
- data/app/helpers/pageflow/render_json_helper.rb +6 -3
- data/app/helpers/pageflow/revision_file_helper.rb +2 -1
- data/app/helpers/pageflow/sites_helper.rb +3 -3
- data/app/helpers/pageflow/social_share_helper.rb +24 -10
- data/app/helpers/pageflow/social_share_links_helper.rb +12 -9
- data/app/helpers/pageflow/structured_data_helper.rb +5 -2
- data/app/helpers/pageflow/stub_page_configuration.rb +7 -3
- data/app/helpers/pageflow/text_direction_helper.rb +1 -1
- data/app/helpers/pageflow/themes_helper.rb +2 -4
- data/app/helpers/pageflow/video_files_helper.rb +29 -13
- data/app/helpers/pageflow/widgets_helper.rb +8 -6
- data/app/inputs/pageflow_permalink_input.rb +8 -3
- data/app/jobs/pageflow/application_job.rb +1 -0
- data/app/jobs/pageflow/entry_export_import/upload_and_publish_file_job.rb +1 -1
- data/app/jobs/pageflow/poll_meta_data_from_zencoder_job.rb +1 -0
- data/app/jobs/pageflow/poll_zencoder_job.rb +3 -2
- data/app/jobs/pageflow/process_image_or_text_track_job.rb +1 -0
- data/app/jobs/pageflow/prune_auto_snapshots_job.rb +1 -0
- data/app/jobs/pageflow/request_meta_data_from_zencoder_job.rb +1 -0
- data/app/jobs/pageflow/submit_file_to_zencoder_job.rb +1 -0
- data/app/mailers/pageflow/user_mailer.rb +1 -0
- data/app/models/concerns/pageflow/auto_generated_perma_id.rb +20 -1
- data/app/models/concerns/pageflow/entry_publication_states.rb +7 -3
- data/app/models/concerns/pageflow/feature_target.rb +8 -4
- data/app/models/concerns/pageflow/output_source.rb +3 -3
- data/app/models/concerns/pageflow/permalinkable.rb +2 -1
- data/app/models/concerns/pageflow/reusable_file.rb +24 -24
- data/app/models/concerns/pageflow/serialization_blacklist.rb +3 -5
- data/app/models/concerns/pageflow/suspendable.rb +5 -3
- data/app/models/concerns/pageflow/theme_referencer.rb +1 -1
- data/app/models/concerns/pageflow/translatable.rb +62 -0
- data/app/models/concerns/pageflow/translated_attributes.rb +101 -0
- data/app/models/concerns/pageflow/uploadable_file.rb +6 -6
- data/app/models/pageflow/account.rb +6 -5
- data/app/models/pageflow/account_member_query.rb +1 -1
- data/app/models/pageflow/account_role_query.rb +1 -1
- data/app/models/pageflow/application_query.rb +1 -1
- data/app/models/pageflow/application_record.rb +1 -1
- data/app/models/pageflow/audio_file.rb +4 -4
- data/app/models/pageflow/audio_file_url_templates.rb +1 -1
- data/app/models/pageflow/authentication_token.rb +2 -2
- data/app/models/pageflow/chapter.rb +6 -1
- data/app/models/pageflow/chapter_scaffold.rb +2 -4
- data/app/models/pageflow/cname_site_request_scope.rb +1 -1
- data/app/models/pageflow/comment.rb +30 -0
- data/app/models/pageflow/comment_thread.rb +65 -0
- data/app/models/pageflow/comment_thread_read.rb +22 -0
- data/app/models/pageflow/customized_theme.rb +9 -8
- data/app/models/pageflow/draft_entry.rb +49 -9
- data/app/models/pageflow/edit_lock.rb +19 -21
- data/app/models/pageflow/encoding_confirmation.rb +2 -2
- data/app/models/pageflow/entries_feed.rb +2 -2
- data/app/models/pageflow/entry.rb +46 -30
- data/app/models/pageflow/entry_at_revision.rb +14 -2
- data/app/models/pageflow/entry_comment_summary.rb +114 -0
- data/app/models/pageflow/entry_duplicate.rb +8 -5
- data/app/models/pageflow/entry_publication.rb +2 -2
- data/app/models/pageflow/entry_role_query.rb +4 -4
- data/app/models/pageflow/entry_template.rb +4 -4
- data/app/models/pageflow/entry_title_or_account_name_query.rb +2 -2
- data/app/models/pageflow/entry_translation_group.rb +42 -0
- data/app/models/pageflow/file_folder.rb +74 -0
- data/app/models/pageflow/file_reuse.rb +5 -4
- data/app/models/pageflow/file_usage.rb +18 -3
- data/app/models/pageflow/folder.rb +2 -2
- data/app/models/pageflow/home_button.rb +7 -7
- data/app/models/pageflow/image_file.rb +44 -25
- data/app/models/pageflow/image_file_url_templates.rb +4 -4
- data/app/models/pageflow/invitation_form.rb +2 -1
- data/app/models/pageflow/legal_info.rb +38 -0
- data/app/models/pageflow/managed_user_query.rb +1 -1
- data/app/models/pageflow/membership.rb +5 -5
- data/app/models/pageflow/nested_revision_component_copy.rb +263 -0
- data/app/models/pageflow/null_user.rb +1 -1
- data/app/models/pageflow/overview_button.rb +1 -1
- data/app/models/pageflow/page.rb +7 -3
- data/app/models/pageflow/permalink.rb +24 -2
- data/app/models/pageflow/permalink_directory.rb +7 -0
- data/app/models/pageflow/permalink_redirect.rb +7 -0
- data/app/models/pageflow/positioned_file.rb +5 -5
- data/app/models/pageflow/potential_entry_translations.rb +55 -0
- data/app/models/pageflow/potential_memberships.rb +5 -4
- data/app/models/pageflow/published_entry.rb +62 -11
- data/app/models/pageflow/revision.rb +29 -16
- data/app/models/pageflow/roles.rb +14 -18
- data/app/models/pageflow/site.rb +46 -3
- data/app/models/pageflow/site_root_entry_form.rb +27 -0
- data/app/models/pageflow/sitemaps.rb +10 -1
- data/app/models/pageflow/storyline.rb +5 -2
- data/app/models/pageflow/storyline_scaffold.rb +1 -1
- data/app/models/pageflow/text_track_file.rb +1 -1
- data/app/models/pageflow/text_track_file_url_templates.rb +1 -1
- data/app/models/pageflow/theme_customization_file.rb +3 -2
- data/app/models/pageflow/thumbnail_file_resolver.rb +1 -1
- data/app/models/pageflow/url_template.rb +1 -1
- data/app/models/pageflow/used_file.rb +13 -3
- data/app/models/pageflow/user_name_query.rb +2 -2
- data/app/models/pageflow/video_file.rb +22 -15
- data/app/models/pageflow/video_file_url_templates.rb +6 -4
- data/app/models/pageflow/widget.rb +5 -4
- data/app/models/pageflow/with_file_usage_extension.rb +1 -1
- data/app/models/pageflow/zencoder_attachment.rb +8 -8
- data/app/policies/pageflow/account_policy.rb +3 -1
- data/app/policies/pageflow/admin/admin_only_tab_policy.rb +1 -0
- data/app/policies/pageflow/admin/entry_tab_policy.rb +1 -0
- data/app/policies/pageflow/application_policy.rb +2 -0
- data/app/policies/pageflow/entry_policy.rb +7 -1
- data/app/policies/pageflow/entry_template_policy.rb +2 -1
- data/app/policies/pageflow/file_policy.rb +4 -7
- data/app/policies/pageflow/folder_policy.rb +18 -8
- data/app/policies/pageflow/membership_policy.rb +6 -4
- data/app/policies/pageflow/site_policy.rb +10 -3
- data/app/policies/pageflow/user_policy.rb +6 -4
- data/app/state_machines/pageflow/image_and_text_track_processing_state_machine.rb +3 -2
- data/app/state_machines/pageflow/media_encoding_state_machine.rb +5 -4
- data/app/views/admin/accounts/_entry_template_details.html.arb +2 -2
- data/app/views/admin/entries/_attributes_table.html.arb +6 -5
- data/app/views/admin/entries/_form.html.erb +2 -1
- data/app/views/admin/entries/_permalink_inputs.html.erb +9 -2
- data/app/views/admin/entry_templates/_form.html.erb +1 -3
- data/app/views/admin/site_root_entry/choose.html.erb +19 -0
- data/app/views/admin/sites/_fields.html.erb +14 -1
- data/app/views/admin/translations/_form.html.erb +31 -0
- data/app/views/admin/users/_attributes_table.html.arb +13 -0
- data/app/views/components/pageflow/admin/add_membership_button.rb +13 -12
- data/app/views/components/pageflow/admin/custom_scopes_renderer.rb +1 -0
- data/app/views/components/pageflow/admin/embed_code_field.rb +1 -0
- data/app/views/components/pageflow/admin/embedded_index_table.rb +9 -10
- data/app/views/components/pageflow/admin/entries_tab.rb +1 -0
- data/app/views/components/pageflow/admin/entry_publication_state_indicator.rb +6 -5
- data/app/views/components/pageflow/admin/entry_templates_tab.rb +2 -1
- data/app/views/components/pageflow/admin/entry_translations_tab.rb +102 -0
- data/app/views/components/pageflow/admin/entry_user_badge_list.rb +1 -0
- data/app/views/components/pageflow/admin/extensible_attributes_table.rb +9 -8
- data/app/views/components/pageflow/admin/features_tab.rb +1 -0
- data/app/views/components/pageflow/admin/grouped_folder_list.rb +1 -0
- data/app/views/components/pageflow/admin/icon_link_to.rb +1 -0
- data/app/views/components/pageflow/admin/members_tab.rb +4 -3
- data/app/views/components/pageflow/admin/membership_role_with_tooltip.rb +3 -2
- data/app/views/components/pageflow/admin/revisions_tab.rb +14 -10
- data/app/views/components/pageflow/admin/sites_tab.rb +1 -0
- data/app/views/components/pageflow/admin/tabs_view.rb +1 -0
- data/app/views/components/pageflow/admin/timestamp.rb +6 -5
- data/app/views/components/pageflow/admin/user_account_badge_list.rb +2 -3
- data/app/views/components/pageflow/admin/user_accounts_tab.rb +1 -0
- data/app/views/components/pageflow/admin/user_entries_tab.rb +1 -0
- data/app/views/components/pageflow/admin/users_tab.rb +1 -0
- data/app/views/pageflow/audio_files/_audio_file.json.jbuilder +0 -1
- data/app/views/pageflow/editor/config/_seeds.json.jbuilder +5 -3
- data/app/views/pageflow/editor/entries/_entry.json.jbuilder +2 -1
- data/app/views/pageflow/editor/entries/index.json.jbuilder +1 -1
- data/app/views/pageflow/editor/entries/seed.json.erb +1 -0
- data/app/views/pageflow/editor/entries/show.json.jbuilder +1 -1
- data/app/views/pageflow/editor/entry_publications/check.json.jbuilder +2 -2
- data/app/views/pageflow/editor/file_folders/_file_folder.json.jbuilder +5 -0
- data/app/views/pageflow/editor/file_folders/create.json.jbuilder +1 -0
- data/app/views/pageflow/editor/file_folders/index.json.jbuilder +3 -0
- data/app/views/pageflow/editor/files/_file.json.jbuilder +7 -14
- data/app/views/pageflow/editor/files/create.json.jbuilder +1 -1
- data/app/views/pageflow/editor/files/index.json.jbuilder +1 -1
- data/app/views/pageflow/editor/image_files/_image_file.json.jbuilder +3 -0
- data/app/views/pageflow/editor/sites/_site.json.jbuilder +1 -0
- data/app/views/pageflow/editor/video_files/_video_file.json.jbuilder +4 -3
- data/app/views/pageflow/entries/share_menu/_bluesky_link.html.erb +8 -0
- data/app/views/pageflow/entries/share_menu/_threads_link.html.erb +8 -0
- data/app/views/pageflow/files/_file.json.jbuilder +5 -3
- data/app/views/pageflow/image_files/_image_file.json.jbuilder +0 -1
- data/app/views/pageflow/review/comment_threads/_comment_thread.json.jbuilder +20 -0
- data/app/views/pageflow/review/comment_threads/create.json.jbuilder +2 -0
- data/app/views/pageflow/review/comment_threads/index.json.jbuilder +13 -0
- data/app/views/pageflow/review/comments/_comment.json.jbuilder +13 -0
- data/app/views/pageflow/review/comments/create.json.jbuilder +1 -0
- data/app/views/pageflow/sitemaps/index.xml.builder +9 -1
- 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/app/views/pageflow/structured_data/_entry.json.jbuilder +2 -3
- data/app/views/pageflow/video_files/_video_file.json.jbuilder +0 -1
- data/config/initializers/active_admin_patches.rb +3 -6
- data/config/initializers/admin_resource_tabs.rb +3 -0
- data/config/initializers/paperclip.rb +1 -0
- data/config/initializers/symmetric_encryption.rb +1 -1
- data/config/initializers/zencoder.rb +24 -13
- data/config/locales/de.yml +256 -12
- data/config/locales/en.yml +253 -15
- data/config/routes.rb +29 -13
- data/config/spring.rb +2 -1
- data/db/migrate/20140418225525_setup_schema.rb +2 -2
- data/db/migrate/20190306161431_copy_file_attributes_of_failed_uploads.rb +2 -2
- data/db/migrate/20190820152900_drop_accounts_themes.rb +2 -1
- data/db/migrate/20191202145757_create_pageflow_scrolled_sections.rb +11 -11
- data/db/migrate/20191202150657_create_pageflow_scrolled_chapters.rb +1 -1
- data/db/migrate/20191202154723_create_pageflow_scrolled_content_elements.rb +9 -9
- data/db/migrate/20191219143450_add_position_to_content_elements.rb +2 -1
- data/db/migrate/20200117133200_change_revision_appearance_option_default_and_null.rb +2 -1
- data/db/migrate/20200122115400_create_pageflow_entry_templates.rb +25 -25
- data/db/migrate/20200206134400_convert_legacy_scrolled_content_element_types.rb +3 -3
- data/db/migrate/20221215120856_associate_entry_templates_with_sites.rb +2 -2
- data/db/migrate/20230120092923_create_other_files.rb +2 -1
- data/db/migrate/20230419083307_create_pageflow_entry_translation_group.rb +9 -0
- data/db/migrate/20240612110434_add_cutoff_mode_name_to_sites.rb +5 -0
- data/db/migrate/20240918084059_create_pageflow_permalink_redirects.rb +14 -0
- data/db/migrate/20250508172234_ensure_scrolled_entries_have_main_storyline.rb +14 -0
- data/db/migrate/20250617090048_add_custom404_entry_to_sites.rb +5 -0
- data/db/migrate/20250617100000_add_perma_id_counter_to_entries.rb +28 -0
- data/db/migrate/20250722174123_add_perma_id_to_chapters.rb +10 -0
- data/db/migrate/20250725080603_add_perma_id_indexes_to_revision_components.rb +13 -0
- data/db/migrate/20250726000000_add_display_name_to_file_usages.rb +5 -0
- data/db/migrate/20251015000000_add_structured_data_type_name_to_revisions.rb +5 -0
- data/db/migrate/20251029142849_convert_legacy_social_embeds_to_unified_social_embed.rb +38 -0
- data/db/migrate/20251119083347_fix_main_storyline_positions.rb +16 -0
- data/db/migrate/20251119083348_ensure_scrolled_entries_have_excursion_storyline.rb +15 -0
- data/db/migrate/20260303000000_add_layout_version_to_revisions.rb +6 -0
- data/db/migrate/20260323000000_create_comment_threads_and_comments.rb +30 -0
- data/db/migrate/20260414000000_add_subject_range_to_comment_threads.rb +5 -0
- data/db/migrate/20260415000000_add_section_perma_id_to_comment_threads.rb +5 -0
- data/db/migrate/20260727000000_add_quote_to_comments.rb +5 -0
- data/db/migrate/20260728000000_create_file_folders.rb +17 -0
- data/db/migrate/20260805000000_add_attribute_translations_to_sites.rb +5 -0
- data/db/migrate/20260806000000_add_edited_at_to_comments.rb +5 -0
- data/db/migrate/20260810000000_create_pageflow_scrolled_lottie_files.rb +24 -0
- data/db/migrate/20260817000000_create_comment_thread_reads.rb +16 -0
- data/db/migrate/20260819000000_add_unread_comments_since_at_to_users.rb +18 -0
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/editor.js +12599 -5398
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/frontend.js +1275 -4560
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-client.js +20204 -22
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-server.js +18657 -19
- data/entry_types/paged/app/controllers/pageflow_paged/entries_controller.rb +1 -0
- data/entry_types/paged/app/helpers/pageflow_paged/page_background_asset_helper.rb +1 -1
- data/entry_types/paged/app/helpers/pageflow_paged/third_party_embed_consent_helper.rb +7 -7
- data/entry_types/paged/app/views/pageflow_paged/editor/entries/_seed.json.jbuilder +1 -0
- data/entry_types/paged/app/views/pageflow_paged/entries/show.html.erb +1 -0
- data/entry_types/paged/lib/pageflow_paged/plugin.rb +4 -0
- data/entry_types/paged/lib/pageflow_paged/react/page_type.rb +1 -1
- data/entry_types/paged/lib/pageflow_paged/react/widget_type.rb +3 -3
- data/entry_types/paged/lib/pageflow_paged.rb +1 -1
- data/entry_types/scrolled/app/assets/stylesheets/pageflow_scrolled/ui.scss +2 -0
- data/entry_types/scrolled/app/controllers/pageflow_scrolled/editor/chapters_controller.rb +5 -3
- data/entry_types/scrolled/app/controllers/pageflow_scrolled/editor/content_elements_controller.rb +35 -5
- data/entry_types/scrolled/app/controllers/pageflow_scrolled/editor/sections_controller.rb +4 -5
- data/entry_types/scrolled/app/controllers/pageflow_scrolled/entries_controller.rb +23 -2
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/cache_helper.rb +3 -3
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/editor/entry_json_seed_helper.rb +8 -5
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/editor/seed_html_helper.rb +7 -3
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/entry_json_seed_helper.rb +72 -10
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/i18n_helper.rb +28 -13
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/packs_helper.rb +41 -12
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/react_server_side_rendering_helper.rb +23 -25
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/sprockets_helper.rb +16 -0
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/themes_helper.rb +189 -3
- data/entry_types/scrolled/app/models/pageflow_scrolled/chapter.rb +15 -14
- data/entry_types/scrolled/app/models/pageflow_scrolled/content_element.rb +61 -7
- data/entry_types/scrolled/app/models/pageflow_scrolled/lottie_file.rb +6 -0
- data/entry_types/scrolled/app/models/pageflow_scrolled/lottie_file_url_templates.rb +16 -0
- data/entry_types/scrolled/app/models/pageflow_scrolled/section.rb +12 -1
- data/entry_types/scrolled/app/models/pageflow_scrolled/storyline.rb +20 -1
- data/entry_types/scrolled/app/views/pageflow_scrolled/editor/entries/_head.html.erb +1 -0
- data/entry_types/scrolled/app/views/pageflow_scrolled/editor/sections/_section_with_content_elements.json.jbuilder +2 -2
- data/entry_types/scrolled/app/views/pageflow_scrolled/entries/show.html.erb +15 -12
- data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_entry.json.jbuilder +45 -17
- data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_entry_translations.json.jbuilder +14 -0
- data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_theme.json.jbuilder +34 -5
- data/entry_types/scrolled/app/views/pageflow_scrolled/favicons/_entry.html.erb +1 -1
- data/entry_types/scrolled/app/views/pageflow_scrolled/storylines/_storyline.json.jbuilder +7 -0
- data/entry_types/scrolled/config/configuration_schemas/pageflow-scrolled.json +414 -0
- data/entry_types/scrolled/config/locales/de.yml +1094 -78
- data/entry_types/scrolled/config/locales/en.yml +1083 -78
- data/entry_types/scrolled/config/routes.rb +18 -8
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/install_generator.rb +11 -11
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/logoDarkVariantDesktop.svg +56 -0
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/logoDarkVariantMobile.svg +22 -0
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/themes_plugin.rb.tt +26 -11
- data/entry_types/scrolled/lib/pageflow_scrolled/additional_packs.rb +27 -8
- data/entry_types/scrolled/lib/pageflow_scrolled/additional_seed_data.rb +2 -2
- data/entry_types/scrolled/lib/pageflow_scrolled/additional_theme_assets.rb +27 -0
- data/entry_types/scrolled/lib/pageflow_scrolled/configuration.rb +67 -10
- data/entry_types/scrolled/lib/pageflow_scrolled/configuration_schemas.rb +91 -0
- data/entry_types/scrolled/lib/pageflow_scrolled/content_element_consent_vendors.rb +1 -1
- data/entry_types/scrolled/lib/pageflow_scrolled/engine.rb +2 -1
- data/entry_types/scrolled/lib/pageflow_scrolled/entry_file_reference_locations.rb +71 -0
- data/entry_types/scrolled/lib/pageflow_scrolled/entry_structured_data_types/faq_page.rb +58 -0
- data/entry_types/scrolled/lib/pageflow_scrolled/file_reference_locations.rb +69 -0
- data/entry_types/scrolled/lib/pageflow_scrolled/plugin.rb +222 -19
- data/entry_types/scrolled/lib/pageflow_scrolled/react_widget_type.rb +2 -4
- data/entry_types/scrolled/lib/pageflow_scrolled/seeds.rb +76 -54
- data/entry_types/scrolled/lib/pageflow_scrolled/theme_options_default_scale.rb +35 -0
- data/entry_types/scrolled/lib/pageflow_scrolled.rb +14 -1
- data/entry_types/scrolled/lib/tasks/pageflow_scrolled/storybook.rake +24 -5
- data/entry_types/scrolled/package/config/configurationSchemas.js +70 -0
- data/entry_types/scrolled/package/config/rollup/configurationSchemas.js +19 -0
- data/entry_types/scrolled/package/config/webpack.js +94 -0
- data/entry_types/scrolled/package/contentElements/hotspots-frontend.css +1 -0
- data/entry_types/scrolled/package/contentElements/hotspots-frontend.js +1795 -0
- data/entry_types/scrolled/package/contentElements/inlineBeforeAfter-frontend.css +1 -0
- data/entry_types/scrolled/package/contentElements/inlineBeforeAfter-frontend.js +219 -0
- data/entry_types/scrolled/package/contentElements/lottieAnimation-frontend.css +1 -0
- data/entry_types/scrolled/package/contentElements/lottieAnimation-frontend.js +244 -0
- data/entry_types/scrolled/package/contentElements/socialEmbed-frontend.css +1 -0
- data/entry_types/scrolled/package/contentElements/socialEmbed-frontend.js +823 -0
- data/entry_types/scrolled/package/contentElements/tikTokEmbed-frontend.css +1 -0
- data/entry_types/scrolled/package/contentElements/tikTokEmbed-frontend.js +109 -0
- data/entry_types/scrolled/package/contentElements/twitterEmbed-frontend.css +1 -0
- data/entry_types/scrolled/package/contentElements/twitterEmbed-frontend.js +277 -0
- data/entry_types/scrolled/package/contentElements/videoEmbed-frontend.css +1 -0
- data/entry_types/scrolled/package/contentElements/videoEmbed-frontend.js +244 -0
- data/entry_types/scrolled/package/contentElements-editor.js +3155 -583
- data/entry_types/scrolled/package/contentElements-frontend.css +1 -1
- data/entry_types/scrolled/package/contentElements-frontend.js +3375 -1585
- data/entry_types/scrolled/package/editor.css +1 -0
- data/entry_types/scrolled/package/editor.js +8452 -2867
- data/entry_types/scrolled/package/entryState.js +1600 -0
- data/entry_types/scrolled/package/frontend/FloatingPortalRootProvider-20c600de.js +1979 -0
- data/entry_types/scrolled/package/frontend/FloatingPortalRootProvider-58189220.js +2538 -0
- data/entry_types/scrolled/package/frontend/{PhonePlatformContext-4ec6b2de.js → PhonePlatformContext-035a99fa.js} +9 -15
- data/entry_types/scrolled/package/frontend/PhonePlatformContext-9da43797.js +33 -0
- data/entry_types/scrolled/package/frontend/Placeholder.module-bf0966b4.js +5267 -0
- data/entry_types/scrolled/package/frontend/Placeholder.module-d22a9335.js +4180 -0
- data/entry_types/scrolled/package/frontend/ThemeIcon-ab834849.js +754 -0
- data/entry_types/scrolled/package/frontend/ThemeIcon-f6cb3a8f.js +773 -0
- data/entry_types/scrolled/package/frontend/ToggleFullscreenCornerButton-30fd1124.js +39 -0
- data/entry_types/scrolled/package/frontend/ToggleFullscreenCornerButton-61c25224.js +72 -0
- data/entry_types/scrolled/package/frontend/Viewer-1074fd59.js +147 -0
- data/entry_types/scrolled/package/frontend/Viewer-1482ca34.js +480 -0
- data/entry_types/scrolled/package/frontend/Viewer-70504231.js +210 -0
- data/entry_types/scrolled/package/frontend/{Viewer-1bb5597c.js → Viewer-cc8d4072.js} +100 -135
- data/entry_types/scrolled/package/frontend/Wavesurfer-656e3c36.js +302 -0
- data/entry_types/scrolled/package/frontend/Wavesurfer-b753b838.js +385 -0
- data/entry_types/scrolled/package/frontend/commenting.css +1 -0
- data/entry_types/scrolled/package/frontend/extensions-167ae143.js +1455 -0
- data/entry_types/scrolled/package/frontend/extensions-2318f92b.js +5918 -0
- data/entry_types/scrolled/package/frontend/extensions-a461fd13.js +4890 -0
- data/entry_types/scrolled/package/frontend/extensions-c98269fd.js +1982 -0
- data/entry_types/scrolled/package/frontend/i18n-493cd2a6.js +93 -0
- data/entry_types/scrolled/package/frontend/i18n-e06cac14.js +100 -0
- data/entry_types/scrolled/package/frontend/{index-11f32f10.js → index-2e5546f7.js} +39 -54
- data/entry_types/scrolled/package/frontend/index-de2b418d.js +130 -0
- data/entry_types/scrolled/package/frontend/index.css +1 -1
- data/entry_types/scrolled/package/frontend/index.js +1976 -1367
- data/entry_types/scrolled/package/frontend/inlineEditing.css +1 -0
- data/entry_types/scrolled/package/frontend/useContentElementEditorState-a084912e.js +25 -0
- data/entry_types/scrolled/package/frontend/useDelayedBoolean-a387d85b.js +24 -0
- data/entry_types/scrolled/package/frontend/usePhonePlatform-4ecb96d4.js +8 -0
- data/entry_types/scrolled/package/frontend/usePhonePlatform-ce9ff08d.js +8 -0
- data/entry_types/scrolled/package/frontend-server.js +20 -210
- data/entry_types/scrolled/package/package.json +22 -12
- data/entry_types/scrolled/package/review.css +1 -0
- data/entry_types/scrolled/package/review.js +3306 -0
- data/entry_types/scrolled/package/testHelpers.js +952 -239
- data/entry_types/scrolled/package/values/widgets.module.css +18 -0
- data/entry_types/scrolled/package/widgets/consentBar.css +1 -1
- data/entry_types/scrolled/package/widgets/consentBar.js +275 -315
- data/entry_types/scrolled/package/widgets/defaultNavigation.css +2 -2
- data/entry_types/scrolled/package/widgets/defaultNavigation.js +961 -432
- data/entry_types/scrolled/package/widgets/excursionSheet.css +1 -0
- data/entry_types/scrolled/package/widgets/excursionSheet.js +225 -0
- data/entry_types/scrolled/package/widgets/iconInlineFileRights.css +1 -1
- data/entry_types/scrolled/package/widgets/iconInlineFileRights.js +62 -32
- data/entry_types/scrolled/package/widgets/iconScrollIndicator.css +1 -0
- data/entry_types/scrolled/package/widgets/iconScrollIndicator.js +67 -0
- data/entry_types/scrolled/package/widgets/mainStorylineSheet.css +1 -0
- data/entry_types/scrolled/package/widgets/mainStorylineSheet.js +100 -0
- data/entry_types/scrolled/package/widgets/textInlineFileRights.css +1 -1
- data/entry_types/scrolled/package/widgets/textInlineFileRights.js +48 -26
- data/entry_types/scrolled/package/widgets-server.js +2 -0
- data/entry_types/scrolled/spec/factories/chapters.rb +14 -1
- data/entry_types/scrolled/spec/factories/content_elements.rb +1 -1
- data/entry_types/scrolled/spec/factories/lottie_files.rb +29 -0
- data/entry_types/scrolled/spec/fixtures/animation.lottie +0 -0
- data/entry_types/scrolled/spec/fixtures/font.woff +0 -0
- data/entry_types/scrolled/spec/fixtures/font.woff2 +0 -0
- data/lib/generators/pageflow/active_admin_initializer/active_admin_initializer_generator.rb +5 -3
- data/lib/generators/pageflow/assets/assets_generator.rb +7 -5
- data/lib/generators/pageflow/cancan/cancan_generator.rb +2 -1
- data/lib/generators/pageflow/cancan/templates/ability.rb +1 -1
- data/lib/generators/pageflow/error_pages/error_pages_generator.rb +2 -1
- data/lib/generators/pageflow/initializer/initializer_generator.rb +3 -2
- data/lib/generators/pageflow/install/install_generator.rb +2 -2
- data/lib/generators/pageflow/procfile/procfile_generator.rb +2 -1
- data/lib/generators/pageflow/resque/resque_generator.rb +4 -4
- data/lib/generators/pageflow/resque/templates/resque.rake +1 -1
- data/lib/generators/pageflow/routes/routes_generator.rb +4 -2
- data/lib/generators/pageflow/seeds/seeds_generator.rb +3 -2
- data/lib/generators/pageflow/seeds/templates/seeds.rb +6 -6
- data/lib/generators/pageflow/theme/theme_generator.rb +2 -1
- data/lib/generators/pageflow/user/user_generator.rb +2 -1
- data/lib/pageflow/ability_mixin.rb +25 -15
- data/lib/pageflow/active_admin_patches/views/attributes_table.rb +1 -0
- data/lib/pageflow/active_admin_patches/views/pages/base.rb +3 -2
- data/lib/pageflow/active_admin_patches/views/table_for.rb +1 -0
- data/lib/pageflow/additional_headers.rb +27 -0
- data/lib/pageflow/admin/attributes_table_rows.rb +3 -3
- data/lib/pageflow/admin/tabs.rb +1 -1
- data/lib/pageflow/built_in_file_type.rb +1 -1
- data/lib/pageflow/built_in_page_types_plugin.rb +1 -1
- data/lib/pageflow/built_in_widget_type.rb +2 -2
- data/lib/pageflow/built_in_widget_types_plugin.rb +2 -1
- data/lib/pageflow/configuration.rb +183 -18
- data/lib/pageflow/cutoff_modes.rb +39 -0
- data/lib/pageflow/deprecation.rb +19 -0
- data/lib/pageflow/editor_controller.rb +6 -10
- data/lib/pageflow/engine.rb +5 -6
- data/lib/pageflow/entries_controller_env_helper.rb +32 -2
- data/lib/pageflow/entry_export_import/attachment_files.rb +1 -1
- data/lib/pageflow/entry_export_import/entry_serialization.rb +9 -8
- data/lib/pageflow/entry_export_import/file_mappings.rb +1 -0
- data/lib/pageflow/entry_export_import/page_type_versions.rb +2 -2
- data/lib/pageflow/entry_export_import/revision_serialization/import.rb +11 -1
- data/lib/pageflow/entry_export_import/revision_serialization.rb +3 -0
- data/lib/pageflow/entry_export_import.rb +3 -3
- data/lib/pageflow/entry_structured_data_types.rb +43 -0
- data/lib/pageflow/entry_type_configuration.rb +1 -0
- data/lib/pageflow/entry_types.rb +2 -2
- data/lib/pageflow/feature.rb +1 -1
- data/lib/pageflow/features.rb +4 -6
- data/lib/pageflow/file_importers.rb +4 -4
- data/lib/pageflow/file_type.rb +5 -5
- data/lib/pageflow/file_types.rb +4 -4
- data/lib/pageflow/global_config_api.rb +5 -6
- data/lib/pageflow/help_entries.rb +7 -7
- data/lib/pageflow/help_entry.rb +1 -1
- data/lib/pageflow/hooks.rb +1 -1
- data/lib/pageflow/nested_revision_component.rb +9 -27
- data/lib/pageflow/news_item_api.rb +1 -1
- data/lib/pageflow/oembed_providers.rb +42 -0
- data/lib/pageflow/page_type.rb +2 -3
- data/lib/pageflow/page_types.rb +3 -3
- data/lib/pageflow/paperclip_interpolations/support.rb +1 -1
- data/lib/pageflow/paperclip_processors/vtt.rb +1 -0
- data/lib/pageflow/paperclip_processors/webp.rb +2 -2
- data/lib/pageflow/partial_editor_fragment_renderer.rb +2 -2
- data/lib/pageflow/plugin.rb +1 -2
- data/lib/pageflow/primary_domain_entry_redirect.rb +6 -0
- data/lib/pageflow/quota.rb +9 -5
- data/lib/pageflow/quotas.rb +1 -1
- data/lib/pageflow/rails_version.rb +14 -2
- data/lib/pageflow/react.rb +1 -1
- data/lib/pageflow/revision_component.rb +8 -40
- data/lib/pageflow/revision_components.rb +16 -6
- data/lib/pageflow/seeds.rb +12 -16
- data/lib/pageflow/theme.rb +1 -1
- data/lib/pageflow/theme_customizations.rb +10 -10
- data/lib/pageflow/themes.rb +44 -3
- data/lib/pageflow/user_mixin.rb +18 -6
- data/lib/pageflow/version.rb +1 -1
- data/lib/pageflow/widget_type.rb +4 -4
- data/lib/pageflow/widget_types.rb +9 -9
- data/lib/pageflow/zencoder_api.rb +32 -42
- data/lib/pageflow/zencoder_audio_output_definition.rb +14 -13
- data/lib/pageflow/zencoder_meta_data_output_definition.rb +3 -2
- data/lib/pageflow/zencoder_output_definition.rb +16 -14
- data/lib/pageflow/zencoder_video_output_definition.rb +140 -88
- data/lib/pageflow.rb +8 -2
- data/lib/tasks/pageflow_tasks.rake +1 -1
- data/package/config/eslint-rules/documented-in-toc.js +125 -0
- data/package/config/jest/index.js +0 -1
- data/package/config/webpack.js +0 -1
- data/package/config/webpack5.js +0 -1
- data/package/editor.js +4880 -2313
- data/package/frontend.js +710 -1223
- data/package/package.json +3 -1
- data/package/review.js +384 -0
- data/package/testHelpers.js +257 -243
- data/package/ui.js +1487 -813
- data/package/vendor/stubs/wysihtml5.js +2 -0
- data/spec/factories/accounts.rb +37 -22
- data/spec/factories/audio_files.rb +2 -2
- data/spec/factories/authentication_tokens.rb +4 -4
- data/spec/factories/chapters.rb +4 -4
- data/spec/factories/comment_thread_reads.rb +10 -0
- data/spec/factories/comment_threads.rb +10 -0
- data/spec/factories/comments.rb +9 -0
- data/spec/factories/draft_entries.rb +14 -6
- data/spec/factories/edit_locks.rb +1 -1
- data/spec/factories/entries.rb +28 -19
- data/spec/factories/entry_translation_groups.rb +6 -0
- data/spec/factories/file_folders.rb +8 -0
- data/spec/factories/file_usages.rb +2 -1
- data/spec/factories/folders.rb +1 -1
- data/spec/factories/image_files.rb +2 -2
- data/spec/factories/pages.rb +3 -3
- data/spec/factories/published_entries.rb +28 -8
- data/spec/factories/revisions.rb +1 -1
- data/spec/factories/sites.rb +6 -0
- data/spec/factories/test_multi_attachment_files.rb +1 -1
- data/spec/factories/text_track_files.rb +1 -1
- data/spec/factories/uploadable_files.rb +1 -1
- data/spec/factories/users.rb +6 -6
- data/spec/factories/video_files.rb +2 -2
- data/spec/factories/widgets.rb +1 -1
- data/spec/fixtures/7x15_rotated.jpg +0 -0
- data/vendor/assets/javascripts/wysihtml-toolbar.js +19288 -0
- metadata +266 -92
- data/app/assets/stylesheets/pageflow/editor/select_button.scss +0 -51
- data/config/initializers/revision_components.rb +0 -5
- data/config/locales/twitter_to_x.de.yml +0 -6
- data/config/locales/twitter_to_x.en.yml +0 -6
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/generated_media_queries_helper.rb +0 -55
- data/entry_types/scrolled/config/locales/twitter_to_x.de.yml +0 -12
- data/entry_types/scrolled/config/locales/twitter_to_x.en.yml +0 -12
- data/entry_types/scrolled/config/locales/vr_image_projection.de.yml +0 -24
- data/entry_types/scrolled/config/locales/vr_image_projection.en.yml +0 -24
- data/entry_types/scrolled/package/frontend/EditableInlineText.module-ebd22921.js +0 -5497
- data/entry_types/scrolled/package/frontend/ToggleFullscreenCornerButton-b79159cc.js +0 -107
- data/entry_types/scrolled/package/frontend/Viewer-1ecf3375.js +0 -154
- data/entry_types/scrolled/package/frontend/Wavesurfer-7d9cf1b7.js +0 -333
- data/entry_types/scrolled/package/frontend/arrowRight-62998af9.js +0 -77
- data/entry_types/scrolled/package/frontend/components-024a9893.js +0 -2853
- data/entry_types/scrolled/package/frontend/createSuper-d0f30da3.js +0 -115
- data/entry_types/scrolled/package/frontend/i18n-ce13a8bf.js +0 -1129
- data/entry_types/scrolled/package/frontend/useContentElementEditorState-4f4c3cf6.js +0 -52
- data/lib/generators/pageflow/resque/templates/resque_enqueue_after_commit_patch.rb +0 -25
- data/package/vendor/jquery.minicolors.js +0 -1108
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
xml.instruct!
|
|
2
|
-
xml.urlset xmlns: 'http://www.sitemaps.org/schemas/sitemap/0.9'
|
|
2
|
+
xml.urlset xmlns: 'http://www.sitemaps.org/schemas/sitemap/0.9',
|
|
3
|
+
'xmlns:xhtml': 'http://www.w3.org/1999/xhtml' do
|
|
3
4
|
@entries.each do |entry|
|
|
4
5
|
xml.url do
|
|
5
6
|
xml.loc(social_share_entry_url(entry))
|
|
6
7
|
xml.lastmod(entry.published_at.utc.xmlschema)
|
|
8
|
+
|
|
9
|
+
entry.translations.each do |translation|
|
|
10
|
+
xml.tag!('xhtml:link',
|
|
11
|
+
rel: 'alternate',
|
|
12
|
+
hreflang: translation.locale,
|
|
13
|
+
href: social_share_entry_url(translation))
|
|
14
|
+
end
|
|
7
15
|
end
|
|
8
16
|
end
|
|
9
17
|
end
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<%= tag :meta, property: "og:title", content: pretty_entry_title(entry) %>
|
|
6
6
|
<%= tag :meta, property: "og:description", name: "description", content: social_share_entry_description(entry) %>
|
|
7
7
|
<%= tag :meta, property: "og:url", content: social_share_entry_url(entry) %>
|
|
8
|
-
<%= tag :meta, property: "og:site_name", content: entry.site.
|
|
8
|
+
<%= tag :meta, property: "og:site_name", content: entry.site.display_title %>
|
|
9
9
|
<%= tag :meta, property: "og:type", content: "website" %>
|
|
10
10
|
|
|
11
11
|
<%= tag :meta, name: "twitter:card", content: "summary_large_image" %>
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<%= tag :meta, property: "og:title", content: social_share_page_title(page) %>
|
|
6
6
|
<%= tag :meta, property: "og:description", name: "description", content: social_share_page_description(entry, page) %>
|
|
7
7
|
<%= tag :meta, property: "og:url", content: social_share_page_url(entry, page) %>
|
|
8
|
-
<%= tag :meta, property: "og:site_name", content: entry.site.
|
|
8
|
+
<%= tag :meta, property: "og:site_name", content: entry.site.display_title %>
|
|
9
9
|
<%= tag :meta, property: "og:type", content: "website" %>
|
|
10
10
|
|
|
11
11
|
<%= tag :meta, name: "twitter:card", content: "summary_large_image" %>
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
json.key_format!(camelize: :lower)
|
|
2
2
|
|
|
3
3
|
json.set! '@context', 'http://schema.org'
|
|
4
|
-
|
|
4
|
+
|
|
5
|
+
json.merge! custom_properties
|
|
5
6
|
|
|
6
7
|
json.headline pretty_entry_title(entry)
|
|
7
8
|
json.url structured_data_normalize_protocol(social_share_entry_url(entry))
|
|
@@ -30,8 +31,6 @@ end
|
|
|
30
31
|
json.date_published entry.first_published_at.try(:utc).try(:iso8601, 0)
|
|
31
32
|
json.date_modified entry.published_at.try(:utc).try(:iso8601, 0)
|
|
32
33
|
|
|
33
|
-
json.article_section 'longform'
|
|
34
|
-
|
|
35
34
|
json.main_entity_of_page do
|
|
36
35
|
json.set! '@type', 'WebPage'
|
|
37
36
|
json.set! '@id', structured_data_normalize_protocol(social_share_entry_url(entry))
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
Rails.application.config.to_prepare do
|
|
2
|
-
ActiveAdmin::Views::AttributesTable.
|
|
3
|
-
Pageflow::ActiveAdminPatches::Views::AttributesTable)
|
|
2
|
+
ActiveAdmin::Views::AttributesTable.include Pageflow::ActiveAdminPatches::Views::AttributesTable
|
|
4
3
|
|
|
5
|
-
ActiveAdmin::Views::TableFor.
|
|
6
|
-
Pageflow::ActiveAdminPatches::Views::TableFor)
|
|
4
|
+
ActiveAdmin::Views::TableFor.include Pageflow::ActiveAdminPatches::Views::TableFor
|
|
7
5
|
|
|
8
|
-
ActiveAdmin::Views::Pages::Base.
|
|
9
|
-
Pageflow::ActiveAdminPatches::Views::Pages::Base)
|
|
6
|
+
ActiveAdmin::Views::Pages::Base.include Pageflow::ActiveAdminPatches::Views::Pages::Base
|
|
10
7
|
end
|
|
@@ -5,6 +5,9 @@ Pageflow.configure do |config|
|
|
|
5
5
|
config.admin_resource_tabs.register(:entry,
|
|
6
6
|
name: :revisions,
|
|
7
7
|
component: Pageflow::Admin::RevisionsTab)
|
|
8
|
+
config.admin_resource_tabs.register(:entry,
|
|
9
|
+
name: :translations,
|
|
10
|
+
component: Pageflow::Admin::EntryTranslationsTab)
|
|
8
11
|
|
|
9
12
|
config.admin_resource_tabs.register(:user,
|
|
10
13
|
name: :accounts,
|
|
@@ -3,7 +3,7 @@ require 'symmetric_encryption/core'
|
|
|
3
3
|
Pageflow.after_global_configure do |config|
|
|
4
4
|
SymmetricEncryption.cipher = SymmetricEncryption::Cipher.new(
|
|
5
5
|
key: config.encryption_options[:key],
|
|
6
|
-
iv:
|
|
6
|
+
iv: config.encryption_options[:iv],
|
|
7
7
|
cipher_name: 'aes-128-cbc'
|
|
8
8
|
)
|
|
9
9
|
end
|
|
@@ -2,47 +2,58 @@ require 'zencoder'
|
|
|
2
2
|
|
|
3
3
|
Pageflow.after_global_configure do |config|
|
|
4
4
|
zencoder_options = config.zencoder_options
|
|
5
|
-
zencoder_options.reverse_merge!(:
|
|
5
|
+
zencoder_options.reverse_merge!(attachments_version: 'v1')
|
|
6
6
|
|
|
7
|
-
Zencoder.api_key = zencoder_options.fetch(:api_key)
|
|
7
|
+
Zencoder.api_key = zencoder_options.fetch(:api_key) do
|
|
8
|
+
raise 'Missing api_key option in Pageflow.config.zencoder_options.'
|
|
9
|
+
end
|
|
8
10
|
|
|
9
|
-
Pageflow::ZencoderOutputDefinition.default_output_bucket_name =
|
|
11
|
+
Pageflow::ZencoderOutputDefinition.default_output_bucket_name =
|
|
12
|
+
zencoder_options.fetch(:output_bucket) do
|
|
13
|
+
raise 'Missing output_bucket option in Pageflow.config.zencoder_options.'
|
|
14
|
+
end
|
|
10
15
|
Pageflow::ZencoderOutputDefinition.default_sftp_host = zencoder_options[:sftp_host]
|
|
11
16
|
Pageflow::ZencoderOutputDefinition.default_akamai_host = zencoder_options[:akamai_host]
|
|
12
|
-
Pageflow::ZencoderOutputDefinition.default_akamai_credentials =
|
|
17
|
+
Pageflow::ZencoderOutputDefinition.default_akamai_credentials =
|
|
18
|
+
zencoder_options[:akamai_credentials]
|
|
13
19
|
Pageflow::ZencoderVideoOutputDefinition.skip_hls = zencoder_options.fetch(:skip_hls, false)
|
|
14
20
|
Pageflow::ZencoderVideoOutputDefinition.skip_smil = zencoder_options.fetch(:skip_smil, false)
|
|
15
21
|
|
|
16
|
-
|
|
17
|
-
|
|
22
|
+
unless zencoder_options.key?(:s3_host_alias)
|
|
23
|
+
raise 'Missing s3_host_alias option in Pageflow.config.zencoder_options.'
|
|
24
|
+
end
|
|
25
|
+
unless zencoder_options.key?(:s3_protocol)
|
|
26
|
+
raise 'Missing s3_protocol option in Pageflow.config.zencoder_options.'
|
|
27
|
+
end
|
|
18
28
|
|
|
19
|
-
Pageflow::ZencoderAttachment.default_options.merge!(zencoder_options.slice(:path, :url, :hls_url,
|
|
29
|
+
Pageflow::ZencoderAttachment.default_options.merge!(zencoder_options.slice(:path, :url, :hls_url,
|
|
30
|
+
:hls_origin_url))
|
|
20
31
|
end
|
|
21
32
|
|
|
22
|
-
Paperclip.interpolates(:zencoder_host_alias) do |
|
|
33
|
+
Paperclip.interpolates(:zencoder_host_alias) do |_attachment, _style|
|
|
23
34
|
Pageflow.config.zencoder_options.fetch(:s3_host_alias)
|
|
24
35
|
end
|
|
25
36
|
|
|
26
|
-
Paperclip.interpolates(:zencoder_hls_host_alias) do |
|
|
37
|
+
Paperclip.interpolates(:zencoder_hls_host_alias) do |_attachment, _style|
|
|
27
38
|
Pageflow.config.zencoder_options[:hls_host_alias] ||
|
|
28
39
|
Pageflow.config.zencoder_options.fetch(:s3_host_alias)
|
|
29
40
|
end
|
|
30
41
|
|
|
31
|
-
Paperclip.interpolates(:zencoder_hls_origin_host_alias) do |
|
|
42
|
+
Paperclip.interpolates(:zencoder_hls_origin_host_alias) do |_attachment, _style|
|
|
32
43
|
Pageflow.config.zencoder_options[:hls_origin_host_alias] ||
|
|
33
44
|
Pageflow.config.zencoder_options.fetch(:s3_host_alias)
|
|
34
45
|
end
|
|
35
46
|
|
|
36
|
-
Paperclip.interpolates(:zencoder_protocol) do |
|
|
47
|
+
Paperclip.interpolates(:zencoder_protocol) do |_attachment, _style|
|
|
37
48
|
protocol = Pageflow.config.zencoder_options.fetch(:s3_protocol)
|
|
38
49
|
protocol.empty? ? protocol : "#{protocol}:"
|
|
39
50
|
end
|
|
40
51
|
|
|
41
|
-
Paperclip.interpolates(:zencoder_asset_version) do |
|
|
52
|
+
Paperclip.interpolates(:zencoder_asset_version) do |_attachment, _style|
|
|
42
53
|
Pageflow.config.zencoder_options.fetch(:attachments_version)
|
|
43
54
|
end
|
|
44
55
|
|
|
45
|
-
Paperclip.interpolates(:zencoder_path) do |attachment,
|
|
56
|
+
Paperclip.interpolates(:zencoder_path) do |attachment, _style|
|
|
46
57
|
attachment.path
|
|
47
58
|
end
|
|
48
59
|
|
data/config/locales/de.yml
CHANGED
|
@@ -142,6 +142,9 @@ de:
|
|
|
142
142
|
recommendation: Wir empfehlen ein Update des Browsers auf eine aktuelle Version von <a href="http://windows.microsoft.com/ie">Internet Explorer</a>, <a href="https://chrome.google.com/">Google Chrome</a>, oder <a href="https://mozilla.org/firefox/">Firefox</a>.
|
|
143
143
|
turn_off_compatibility_view: Internet Explorer Version 9 und niedriger sind nicht unterstützt.
|
|
144
144
|
view: Anzeigen
|
|
145
|
+
resources:
|
|
146
|
+
translations:
|
|
147
|
+
new_model: Übersetzung zuordnen
|
|
145
148
|
activerecord:
|
|
146
149
|
attributes:
|
|
147
150
|
admin_user:
|
|
@@ -179,7 +182,9 @@ de:
|
|
|
179
182
|
account: Konto
|
|
180
183
|
author: Autor
|
|
181
184
|
created_at: Erstellt
|
|
185
|
+
folder: Ordner
|
|
182
186
|
credits: Credits
|
|
187
|
+
structured_data_type_name: Strukturierter Datentyp
|
|
183
188
|
edited_at: Geändert
|
|
184
189
|
embed_code: Einbetten
|
|
185
190
|
first_published_at: Erstmals veröffentlicht am
|
|
@@ -279,6 +284,8 @@ de:
|
|
|
279
284
|
share_providers: Standard Share Links
|
|
280
285
|
sitemap_enabled: XML-Sitemap
|
|
281
286
|
title: Titel
|
|
287
|
+
custom_404_entry_id: "Benutzerdefinierte 404-Seite"
|
|
288
|
+
cutoff_mode_name: "Cutoff-Modus"
|
|
282
289
|
pageflow/text_track_file:
|
|
283
290
|
kind: Art
|
|
284
291
|
label: Label
|
|
@@ -370,6 +377,11 @@ de:
|
|
|
370
377
|
attributes:
|
|
371
378
|
user:
|
|
372
379
|
required: Benutzer muss ausgewählt sein
|
|
380
|
+
pageflow/site:
|
|
381
|
+
attributes:
|
|
382
|
+
attribute_translations:
|
|
383
|
+
not_translatable: enthält ein Attribut, das nicht übersetzt werden kann
|
|
384
|
+
unknown_locale: enthält eine unbekannte Sprache
|
|
373
385
|
models:
|
|
374
386
|
account:
|
|
375
387
|
one: Konto
|
|
@@ -431,6 +443,9 @@ de:
|
|
|
431
443
|
user:
|
|
432
444
|
one: Nutzer
|
|
433
445
|
other: Nutzer
|
|
446
|
+
translation:
|
|
447
|
+
one: Übersetzung
|
|
448
|
+
other: Übersetzungen
|
|
434
449
|
values:
|
|
435
450
|
pageflow/chapter:
|
|
436
451
|
navigation_bar_mode:
|
|
@@ -452,6 +467,9 @@ de:
|
|
|
452
467
|
linked_in: LinkedIn
|
|
453
468
|
telegram: Telegram (nur Mobilgeräte)
|
|
454
469
|
whats_app: WhatsApp (nur Mobilgeräte)
|
|
470
|
+
bluesky: Bluesky
|
|
471
|
+
threads: Threads
|
|
472
|
+
twitter: X
|
|
455
473
|
type_names:
|
|
456
474
|
paged: Seitenbasiert / klassisch
|
|
457
475
|
scrolled: Kontinuierlich scrollend / Pageflow Next
|
|
@@ -506,7 +524,7 @@ de:
|
|
|
506
524
|
- Fr
|
|
507
525
|
- Sa
|
|
508
526
|
abbr_month_names:
|
|
509
|
-
-
|
|
527
|
+
-
|
|
510
528
|
- Jan
|
|
511
529
|
- Feb
|
|
512
530
|
- Mär
|
|
@@ -532,7 +550,7 @@ de:
|
|
|
532
550
|
long: "%e. %B %Y"
|
|
533
551
|
short: "%e. %b"
|
|
534
552
|
month_names:
|
|
535
|
-
-
|
|
553
|
+
-
|
|
536
554
|
- Januar
|
|
537
555
|
- Februar
|
|
538
556
|
- März
|
|
@@ -810,6 +828,20 @@ de:
|
|
|
810
828
|
site_defaults_inline_help: Die folgenden Einstellungen werden als Standard für neue Beiträge des Kontos verwendet. Änderungen wirken sich nicht auf existierende Beiträge aus.
|
|
811
829
|
entries:
|
|
812
830
|
add_folder: Ordner hinzufügen
|
|
831
|
+
comments:
|
|
832
|
+
tooltip: "Kommentare: %{summary}"
|
|
833
|
+
topic_count:
|
|
834
|
+
one: 1 ungelöstes Thema
|
|
835
|
+
other: "%{count} ungelöste Themen"
|
|
836
|
+
unread_reply_count:
|
|
837
|
+
one: 1 ungelesene Antwort
|
|
838
|
+
other: "%{count} ungelesene Antworten"
|
|
839
|
+
unread_resolution_count:
|
|
840
|
+
one: 1 neu gelöstes Thema
|
|
841
|
+
other: "%{count} neu gelöste Themen"
|
|
842
|
+
unread_topic_count:
|
|
843
|
+
one: 1 ungelesenes Thema
|
|
844
|
+
other: "%{count} ungelesene Themen"
|
|
813
845
|
confirm_depublish: Soll der Beitrag wirklich depubliziert werden?
|
|
814
846
|
confirm_duplicate: Beitrag wirklich duplizieren?
|
|
815
847
|
confirm_restore: Soll der Beitrag wirklich auf den Stand dieser Revision zurückgesetzt werden? Vor dem Zurücksetzen wird eine automatische Sicherung des aktuellen Standes erstellt.
|
|
@@ -853,6 +885,10 @@ de:
|
|
|
853
885
|
show_public_hint: Öffentliche Seite anzeigen
|
|
854
886
|
snapshot: Aktuellen Stand sichern
|
|
855
887
|
title_hint: Dieses Feld bestimmt die URL, unter der der Beitrag öffentlich erreichbar ist.
|
|
888
|
+
permalink_hint: |-
|
|
889
|
+
Wenn der Permalink geändert wird, nachdem der Beitrag
|
|
890
|
+
bereits veröffentlicht wurde, wird automatisch eine
|
|
891
|
+
Weiterleitung von der alten URL zur neuen URL eingerichtet.
|
|
856
892
|
entry:
|
|
857
893
|
add: Beitrag hinzufügen
|
|
858
894
|
entry_membership_hint: Laden Sie Benutzer in Ihr Konto ein, um sie als Mitglieder dieser Story zuzuweisen.
|
|
@@ -890,6 +926,7 @@ de:
|
|
|
890
926
|
revisions: Revisionen
|
|
891
927
|
sites: Sites
|
|
892
928
|
users: Benutzer
|
|
929
|
+
translations: Übersetzungen
|
|
893
930
|
revisions:
|
|
894
931
|
published_until_hint: Freilassen, um Beitrag unbegrenzt zu veröffentlichen.
|
|
895
932
|
restored: Revision wiederhergestellt
|
|
@@ -908,7 +945,6 @@ de:
|
|
|
908
945
|
https://%{site_host}/feeds/de.atom zu Verfügung, wobei "en"
|
|
909
946
|
durch ein beliebiges Sprachkürzel ersetzt werden kann, nach
|
|
910
947
|
dem gefiltert werden soll.
|
|
911
|
-
home_url_hint: Wird einer der obigen CNAMES ohne Pfad in der URL verwendet, wird zu dieser URL umgeleitet. Standard Link Ziel des Home Buttons.
|
|
912
948
|
name: "%{account_name}"
|
|
913
949
|
remove_logo: Logo entfernen
|
|
914
950
|
show: Anzeigen
|
|
@@ -920,6 +956,25 @@ de:
|
|
|
920
956
|
title_hint: |-
|
|
921
957
|
Wird in Titeln der Beiträge und als Titel für den Atom-Feed
|
|
922
958
|
verwendet.
|
|
959
|
+
custom_404_entry:
|
|
960
|
+
none: "(Standard 404-Seite verwenden)"
|
|
961
|
+
hint: "Wählen Sie einen Eintrag aus, der als benutzerdefinierte 404-Seite angezeigt werden soll. Nur veröffentlichte Einträge ohne Passwortschutz sind verfügbar."
|
|
962
|
+
home_url_new_site_hint: |
|
|
963
|
+
Wird einer der obigen CNAMES ohne Pfad in der URL verwendet,
|
|
964
|
+
wird zu dieser URL umgeleitet. Nachdem die Site erstellt
|
|
965
|
+
wurde kann auch ein Beitrag als Einstiegsseite konfiguriert
|
|
966
|
+
werden.
|
|
967
|
+
home_url_hint_html: |
|
|
968
|
+
Wird einer der obigen CNAMES ohne Pfad in der URL verwendet,
|
|
969
|
+
wird zu dieser URL umgeleitet.
|
|
970
|
+
Alternativ kannst du auch einen Beitrag als Einstiegsseite
|
|
971
|
+
verwenden. <a href="%{choose_url}">Bestehenden Beitrag auswählen</a>
|
|
972
|
+
oder <a href="%{new_url}">neuen Beitrag erstellen</a>.
|
|
973
|
+
home_url_with_root_entry_hint_html: |
|
|
974
|
+
Im Moment wird der Beitrag <a
|
|
975
|
+
href="%{entry_url}">%{entry_title}</a> als Einstiegsseite
|
|
976
|
+
verwendet. Ändere den Permalink des Beitrags, um stattdessen
|
|
977
|
+
die Redirect URL zu verwenden.
|
|
923
978
|
user:
|
|
924
979
|
cannot_add: Was Sie tun möchten, ist nicht möglich. Sie müssen aktualisieren.
|
|
925
980
|
none_addable_tooltip: Kein Benutzer verfügbar
|
|
@@ -997,6 +1052,43 @@ de:
|
|
|
997
1052
|
suspended: Der Benutzer wurde gesperrt. Er kann sich nun nicht mehr anmelden.
|
|
998
1053
|
unsuspend: Entsperren
|
|
999
1054
|
unsuspended: Der Benutzer wurde entsperrt. Er kann sich nun wieder anmelden.
|
|
1055
|
+
entry_translations:
|
|
1056
|
+
add: Übersetzung zuordnen
|
|
1057
|
+
generate: Übersetzung generieren
|
|
1058
|
+
entry_id: Beitrag
|
|
1059
|
+
id: Übersetzung(en)
|
|
1060
|
+
new_hint_html: |-
|
|
1061
|
+
Verknüpfe Beiträge, die denselben Inhalt in verschiedenen
|
|
1062
|
+
Sprachen darstellen.
|
|
1063
|
+
create_model: Als Übersetzung zuordnen
|
|
1064
|
+
no_translations: Keine Beiträge zugeordnet
|
|
1065
|
+
remove: Entfernen
|
|
1066
|
+
remove_confirmation: |-
|
|
1067
|
+
Beitrag wirklich aus der Liste der Übersetzungen entfernen?
|
|
1068
|
+
mark_as_default: Als Standard markieren
|
|
1069
|
+
mark_as_default_confirmation: |-
|
|
1070
|
+
Beitrag wirklich as Standardübersetzung markieren?
|
|
1071
|
+
default_translation: "%{display_locale} (Standard)"
|
|
1072
|
+
default_translation_hint: |-
|
|
1073
|
+
Suchmaschinen verwenden den als Standard markierten Beitrag,
|
|
1074
|
+
falls keine Übersetzung verfügbar ist, die den
|
|
1075
|
+
Spracheinstellungen des Besuchers entspricht.
|
|
1076
|
+
site_root_entry:
|
|
1077
|
+
title: Einstiegsseite festlegen
|
|
1078
|
+
intro_html: |
|
|
1079
|
+
<p>Wähle den Beitrag aus, der als Einstiegsseite unter der
|
|
1080
|
+
folgenden URL gezeigt werden soll:
|
|
1081
|
+
<strong>https://%{site_host}/</strong><br>Dieser Inhalt
|
|
1082
|
+
wird gezeigt, wenn die Domain der Site ohne weiteren Pfad
|
|
1083
|
+
aufgerufen wird.</p>
|
|
1084
|
+
hint: |
|
|
1085
|
+
Der Permalink des Beitrags wird automatisch angepasst. Falls
|
|
1086
|
+
der Beitrag bereits veröffentlicht wurde, wird eine
|
|
1087
|
+
Weiterleitung von der alten URL zur neuen URL eingerichtet.
|
|
1088
|
+
submit: Als Einstiegsseite festlegen
|
|
1089
|
+
chosen: Der Beitrag wurde als Einstiegsseite festgelegt.
|
|
1090
|
+
root_permalink_directory_required: Für diese Seite wurde noch kein Permalink-Verzeichnis angelegt.
|
|
1091
|
+
root_entry_exists: Es existiert bereits ein Beitrag, der als Einstiegsseite verwendet wird.
|
|
1000
1092
|
audio:
|
|
1001
1093
|
help_entries:
|
|
1002
1094
|
page_type:
|
|
@@ -1107,6 +1199,11 @@ de:
|
|
|
1107
1199
|
entries:
|
|
1108
1200
|
unsupported_browser_hint:
|
|
1109
1201
|
message: Die Version Ihres Browsers wird vom Pageflow Editor nicht unterstützt. Bitte benutzen Sie einen aktuellen Browser.
|
|
1202
|
+
entry_structured_data_types:
|
|
1203
|
+
article:
|
|
1204
|
+
label: Artikel
|
|
1205
|
+
faq_page:
|
|
1206
|
+
label: FAQ-Seite
|
|
1110
1207
|
errors:
|
|
1111
1208
|
UnmatchedUploadError: Der Dateityp wird nicht unterstützt.
|
|
1112
1209
|
invalid_nested_type_error: 'Fehler: Upload-Datei ''%{name}'' ist eine %{type}. Es sind nur folgende Arten von Dateien erlaubt: %{validList}'
|
|
@@ -1120,18 +1217,39 @@ de:
|
|
|
1120
1217
|
video_settings_tab: Video-Details
|
|
1121
1218
|
files:
|
|
1122
1219
|
common_attributes:
|
|
1220
|
+
ai_indicator:
|
|
1221
|
+
blank: "(Nicht angegeben)"
|
|
1222
|
+
inline_help: |-
|
|
1223
|
+
Kennzeichne, dass die Datei mit künstlicher Intelligenz
|
|
1224
|
+
erzeugt oder verändert wurde. Wird als EU-KI-Label an
|
|
1225
|
+
der Stelle im Beitrag angezeigt, wo die Datei verwendet
|
|
1226
|
+
wird.
|
|
1227
|
+
label: KI-Kennzeichnung
|
|
1228
|
+
values:
|
|
1229
|
+
ai_generated: Vollständig KI-generiert
|
|
1230
|
+
ai_modified: Teilweise KI-modifiziert
|
|
1231
|
+
ai_indicator_text:
|
|
1232
|
+
inline_help: |-
|
|
1233
|
+
Erläutert, welche Teile der Datei mit künstlicher
|
|
1234
|
+
Intelligenz erzeugt oder verändert wurden.
|
|
1235
|
+
label: Text der KI-Kennzeichnung
|
|
1123
1236
|
alt:
|
|
1124
1237
|
inline_help: Ein Hinweis darauf, was in dem dargestellten Element zum Ausdruck kommt. Der Text ist im Beitrag nicht sichtbar, kann aber von Screen-Readern verarbeitet werden und trägt somit zur barrierearmen Gestaltung der Inhalte bei.
|
|
1125
1238
|
label: Alt-Text
|
|
1126
1239
|
file_name:
|
|
1127
1240
|
column_header: Dateiname
|
|
1128
1241
|
label: Dateiname
|
|
1242
|
+
display_name:
|
|
1243
|
+
column_header: Dateiname
|
|
1244
|
+
label: Dateiname
|
|
1129
1245
|
license:
|
|
1130
1246
|
blank: "(Nicht angegeben)"
|
|
1131
1247
|
inline_help: Fügt der Rechteangabe im Beitrag einen Link zur Lizenz hinzu.
|
|
1132
1248
|
label: Lizenz
|
|
1133
1249
|
original_url:
|
|
1134
1250
|
label: Original
|
|
1251
|
+
download_url:
|
|
1252
|
+
label: Download
|
|
1135
1253
|
rights:
|
|
1136
1254
|
cell_title:
|
|
1137
1255
|
blank: Noch nicht ausgefüllt
|
|
@@ -1186,6 +1304,11 @@ de:
|
|
|
1186
1304
|
failed: Fehler beim übertragen zu S3.
|
|
1187
1305
|
finished: Erfolgreich zu S3 übertragen.
|
|
1188
1306
|
pending: Noch nicht zu S3 übertragen.
|
|
1307
|
+
singular:
|
|
1308
|
+
audio_files: Audio-Datei
|
|
1309
|
+
image_files: Bild
|
|
1310
|
+
other_files: Datei
|
|
1311
|
+
video_files: Video
|
|
1189
1312
|
tabs:
|
|
1190
1313
|
audio_files: Audios
|
|
1191
1314
|
image_files: Bilder
|
|
@@ -1303,11 +1426,18 @@ de:
|
|
|
1303
1426
|
entry_preview:
|
|
1304
1427
|
navigation_disabled_hint: Seitenwechsel sind innerhalb der Phone Vorschau nicht möglich.
|
|
1305
1428
|
file_item:
|
|
1306
|
-
|
|
1429
|
+
actions: Aktionen
|
|
1430
|
+
cancel_upload: Upload abbrechen
|
|
1307
1431
|
confirm: Überprüfen und bestätigen
|
|
1308
1432
|
credits: Rechte
|
|
1309
1433
|
destroy: Löschen
|
|
1310
1434
|
download: Herunterladen
|
|
1435
|
+
expand_details: Details einblenden
|
|
1436
|
+
collapse_details: Details ausblenden
|
|
1437
|
+
move: Verschieben...
|
|
1438
|
+
reference_count:
|
|
1439
|
+
one: 1x verwendet
|
|
1440
|
+
other: "%{count}x verwendet"
|
|
1311
1441
|
retry: Erneut versuchen
|
|
1312
1442
|
select: Auswählen
|
|
1313
1443
|
settings: Einstellungen
|
|
@@ -1318,8 +1448,9 @@ de:
|
|
|
1318
1448
|
close: Schließen
|
|
1319
1449
|
files:
|
|
1320
1450
|
back: Zurück
|
|
1451
|
+
in_folder: 'Im Ordner:'
|
|
1321
1452
|
files_blank_slate:
|
|
1322
|
-
no_files: Es wurden noch keine Dateien
|
|
1453
|
+
no_files: Es wurden noch keine Dateien hochgeladen.
|
|
1323
1454
|
files_explorer:
|
|
1324
1455
|
cancel: Abbrechen
|
|
1325
1456
|
ok: Ok
|
|
@@ -1338,6 +1469,12 @@ de:
|
|
|
1338
1469
|
list_item:
|
|
1339
1470
|
edit: Bearbeiten
|
|
1340
1471
|
remove: Löschen
|
|
1472
|
+
list_search_field:
|
|
1473
|
+
placeholder: 'Dateien filtern'
|
|
1474
|
+
hint: 'Mit %{hotkey} suchen'
|
|
1475
|
+
hint_in_all_folders: 'Mit %{hotkey} in allen Ordnern suchen'
|
|
1476
|
+
hint_in_folder: 'Mit %{hotkey} in diesem Ordner suchen'
|
|
1477
|
+
reset: 'Filter zurücksetzen'
|
|
1341
1478
|
loading:
|
|
1342
1479
|
loading: Daten werden geladen.
|
|
1343
1480
|
locked:
|
|
@@ -1393,8 +1530,6 @@ de:
|
|
|
1393
1530
|
until_including: Bis einschließlich
|
|
1394
1531
|
user_name: Benutzername
|
|
1395
1532
|
view_revisions: Revisionen ansehen
|
|
1396
|
-
select_button:
|
|
1397
|
-
select: Auswählen
|
|
1398
1533
|
storyline_outline:
|
|
1399
1534
|
header: Gliederung
|
|
1400
1535
|
new_chapter: Neues Kapitel
|
|
@@ -1416,20 +1551,30 @@ de:
|
|
|
1416
1551
|
title_loading_spinner:
|
|
1417
1552
|
widget_type_info_box_text: Dies ist eine Vorschau der 'Titel und Bild'-Lade-Ansicht. Die Animation läuft ab, während der Beitrag lädt.
|
|
1418
1553
|
views:
|
|
1554
|
+
audio_file_preview_view:
|
|
1555
|
+
pause: Pause
|
|
1556
|
+
play: Abspielen
|
|
1419
1557
|
chapter_item_view:
|
|
1420
1558
|
chapter: Kapitel
|
|
1421
1559
|
unnamed: "(Unbenannt)"
|
|
1560
|
+
confirmable_file_item_view:
|
|
1561
|
+
confirm_destroy: Datei wirklich löschen?
|
|
1422
1562
|
edit_chapter_view:
|
|
1423
1563
|
confirm_destroy: |-
|
|
1424
1564
|
Kapitel einschließlich ALLER enthaltener Seiten wirklich löschen?
|
|
1425
1565
|
|
|
1426
1566
|
Dieser Schritt kann nicht rückgängig gemacht werden.
|
|
1567
|
+
destroy_menu_item:
|
|
1568
|
+
confirm_destroy: Wirklich löschen?
|
|
1569
|
+
destroy: Löschen
|
|
1427
1570
|
edit_configuration:
|
|
1428
|
-
|
|
1571
|
+
actions: Aktionen
|
|
1572
|
+
back: "Zurück"
|
|
1429
1573
|
confirm_destroy: Wirklich löschen?
|
|
1430
1574
|
destroy: Löschen
|
|
1431
1575
|
retry: Erneut versuchen
|
|
1432
1576
|
save_error: Fehler beim Speichern
|
|
1577
|
+
outline: "Gliederung"
|
|
1433
1578
|
edit_entry_view:
|
|
1434
1579
|
cannot_publish: Sie sind nicht berechtigt diesen Beitrag zu veröffentlichen.
|
|
1435
1580
|
edit_page_view:
|
|
@@ -1444,18 +1589,67 @@ de:
|
|
|
1444
1589
|
show_editor: Editorleiste einblenden
|
|
1445
1590
|
entry_preview_view:
|
|
1446
1591
|
scroll_hint: Scrollen, um weiterzulesen
|
|
1592
|
+
file_item_view:
|
|
1593
|
+
confirm_destroy: Datei wirklich löschen?
|
|
1447
1594
|
file_meta_data_item_value_view:
|
|
1448
1595
|
blank: "-"
|
|
1596
|
+
file_references:
|
|
1597
|
+
header: Verwendet in
|
|
1598
|
+
file_preview_progress_bar_view:
|
|
1599
|
+
position: Wiedergabeposition
|
|
1600
|
+
files_blank_slate_view:
|
|
1601
|
+
empty_folder: 'Dieser Ordner enthält noch keine Dateien.'
|
|
1602
|
+
no_matches: 'Keine Datei entspricht dem aktuellen Filter.'
|
|
1449
1603
|
files_view:
|
|
1450
1604
|
add: Hinzufügen
|
|
1451
1605
|
authenticating: Authentifizieren
|
|
1452
|
-
|
|
1606
|
+
folder: Neuer Ordner
|
|
1607
|
+
import: Datei importieren...
|
|
1453
1608
|
importer:
|
|
1454
1609
|
heading: Dateien importieren von
|
|
1455
|
-
reuse:
|
|
1456
|
-
|
|
1610
|
+
reuse: Datei wiederverwenden...
|
|
1611
|
+
tabs:
|
|
1612
|
+
files: Dateien
|
|
1613
|
+
upload: Datei hochladen...
|
|
1614
|
+
file_type_pills_view:
|
|
1615
|
+
group_label: 'Nach Dateityp filtern'
|
|
1616
|
+
hint: 'Dateityp anklicken, um nur dessen Dateien anzuzeigen. Mit Strg/Cmd Dateitypen kombinieren.'
|
|
1457
1617
|
filtered_files_view:
|
|
1458
|
-
|
|
1618
|
+
actions: 'Aktionen für die Dateiliste'
|
|
1619
|
+
any_file_type: 'Datei'
|
|
1620
|
+
cancel_selection: 'Auswahl abbrechen'
|
|
1621
|
+
confirm_destroy_selection:
|
|
1622
|
+
one: '1 Element wirklich löschen?'
|
|
1623
|
+
other: '%{count} Elemente wirklich löschen?'
|
|
1624
|
+
destroy_selection: 'Auswahl löschen'
|
|
1625
|
+
end_selection: 'Auswahl beenden'
|
|
1626
|
+
move_selection: 'Verschieben...'
|
|
1627
|
+
reset_filter: 'Filter zurücksetzen'
|
|
1628
|
+
search: 'Dateien und Ordner filtern'
|
|
1629
|
+
search_in_folder: 'Dateien in %{folder} filtern'
|
|
1630
|
+
select: '%{name} auswählen'
|
|
1631
|
+
select_items: 'Dateien und Ordner auswählen'
|
|
1632
|
+
selected_items:
|
|
1633
|
+
zero: 'Keine Elemente ausgewählt'
|
|
1634
|
+
one: '1 Element ausgewählt'
|
|
1635
|
+
other: '%{count} Elemente ausgewählt'
|
|
1636
|
+
sort_button_label: 'Sortieren'
|
|
1637
|
+
sort:
|
|
1638
|
+
alphabetical: 'Alphabetisch'
|
|
1639
|
+
most_recent: 'Zuletzt hochgeladen'
|
|
1640
|
+
folder_breadcrumb_view:
|
|
1641
|
+
label: 'Ordnerpfad'
|
|
1642
|
+
reset: 'Ordner verlassen'
|
|
1643
|
+
folder_item_view:
|
|
1644
|
+
actions: 'Ordner-Aktionen'
|
|
1645
|
+
destroy: 'Löschen'
|
|
1646
|
+
file_count:
|
|
1647
|
+
one: '1 Datei'
|
|
1648
|
+
other: '%{count} Dateien'
|
|
1649
|
+
move: 'Verschieben...'
|
|
1650
|
+
name: 'Name des neuen Ordners'
|
|
1651
|
+
new_name: 'Neuer Name des Ordners'
|
|
1652
|
+
rename: 'Umbenennen'
|
|
1459
1653
|
inputs:
|
|
1460
1654
|
file_input:
|
|
1461
1655
|
auto_default_text_track: "(Automatisch)"
|
|
@@ -1469,6 +1663,35 @@ de:
|
|
|
1469
1663
|
unset: Verknüpfung entfernen
|
|
1470
1664
|
theme_input_view:
|
|
1471
1665
|
choose: Theme ändern
|
|
1666
|
+
edit_defaults_input_view:
|
|
1667
|
+
label: Voreinstellungen für neue Elemente
|
|
1668
|
+
oembed_url_input_view:
|
|
1669
|
+
status:
|
|
1670
|
+
resolving: "Auflösen..."
|
|
1671
|
+
resolved: "Aufgelöst"
|
|
1672
|
+
invalid_provider: "Ungültiger Anbieter"
|
|
1673
|
+
not_found: "URL nicht gefunden"
|
|
1674
|
+
error: "Fehler beim Auflösen der URL"
|
|
1675
|
+
move_to_folder_dialog_view:
|
|
1676
|
+
cancel: 'Abbrechen'
|
|
1677
|
+
current: 'Aktueller Ordner'
|
|
1678
|
+
header:
|
|
1679
|
+
files:
|
|
1680
|
+
one: 'Datei verschieben'
|
|
1681
|
+
other: 'Dateien verschieben'
|
|
1682
|
+
folders:
|
|
1683
|
+
one: 'Ordner verschieben'
|
|
1684
|
+
other: 'Ordner verschieben'
|
|
1685
|
+
items: 'Elemente verschieben'
|
|
1686
|
+
hint:
|
|
1687
|
+
files:
|
|
1688
|
+
one: 'Wähle den Ordner aus, in den %{name} verschoben werden soll.'
|
|
1689
|
+
other: 'Wähle den Ordner aus, in den %{count} Dateien verschoben werden sollen.'
|
|
1690
|
+
folders:
|
|
1691
|
+
one: 'Wähle den Ordner aus, in den %{name} verschoben werden soll.'
|
|
1692
|
+
other: 'Wähle den Ordner aus, in den %{count} Ordner verschoben werden sollen.'
|
|
1693
|
+
items: 'Wähle den Ordner aus, in den %{count} Elemente verschoben werden sollen.'
|
|
1694
|
+
root: 'Kein Ordner'
|
|
1472
1695
|
page_item_view:
|
|
1473
1696
|
unnamed: "(Unbenannt)"
|
|
1474
1697
|
page_link_item_view:
|
|
@@ -1477,6 +1700,9 @@ de:
|
|
|
1477
1700
|
storylines_picker_view:
|
|
1478
1701
|
label: Erzählstrang
|
|
1479
1702
|
without_parent_page: Ohne übergeordnete Seite
|
|
1703
|
+
video_file_preview_view:
|
|
1704
|
+
mute: Ton ausschalten
|
|
1705
|
+
unmute: Ton einschalten
|
|
1480
1706
|
widgets:
|
|
1481
1707
|
attributes:
|
|
1482
1708
|
media_loading_spinner:
|
|
@@ -1846,10 +2072,15 @@ de:
|
|
|
1846
2072
|
untitled: Unbenannter Erzählstrang
|
|
1847
2073
|
structured_data:
|
|
1848
2074
|
feature_name: Eingebettete strukturierte Daten
|
|
2075
|
+
faq_page_structured_data:
|
|
2076
|
+
feature_name: FAQ-Seite strukturierte Daten
|
|
1849
2077
|
title_loading_spinner:
|
|
1850
2078
|
feature_name: "'Titel und Bild'-Lade-Ansicht"
|
|
1851
2079
|
widget_type_name: Titel und Bild
|
|
1852
2080
|
ui:
|
|
2081
|
+
color_picker:
|
|
2082
|
+
hue: "Farbton"
|
|
2083
|
+
opacity: "Deckkraft"
|
|
1853
2084
|
configuration_editor:
|
|
1854
2085
|
tabs:
|
|
1855
2086
|
consent_bar: Consent-Leiste
|
|
@@ -1988,6 +2219,8 @@ de:
|
|
|
1988
2219
|
default_slideshow_mode: Vertikales Scrollen/Wischen
|
|
1989
2220
|
phone_horizontal_slideshow_mode: Horizontales Wischen auf Phones
|
|
1990
2221
|
slim_player_controls: Minimalistisch
|
|
2222
|
+
cutoff_modes:
|
|
2223
|
+
none: "(Kein)"
|
|
1991
2224
|
support:
|
|
1992
2225
|
array:
|
|
1993
2226
|
last_word_connector: " und "
|
|
@@ -2009,3 +2242,14 @@ de:
|
|
|
2009
2242
|
next: ">>"
|
|
2010
2243
|
previous: !!str '<<'
|
|
2011
2244
|
truncate: "..."
|
|
2245
|
+
activemodel:
|
|
2246
|
+
attributes:
|
|
2247
|
+
pageflow/site_root_entry_form:
|
|
2248
|
+
entry: Beitrag
|
|
2249
|
+
entry_id: Beitrag
|
|
2250
|
+
errors:
|
|
2251
|
+
models:
|
|
2252
|
+
pageflow/site_root_entry_form:
|
|
2253
|
+
attributes:
|
|
2254
|
+
entry:
|
|
2255
|
+
blank: nicht gefunden
|