pageflow 17.0.5 → 17.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +362 -35
- data/README.md +0 -1
- data/admins/pageflow/accounts.rb +16 -14
- data/admins/pageflow/entry.rb +68 -20
- data/admins/pageflow/entry_templates.rb +10 -9
- data/admins/pageflow/folder.rb +1 -1
- data/admins/pageflow/membership.rb +4 -4
- 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/javascripts/pageflow/admin/entries.js +30 -5
- data/app/assets/javascripts/pageflow/dist/ui.js +2865 -257
- data/app/assets/stylesheets/pageflow/admin/entries/index_table.scss +2 -1
- data/app/assets/stylesheets/pageflow/admin/permalink_input.scss +2 -1
- data/app/assets/stylesheets/pageflow/editor/background_positioning.scss +6 -0
- data/app/assets/stylesheets/pageflow/editor/base.scss +2 -0
- data/app/assets/stylesheets/pageflow/editor/drop_down_button.scss +7 -1
- data/app/assets/stylesheets/pageflow/editor/file_meta_data.scss +5 -1
- data/app/assets/stylesheets/pageflow/editor/files.scss +28 -16
- data/app/assets/stylesheets/pageflow/editor/filtered_files.scss +24 -0
- data/app/assets/stylesheets/pageflow/editor/info_box.scss +11 -3
- data/app/assets/stylesheets/pageflow/editor/list.scss +6 -4
- data/app/assets/stylesheets/pageflow/editor/list_search_field.scss +52 -0
- data/app/assets/stylesheets/pageflow/editor/outline.scss +0 -13
- data/app/assets/stylesheets/pageflow/editor/select_button.scss +1 -1
- 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/ui/forms.scss +4 -0
- data/app/assets/stylesheets/pageflow/ui/input/color_input.scss +8 -0
- data/app/assets/stylesheets/pageflow/ui/input/file_name_input.scss +37 -0
- data/app/assets/stylesheets/pageflow/ui/properties.scss +5 -0
- data/app/assets/stylesheets/pageflow/ui.scss +1 -0
- 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 +2 -1
- data/app/controllers/pageflow/editor/entry_publications_controller.rb +1 -0
- data/app/controllers/pageflow/editor/file_import_controller.rb +3 -3
- data/app/controllers/pageflow/editor/files_controller.rb +7 -6
- data/app/controllers/pageflow/editor/widgets_controller.rb +1 -0
- data/app/controllers/pageflow/entries_controller.rb +77 -17
- 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/revisions_controller.rb +2 -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 +1 -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 +3 -3
- 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 +2 -4
- data/app/helpers/pageflow/editor/config_helper.rb +1 -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 +58 -34
- data/app/helpers/pageflow/entry_json_seed_helper.rb +3 -2
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- data/app/helpers/pageflow/video_files_helper.rb +29 -13
- data/app/helpers/pageflow/widgets_helper.rb +7 -6
- data/app/inputs/pageflow_permalink_input.rb +3 -2
- 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 +13 -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 +23 -23
- data/app/models/concerns/pageflow/serialization_blacklist.rb +1 -1
- 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/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/customized_theme.rb +6 -6
- data/app/models/pageflow/draft_entry.rb +37 -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 +44 -30
- data/app/models/pageflow/entry_at_revision.rb +5 -1
- 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_reuse.rb +2 -2
- data/app/models/pageflow/file_usage.rb +10 -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 +20 -5
- data/app/models/pageflow/image_file_url_templates.rb +1 -1
- data/app/models/pageflow/invitation_form.rb +2 -1
- 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 +23 -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 +24 -15
- data/app/models/pageflow/roles.rb +14 -18
- data/app/models/pageflow/site.rb +36 -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 +7 -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 +4 -3
- 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/editor/config/_seeds.json.jbuilder +1 -1
- data/app/views/pageflow/editor/entries/index.json.jbuilder +1 -1
- 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/files/_file.json.jbuilder +5 -13
- 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/sites/_site.json.jbuilder +1 -0
- data/app/views/pageflow/editor/video_files/_video_file.json.jbuilder +1 -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 +3 -3
- 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/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 +110 -4
- data/config/locales/en.yml +109 -7
- data/config/routes.rb +15 -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/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/editor.js +3912 -1486
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/frontend.js +468 -1161
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-client.js +28125 -22
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-server.js +26589 -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/controllers/pageflow_scrolled/editor/chapters_controller.rb +5 -3
- data/entry_types/scrolled/app/controllers/pageflow_scrolled/editor/content_elements_controller.rb +2 -2
- data/entry_types/scrolled/app/controllers/pageflow_scrolled/editor/sections_controller.rb +2 -2
- data/entry_types/scrolled/app/controllers/pageflow_scrolled/entries_controller.rb +2 -1
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/cache_helper.rb +2 -2
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/editor/entry_json_seed_helper.rb +1 -0
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/editor/seed_html_helper.rb +2 -1
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/entry_json_seed_helper.rb +60 -6
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/packs_helper.rb +16 -2
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/react_server_side_rendering_helper.rb +21 -23
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/themes_helper.rb +16 -1
- data/entry_types/scrolled/app/models/pageflow_scrolled/chapter.rb +15 -14
- data/entry_types/scrolled/app/models/pageflow_scrolled/content_element.rb +12 -0
- data/entry_types/scrolled/app/models/pageflow_scrolled/section.rb +12 -1
- data/entry_types/scrolled/app/models/pageflow_scrolled/storyline.rb +19 -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 +2 -0
- data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_entry.json.jbuilder +17 -9
- 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 +25 -5
- data/entry_types/scrolled/app/views/pageflow_scrolled/storylines/_storyline.json.jbuilder +7 -0
- data/entry_types/scrolled/config/locales/de.yml +614 -45
- data/entry_types/scrolled/config/locales/en.yml +586 -47
- 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 +1 -1
- data/entry_types/scrolled/lib/pageflow_scrolled/additional_theme_assets.rb +27 -0
- data/entry_types/scrolled/lib/pageflow_scrolled/configuration.rb +16 -4
- data/entry_types/scrolled/lib/pageflow_scrolled/content_element_consent_vendors.rb +1 -1
- data/entry_types/scrolled/lib/pageflow_scrolled/plugin.rb +24 -4
- data/entry_types/scrolled/lib/pageflow_scrolled/seeds.rb +24 -22
- data/entry_types/scrolled/lib/pageflow_scrolled.rb +1 -1
- data/entry_types/scrolled/lib/tasks/pageflow_scrolled/storybook.rake +6 -5
- data/entry_types/scrolled/package/config/webpack.js +22 -0
- data/entry_types/scrolled/package/contentElements/hotspots-frontend.css +1 -0
- data/entry_types/scrolled/package/contentElements/hotspots-frontend.js +1529 -0
- data/entry_types/scrolled/package/contentElements/tikTokEmbed-frontend.css +1 -0
- data/entry_types/scrolled/package/contentElements/tikTokEmbed-frontend.js +59 -0
- data/entry_types/scrolled/package/contentElements-editor.js +2075 -321
- data/entry_types/scrolled/package/contentElements-frontend.css +1 -1
- data/entry_types/scrolled/package/contentElements-frontend.js +1019 -643
- data/entry_types/scrolled/package/editor.js +2086 -1091
- data/entry_types/scrolled/package/frontend/{EditableInlineText.module-ebd22921.js → FloatingPortalRootProvider-51914be7.js} +1200 -1258
- data/entry_types/scrolled/package/frontend/{PhonePlatformContext-4ec6b2de.js → PhonePlatformContext-9f76033e.js} +7 -8
- data/entry_types/scrolled/package/frontend/ThemeIcon-81f2f066.js +1932 -0
- data/entry_types/scrolled/package/frontend/ToggleFullscreenCornerButton-788e9cdb.js +39 -0
- data/entry_types/scrolled/package/frontend/{Viewer-1bb5597c.js → Viewer-0345ce57.js} +36 -63
- data/entry_types/scrolled/package/frontend/{Viewer-1ecf3375.js → Viewer-cdc549cc.js} +15 -22
- data/entry_types/scrolled/package/frontend/{Wavesurfer-7d9cf1b7.js → Wavesurfer-1cdc3925.js} +54 -74
- data/entry_types/scrolled/package/frontend/{components-024a9893.js → components-96660ffd.js} +1791 -841
- data/entry_types/scrolled/package/frontend/{index-11f32f10.js → index-eb670c2f.js} +11 -18
- data/entry_types/scrolled/package/frontend/index.css +1 -1
- data/entry_types/scrolled/package/frontend/index.js +517 -903
- data/entry_types/scrolled/package/frontend/{createSuper-d0f30da3.js → inherits-539844a6.js} +40 -56
- data/entry_types/scrolled/package/frontend/{useContentElementEditorState-4f4c3cf6.js → useContentElementEditorState-77fe6c79.js} +7 -8
- data/entry_types/scrolled/package/frontend/usePhonePlatform-c2ba875d.js +8 -0
- data/entry_types/scrolled/package/frontend-server.js +0 -1
- data/entry_types/scrolled/package/package.json +18 -10
- data/entry_types/scrolled/package/testHelpers.js +306 -70
- 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 +47 -66
- data/entry_types/scrolled/package/widgets/defaultNavigation.css +2 -2
- data/entry_types/scrolled/package/widgets/defaultNavigation.js +177 -207
- data/entry_types/scrolled/package/widgets/excursionDialog.css +1 -0
- data/entry_types/scrolled/package/widgets/excursionDialog.js +109 -0
- data/entry_types/scrolled/package/widgets/excursionSheet.css +1 -0
- data/entry_types/scrolled/package/widgets/excursionSheet.js +262 -0
- data/entry_types/scrolled/package/widgets/iconInlineFileRights.css +1 -1
- data/entry_types/scrolled/package/widgets/iconInlineFileRights.js +6 -9
- data/entry_types/scrolled/package/widgets/iconScrollIndicator.css +1 -0
- data/entry_types/scrolled/package/widgets/iconScrollIndicator.js +48 -0
- data/entry_types/scrolled/package/widgets/mainStorylineSheet.css +1 -0
- data/entry_types/scrolled/package/widgets/mainStorylineSheet.js +144 -0
- data/entry_types/scrolled/package/widgets/textInlineFileRights.css +1 -1
- data/entry_types/scrolled/package/widgets/textInlineFileRights.js +26 -9
- data/entry_types/scrolled/package/widgets-server.js +1 -0
- data/entry_types/scrolled/spec/factories/chapters.rb +14 -1
- data/entry_types/scrolled/spec/factories/content_elements.rb +1 -1
- 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 +6 -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 +141 -18
- data/lib/pageflow/cutoff_modes.rb +39 -0
- data/lib/pageflow/editor_controller.rb +6 -10
- data/lib/pageflow/engine.rb +4 -5
- data/lib/pageflow/entry_export_import/attachment_files.rb +1 -1
- data/lib/pageflow/entry_export_import/entry_serialization.rb +5 -4
- data/lib/pageflow/entry_export_import/file_mappings.rb +1 -0
- data/lib/pageflow/entry_export_import/revision_serialization/import.rb +1 -1
- data/lib/pageflow/entry_export_import.rb +3 -3
- 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 +3 -3
- data/lib/pageflow/file_types.rb +3 -3
- 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/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/quota.rb +9 -5
- data/lib/pageflow/quotas.rb +1 -1
- data/lib/pageflow/rails_version.rb +1 -0
- 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 +3 -3
- data/lib/pageflow/user_mixin.rb +6 -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 +7 -2
- data/lib/tasks/pageflow_tasks.rake +1 -1
- data/package/editor.js +954 -868
- data/package/frontend.js +113 -387
- data/package/package.json +2 -1
- data/package/testHelpers.js +10 -56
- data/package/ui.js +209 -251
- 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/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_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 +26 -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 +98 -45
- 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/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/ToggleFullscreenCornerButton-b79159cc.js +0 -107
- data/entry_types/scrolled/package/frontend/arrowRight-62998af9.js +0 -77
- data/entry_types/scrolled/package/frontend/i18n-ce13a8bf.js +0 -1129
@@ -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:
|
@@ -279,6 +282,8 @@ de:
|
|
279
282
|
share_providers: Standard Share Links
|
280
283
|
sitemap_enabled: XML-Sitemap
|
281
284
|
title: Titel
|
285
|
+
custom_404_entry_id: "Benutzerdefinierte 404-Seite"
|
286
|
+
cutoff_mode_name: "Cutoff-Modus"
|
282
287
|
pageflow/text_track_file:
|
283
288
|
kind: Art
|
284
289
|
label: Label
|
@@ -431,6 +436,9 @@ de:
|
|
431
436
|
user:
|
432
437
|
one: Nutzer
|
433
438
|
other: Nutzer
|
439
|
+
translation:
|
440
|
+
one: Übersetzung
|
441
|
+
other: Übersetzungen
|
434
442
|
values:
|
435
443
|
pageflow/chapter:
|
436
444
|
navigation_bar_mode:
|
@@ -452,6 +460,9 @@ de:
|
|
452
460
|
linked_in: LinkedIn
|
453
461
|
telegram: Telegram (nur Mobilgeräte)
|
454
462
|
whats_app: WhatsApp (nur Mobilgeräte)
|
463
|
+
bluesky: Bluesky
|
464
|
+
threads: Threads
|
465
|
+
twitter: X
|
455
466
|
type_names:
|
456
467
|
paged: Seitenbasiert / klassisch
|
457
468
|
scrolled: Kontinuierlich scrollend / Pageflow Next
|
@@ -506,7 +517,7 @@ de:
|
|
506
517
|
- Fr
|
507
518
|
- Sa
|
508
519
|
abbr_month_names:
|
509
|
-
-
|
520
|
+
-
|
510
521
|
- Jan
|
511
522
|
- Feb
|
512
523
|
- Mär
|
@@ -532,7 +543,7 @@ de:
|
|
532
543
|
long: "%e. %B %Y"
|
533
544
|
short: "%e. %b"
|
534
545
|
month_names:
|
535
|
-
-
|
546
|
+
-
|
536
547
|
- Januar
|
537
548
|
- Februar
|
538
549
|
- März
|
@@ -853,6 +864,10 @@ de:
|
|
853
864
|
show_public_hint: Öffentliche Seite anzeigen
|
854
865
|
snapshot: Aktuellen Stand sichern
|
855
866
|
title_hint: Dieses Feld bestimmt die URL, unter der der Beitrag öffentlich erreichbar ist.
|
867
|
+
permalink_hint: |-
|
868
|
+
Wenn der Permalink geändert wird, nachdem der Beitrag
|
869
|
+
bereits veröffentlicht wurde, wird automatisch eine
|
870
|
+
Weiterleitung von der alten URL zur neuen URL eingerichtet.
|
856
871
|
entry:
|
857
872
|
add: Beitrag hinzufügen
|
858
873
|
entry_membership_hint: Laden Sie Benutzer in Ihr Konto ein, um sie als Mitglieder dieser Story zuzuweisen.
|
@@ -890,6 +905,7 @@ de:
|
|
890
905
|
revisions: Revisionen
|
891
906
|
sites: Sites
|
892
907
|
users: Benutzer
|
908
|
+
translations: Übersetzungen
|
893
909
|
revisions:
|
894
910
|
published_until_hint: Freilassen, um Beitrag unbegrenzt zu veröffentlichen.
|
895
911
|
restored: Revision wiederhergestellt
|
@@ -908,7 +924,6 @@ de:
|
|
908
924
|
https://%{site_host}/feeds/de.atom zu Verfügung, wobei "en"
|
909
925
|
durch ein beliebiges Sprachkürzel ersetzt werden kann, nach
|
910
926
|
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
927
|
name: "%{account_name}"
|
913
928
|
remove_logo: Logo entfernen
|
914
929
|
show: Anzeigen
|
@@ -920,6 +935,25 @@ de:
|
|
920
935
|
title_hint: |-
|
921
936
|
Wird in Titeln der Beiträge und als Titel für den Atom-Feed
|
922
937
|
verwendet.
|
938
|
+
custom_404_entry:
|
939
|
+
none: "(Standard 404-Seite verwenden)"
|
940
|
+
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."
|
941
|
+
home_url_new_site_hint: |
|
942
|
+
Wird einer der obigen CNAMES ohne Pfad in der URL verwendet,
|
943
|
+
wird zu dieser URL umgeleitet. Nachdem die Site erstellt
|
944
|
+
wurde kann auch ein Beitrag als Einstiegsseite konfiguriert
|
945
|
+
werden.
|
946
|
+
home_url_hint_html: |
|
947
|
+
Wird einer der obigen CNAMES ohne Pfad in der URL verwendet,
|
948
|
+
wird zu dieser URL umgeleitet.
|
949
|
+
Alternativ kannst du auch einen Beitrag als Einstiegsseite
|
950
|
+
verwenden. <a href="%{choose_url}">Bestehenden Beitrag auswählen</a>
|
951
|
+
oder <a href="%{new_url}">neuen Beitrag erstellen</a>.
|
952
|
+
home_url_with_root_entry_hint_html: |
|
953
|
+
Im Moment wird der Beitrag <a
|
954
|
+
href="%{entry_url}">%{entry_title}</a> als Einstiegsseite
|
955
|
+
verwendet. Ändere den Permalink des Beitrags, um stattdessen
|
956
|
+
die Redirect URL zu verwenden.
|
923
957
|
user:
|
924
958
|
cannot_add: Was Sie tun möchten, ist nicht möglich. Sie müssen aktualisieren.
|
925
959
|
none_addable_tooltip: Kein Benutzer verfügbar
|
@@ -997,6 +1031,43 @@ de:
|
|
997
1031
|
suspended: Der Benutzer wurde gesperrt. Er kann sich nun nicht mehr anmelden.
|
998
1032
|
unsuspend: Entsperren
|
999
1033
|
unsuspended: Der Benutzer wurde entsperrt. Er kann sich nun wieder anmelden.
|
1034
|
+
entry_translations:
|
1035
|
+
add: Übersetzung zuordnen
|
1036
|
+
generate: Übersetzung generieren
|
1037
|
+
entry_id: Beitrag
|
1038
|
+
id: Übersetzung(en)
|
1039
|
+
new_hint_html: |-
|
1040
|
+
Verknüpfe Beiträge, die denselben Inhalt in verschiedenen
|
1041
|
+
Sprachen darstellen.
|
1042
|
+
create_model: Als Übersetzung zuordnen
|
1043
|
+
no_translations: Keine Beiträge zugeordnet
|
1044
|
+
remove: Entfernen
|
1045
|
+
remove_confirmation: |-
|
1046
|
+
Beitrag wirklich aus der Liste der Übersetzungen entfernen?
|
1047
|
+
mark_as_default: Als Standard markieren
|
1048
|
+
mark_as_default_confirmation: |-
|
1049
|
+
Beitrag wirklich as Standardübersetzung markieren?
|
1050
|
+
default_translation: "%{display_locale} (Standard)"
|
1051
|
+
default_translation_hint: |-
|
1052
|
+
Suchmaschinen verwenden den als Standard markierten Beitrag,
|
1053
|
+
falls keine Übersetzung verfügbar ist, die den
|
1054
|
+
Spracheinstellungen des Besuchers entspricht.
|
1055
|
+
site_root_entry:
|
1056
|
+
title: Einstiegsseite festlegen
|
1057
|
+
intro_html: |
|
1058
|
+
<p>Wähle den Beitrag aus, der als Einstiegsseite unter der
|
1059
|
+
folgenden URL gezeigt werden soll:
|
1060
|
+
<strong>https://%{site_host}/</strong><br>Dieser Inhalt
|
1061
|
+
wird gezeigt, wenn die Domain der Site ohne weiteren Pfad
|
1062
|
+
aufgerufen wird.</p>
|
1063
|
+
hint: |
|
1064
|
+
Der Permalink des Beitrags wird automatisch angepasst. Falls
|
1065
|
+
der Beitrag bereits veröffentlicht wurde, wird eine
|
1066
|
+
Weiterleitung von der alten URL zur neuen URL eingerichtet.
|
1067
|
+
submit: Als Einstiegsseite festlegen
|
1068
|
+
chosen: Der Beitrag wurde als Einstiegsseite festgelegt.
|
1069
|
+
root_permalink_directory_required: Für diese Seite wurde noch kein Permalink-Verzeichnis angelegt.
|
1070
|
+
root_entry_exists: Es existiert bereits ein Beitrag, der als Einstiegsseite verwendet wird.
|
1000
1071
|
audio:
|
1001
1072
|
help_entries:
|
1002
1073
|
page_type:
|
@@ -1126,12 +1197,17 @@ de:
|
|
1126
1197
|
file_name:
|
1127
1198
|
column_header: Dateiname
|
1128
1199
|
label: Dateiname
|
1200
|
+
display_name:
|
1201
|
+
column_header: Dateiname
|
1202
|
+
label: Dateiname
|
1129
1203
|
license:
|
1130
1204
|
blank: "(Nicht angegeben)"
|
1131
1205
|
inline_help: Fügt der Rechteangabe im Beitrag einen Link zur Lizenz hinzu.
|
1132
1206
|
label: Lizenz
|
1133
1207
|
original_url:
|
1134
1208
|
label: Original
|
1209
|
+
download_url:
|
1210
|
+
label: Download
|
1135
1211
|
rights:
|
1136
1212
|
cell_title:
|
1137
1213
|
blank: Noch nicht ausgefüllt
|
@@ -1308,6 +1384,8 @@ de:
|
|
1308
1384
|
credits: Rechte
|
1309
1385
|
destroy: Löschen
|
1310
1386
|
download: Herunterladen
|
1387
|
+
expand_details: Details einblenden
|
1388
|
+
collapse_details: Details ausblenden
|
1311
1389
|
retry: Erneut versuchen
|
1312
1390
|
select: Auswählen
|
1313
1391
|
settings: Einstellungen
|
@@ -1338,6 +1416,10 @@ de:
|
|
1338
1416
|
list_item:
|
1339
1417
|
edit: Bearbeiten
|
1340
1418
|
remove: Löschen
|
1419
|
+
list_search_field:
|
1420
|
+
placeholder: 'Dateien filtern'
|
1421
|
+
hint: 'Mit %{hotkey} suchen'
|
1422
|
+
reset: 'Filter zurücksetzen'
|
1341
1423
|
loading:
|
1342
1424
|
loading: Daten werden geladen.
|
1343
1425
|
locked:
|
@@ -1425,11 +1507,12 @@ de:
|
|
1425
1507
|
|
1426
1508
|
Dieser Schritt kann nicht rückgängig gemacht werden.
|
1427
1509
|
edit_configuration:
|
1428
|
-
back:
|
1510
|
+
back: "Zurück"
|
1429
1511
|
confirm_destroy: Wirklich löschen?
|
1430
1512
|
destroy: Löschen
|
1431
1513
|
retry: Erneut versuchen
|
1432
1514
|
save_error: Fehler beim Speichern
|
1515
|
+
outline: "Gliederung"
|
1433
1516
|
edit_entry_view:
|
1434
1517
|
cannot_publish: Sie sind nicht berechtigt diesen Beitrag zu veröffentlichen.
|
1435
1518
|
edit_page_view:
|
@@ -1456,6 +1539,10 @@ de:
|
|
1456
1539
|
upload: Hochladen
|
1457
1540
|
filtered_files_view:
|
1458
1541
|
banner_prefix: 'Aktiver Filter:'
|
1542
|
+
sort_button_label: 'Sortieren'
|
1543
|
+
sort:
|
1544
|
+
alphabetical: 'Alphabetisch'
|
1545
|
+
most_recent: 'Zuletzt hochgeladen'
|
1459
1546
|
inputs:
|
1460
1547
|
file_input:
|
1461
1548
|
auto_default_text_track: "(Automatisch)"
|
@@ -1988,6 +2075,8 @@ de:
|
|
1988
2075
|
default_slideshow_mode: Vertikales Scrollen/Wischen
|
1989
2076
|
phone_horizontal_slideshow_mode: Horizontales Wischen auf Phones
|
1990
2077
|
slim_player_controls: Minimalistisch
|
2078
|
+
cutoff_modes:
|
2079
|
+
none: "(Kein)"
|
1991
2080
|
support:
|
1992
2081
|
array:
|
1993
2082
|
last_word_connector: " und "
|
@@ -2009,3 +2098,20 @@ de:
|
|
2009
2098
|
next: ">>"
|
2010
2099
|
previous: !!str '<<'
|
2011
2100
|
truncate: "..."
|
2101
|
+
pageflow_scrolled:
|
2102
|
+
editor:
|
2103
|
+
section_item:
|
2104
|
+
set_cutoff: "Paywall Grenze oberhalb setzen"
|
2105
|
+
reset_cutoff: "Paywall Grenze entfernen"
|
2106
|
+
cutoff: "Paywall Grenze"
|
2107
|
+
activemodel:
|
2108
|
+
attributes:
|
2109
|
+
pageflow/site_root_entry_form:
|
2110
|
+
entry: Beitrag
|
2111
|
+
entry_id: Beitrag
|
2112
|
+
errors:
|
2113
|
+
models:
|
2114
|
+
pageflow/site_root_entry_form:
|
2115
|
+
attributes:
|
2116
|
+
entry:
|
2117
|
+
blank: nicht gefunden
|
data/config/locales/en.yml
CHANGED
@@ -142,6 +142,9 @@ en:
|
|
142
142
|
recommendation: We recommend upgrading to the latest <a href="http://windows.microsoft.com/ie">Internet Explorer</a>, <a href="https://chrome.google.com/">Google Chrome</a>, or <a href="https://mozilla.org/firefox/">Firefox</a>.
|
143
143
|
turn_off_compatibility_view: If you are using IE 9 or later, make sure you <a href="http://windows.microsoft.com/en-US/windows7/webpages-look-incorrect-in-Internet-Explorer">turn off "Compatibility View"</a>.
|
144
144
|
view: View
|
145
|
+
resources:
|
146
|
+
translations:
|
147
|
+
new_model: Link translation
|
145
148
|
activerecord:
|
146
149
|
attributes:
|
147
150
|
admin_user:
|
@@ -279,6 +282,8 @@ en:
|
|
279
282
|
share_providers: Default Share Links
|
280
283
|
sitemap_enabled: XML sitemap
|
281
284
|
title: Title
|
285
|
+
custom_404_entry_id: "Custom 404 page"
|
286
|
+
cutoff_mode_name: "Cutoff mode"
|
282
287
|
pageflow/text_track_file:
|
283
288
|
kind: Kind
|
284
289
|
label: Label
|
@@ -431,6 +436,9 @@ en:
|
|
431
436
|
user:
|
432
437
|
one: User
|
433
438
|
other: Users
|
439
|
+
translation:
|
440
|
+
one: Translation
|
441
|
+
other: Translations
|
434
442
|
values:
|
435
443
|
pageflow/chapter:
|
436
444
|
navigation_bar_mode:
|
@@ -452,6 +460,9 @@ en:
|
|
452
460
|
linked_in: LinkedIn
|
453
461
|
telegram: Telegram (only mobile)
|
454
462
|
whats_app: WhatsApp (only mobile)
|
463
|
+
bluesky: Bluesky
|
464
|
+
threads: Threads
|
465
|
+
twitter: X
|
455
466
|
type_names:
|
456
467
|
paged: Page-based / Classic
|
457
468
|
scrolled: Continuously scrolling / Pageflow Next
|
@@ -506,7 +517,7 @@ en:
|
|
506
517
|
- Fri
|
507
518
|
- Sat
|
508
519
|
abbr_month_names:
|
509
|
-
-
|
520
|
+
-
|
510
521
|
- Jan
|
511
522
|
- Feb
|
512
523
|
- Mar
|
@@ -532,7 +543,7 @@ en:
|
|
532
543
|
long: "%B %d, %Y"
|
533
544
|
short: "%b %d"
|
534
545
|
month_names:
|
535
|
-
-
|
546
|
+
-
|
536
547
|
- January
|
537
548
|
- February
|
538
549
|
- March
|
@@ -742,9 +753,9 @@ en:
|
|
742
753
|
i18n:
|
743
754
|
transliterate:
|
744
755
|
rule:
|
745
|
-
ä:
|
746
|
-
ö:
|
747
|
-
ü:
|
756
|
+
ä:
|
757
|
+
ö:
|
758
|
+
ü:
|
748
759
|
language: English
|
749
760
|
number:
|
750
761
|
currency:
|
@@ -853,6 +864,10 @@ en:
|
|
853
864
|
show_public_hint: Visit public page
|
854
865
|
snapshot: Save current version
|
855
866
|
title_hint: This field determines the URL for this story.
|
867
|
+
permalink_hint: |-
|
868
|
+
Changing the permalink after the story has already been
|
869
|
+
published automatically creates a redirect from the old URL
|
870
|
+
to the new URL
|
856
871
|
entry:
|
857
872
|
add: Add Story
|
858
873
|
entry_membership_hint: Invite users to your account to assign them as members of this Story.
|
@@ -890,6 +905,7 @@ en:
|
|
890
905
|
revisions: Versions
|
891
906
|
sites: Sites
|
892
907
|
users: User
|
908
|
+
translations: Translations
|
893
909
|
revisions:
|
894
910
|
published_until_hint: Leave blank to publish indefinitely.
|
895
911
|
restored: Version restored
|
@@ -907,7 +923,6 @@ en:
|
|
907
923
|
site are available via URLs of the form
|
908
924
|
https://%{site_host}/feeds/en.atom where "en" can be
|
909
925
|
replaced with any locale you want to filter by.
|
910
|
-
home_url_hint: Used for requests to the root path with one of the above CNAMES. Default target location for the home button.
|
911
926
|
name: "%{account_name}"
|
912
927
|
remove_logo: Remove logo
|
913
928
|
show: View
|
@@ -917,6 +932,22 @@ en:
|
|
917
932
|
https://%{site_host}/sitemap.xml. Register the URL in Google
|
918
933
|
Search Console or similar tools.
|
919
934
|
title_hint: Used in entry titles and as title for the atom feed.
|
935
|
+
custom_404_entry:
|
936
|
+
none: "(Use default 404 page)"
|
937
|
+
hint: "Select an entry to display as the custom 404 page. Only published entries without password protection are available."
|
938
|
+
home_url_new_site_hint: |
|
939
|
+
Used for requests to the root path with one of the above
|
940
|
+
CNAMES. Once the site has been created you can also
|
941
|
+
configure an entry as homepage.
|
942
|
+
home_url_hint_html: |
|
943
|
+
Used for requests to the root path with one of the above
|
944
|
+
CNAMES. Alternatively, you can also use an entry as homepage.
|
945
|
+
<a href="%{choose_url}">Select existing entry</a> or <a
|
946
|
+
href="%{new_url}">create a new one</a>.
|
947
|
+
home_url_with_root_entry_hint_html: |
|
948
|
+
At the moment, the site uses the entry <a
|
949
|
+
href="%{entry_url}">%{entry_title}</a> as homepage. Change
|
950
|
+
the permalink of the entry to instead use the redirect URL.
|
920
951
|
user:
|
921
952
|
cannot_add: What you want to do is not possible. You need to upgrade.
|
922
953
|
none_addable_tooltip: No user available
|
@@ -994,6 +1025,42 @@ en:
|
|
994
1025
|
suspended: 'The user was suspended and will not be able to sign-in again. '
|
995
1026
|
unsuspend: Unsuspend
|
996
1027
|
unsuspended: The user was unsuspended.
|
1028
|
+
entry_translations:
|
1029
|
+
add: Link translation
|
1030
|
+
generate: Generate translation
|
1031
|
+
entry_id: Entry
|
1032
|
+
id: Translation(s)
|
1033
|
+
new_hint_html: |-
|
1034
|
+
Associate entries that represent the same content in
|
1035
|
+
different languages.
|
1036
|
+
create_model: Link as translation
|
1037
|
+
no_translations: No linked entries
|
1038
|
+
remove: Remove
|
1039
|
+
remove_confirmation: |-
|
1040
|
+
Are you sure you want to remove the entry from the list of translations?
|
1041
|
+
mark_as_default: Mark as default
|
1042
|
+
mark_as_default_confirmation: |-
|
1043
|
+
Really mark this translation as default?
|
1044
|
+
default_translation: "%{display_locale} (Standard)"
|
1045
|
+
default_translation_hint: |-
|
1046
|
+
Search engines fall back to the default language if no
|
1047
|
+
translation is available that matches the user's language
|
1048
|
+
settings.
|
1049
|
+
site_root_entry:
|
1050
|
+
title: Set Homepage
|
1051
|
+
intro_html: |
|
1052
|
+
<p>Select the story that should appear as the homepage at:<br>
|
1053
|
+
<strong>https://%{site_host}/</strong><br>This content will
|
1054
|
+
be shown when someone visits your site without entering a
|
1055
|
+
specific path.</p>
|
1056
|
+
hint: |
|
1057
|
+
The story's permalink will be updated automatically. If
|
1058
|
+
the story is already published, a redirect from the old URL
|
1059
|
+
to the new ULR will be created.
|
1060
|
+
submit: Set as Homepage
|
1061
|
+
chosen: The story has been chosen as homepage.
|
1062
|
+
root_permalink_directory_required: No permalink directory exists for this site.
|
1063
|
+
root_entry_exists: Another story is already being used as homepage.
|
997
1064
|
audio:
|
998
1065
|
help_entries:
|
999
1066
|
page_type:
|
@@ -1124,12 +1191,17 @@ en:
|
|
1124
1191
|
file_name:
|
1125
1192
|
column_header: File name
|
1126
1193
|
label: File name
|
1194
|
+
display_name:
|
1195
|
+
column_header: File name
|
1196
|
+
label: File name
|
1127
1197
|
license:
|
1128
1198
|
blank: "(Not specified)"
|
1129
1199
|
inline_help: Adds a link to the license in the credit note.
|
1130
1200
|
label: License
|
1131
1201
|
original_url:
|
1132
1202
|
label: Original
|
1203
|
+
download_url:
|
1204
|
+
label: Download
|
1133
1205
|
rights:
|
1134
1206
|
cell_title:
|
1135
1207
|
blank: Still blank
|
@@ -1305,6 +1377,8 @@ en:
|
|
1305
1377
|
credits: Credits
|
1306
1378
|
destroy: Delete
|
1307
1379
|
download: Download
|
1380
|
+
expand_details: Show details
|
1381
|
+
collapse_details: Hide details
|
1308
1382
|
retry: Retry
|
1309
1383
|
select: Select
|
1310
1384
|
settings: Settings
|
@@ -1335,6 +1409,10 @@ en:
|
|
1335
1409
|
list_item:
|
1336
1410
|
edit: Edit
|
1337
1411
|
remove: Delete
|
1412
|
+
list_search_field:
|
1413
|
+
placeholder: 'Filter files'
|
1414
|
+
hint: 'Type %{hotkey} to search'
|
1415
|
+
reset: 'Clear filter'
|
1338
1416
|
loading:
|
1339
1417
|
loading: Loading...
|
1340
1418
|
locked:
|
@@ -1422,11 +1500,12 @@ en:
|
|
1422
1500
|
|
1423
1501
|
This operation cannot be undone.
|
1424
1502
|
edit_configuration:
|
1425
|
-
back:
|
1503
|
+
back: "Back"
|
1426
1504
|
confirm_destroy: Really delete this record? This action cannot be undone.
|
1427
1505
|
destroy: Delete
|
1428
1506
|
retry: Retry
|
1429
1507
|
save_error: Saving the record failed.
|
1508
|
+
outline: "Outline"
|
1430
1509
|
edit_entry_view:
|
1431
1510
|
cannot_publish: You do not have sufficient rights to publish this story.
|
1432
1511
|
edit_page_view:
|
@@ -1453,6 +1532,10 @@ en:
|
|
1453
1532
|
upload: Upload
|
1454
1533
|
filtered_files_view:
|
1455
1534
|
banner_prefix: 'Active filter:'
|
1535
|
+
sort_button_label: 'Sort'
|
1536
|
+
sort:
|
1537
|
+
alphabetical: 'Alphabetical'
|
1538
|
+
most_recent: 'Most recent'
|
1456
1539
|
inputs:
|
1457
1540
|
file_input:
|
1458
1541
|
auto_default_text_track: "(Auto)"
|
@@ -1983,6 +2066,8 @@ en:
|
|
1983
2066
|
default_slideshow_mode: Vertical scoll/swipe
|
1984
2067
|
phone_horizontal_slideshow_mode: Horizontal swipe on phone
|
1985
2068
|
slim_player_controls: Minimal
|
2069
|
+
cutoff_modes:
|
2070
|
+
none: "(None)"
|
1986
2071
|
support:
|
1987
2072
|
array:
|
1988
2073
|
last_word_connector: ", and "
|
@@ -2004,3 +2089,20 @@ en:
|
|
2004
2089
|
next: ">>"
|
2005
2090
|
previous: !!str '<<'
|
2006
2091
|
truncate: "..."
|
2092
|
+
pageflow_scrolled:
|
2093
|
+
editor:
|
2094
|
+
section_item:
|
2095
|
+
set_cutoff: "Set paywall cutoff above"
|
2096
|
+
reset_cutoff: "Remove paywall cutoff"
|
2097
|
+
cutoff: "Paywall cutoff"
|
2098
|
+
activemodel:
|
2099
|
+
attributes:
|
2100
|
+
pageflow/site_root_entry_form:
|
2101
|
+
entry: Story
|
2102
|
+
entry_id: Story
|
2103
|
+
errors:
|
2104
|
+
models:
|
2105
|
+
pageflow/site_root_entry_form:
|
2106
|
+
attributes:
|
2107
|
+
entry:
|
2108
|
+
blank: not found
|
data/config/routes.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Pageflow::Engine.routes.draw do
|
2
|
-
constraints Pageflow.config(:
|
2
|
+
constraints Pageflow.config(ignore_not_configured: true).editor_route_constraint do
|
3
3
|
resources :entries, only: [], shallow: true do
|
4
|
-
get :partials, :
|
4
|
+
get :partials, on: :member
|
5
5
|
|
6
6
|
resources :revisions, only: [:show] do
|
7
7
|
get :stylesheet, on: :member
|
@@ -39,16 +39,16 @@ Pageflow::Engine.routes.draw do
|
|
39
39
|
|
40
40
|
namespace :editor do
|
41
41
|
resources :entries, only: [:index, :show, :update], shallow: true do
|
42
|
-
get :seed, :
|
42
|
+
get :seed, on: :member
|
43
43
|
|
44
|
-
resources :file_usages, :
|
44
|
+
resources :file_usages, only: [:create, :destroy]
|
45
45
|
|
46
|
-
resources :encoding_confirmations, :
|
47
|
-
post :check, :
|
46
|
+
resources :encoding_confirmations, only: [:create] do
|
47
|
+
post :check, on: :collection
|
48
48
|
end
|
49
49
|
|
50
|
-
resources :entry_publications, :
|
51
|
-
post :check, :
|
50
|
+
resources :entry_publications, only: [:create] do
|
51
|
+
post :check, on: :collection
|
52
52
|
end
|
53
53
|
|
54
54
|
Pageflow.config(ignore_not_configured: true).entry_types.routes(self)
|
@@ -69,17 +69,19 @@ Pageflow::Engine.routes.draw do
|
|
69
69
|
end
|
70
70
|
|
71
71
|
resources :subjects, path: '/subjects/:collection_name', only: [] do
|
72
|
-
resources :widgets, :
|
73
|
-
patch :batch, :
|
72
|
+
resources :widgets, only: [:index] do
|
73
|
+
patch :batch, on: :collection
|
74
74
|
end
|
75
75
|
end
|
76
76
|
end
|
77
77
|
|
78
|
-
root :
|
78
|
+
root to: redirect('/admin')
|
79
79
|
end
|
80
80
|
|
81
|
-
get ':entry_id/videos/:id', :
|
82
|
-
|
81
|
+
get ':entry_id/videos/:id', to: 'files#show', as: :short_video_file,
|
82
|
+
defaults: {collection_name: 'video_files'}
|
83
|
+
get ':entry_id/audio/:id', to: 'files#show', as: :short_audio_file,
|
84
|
+
defaults: {collection_name: 'audio_files'}
|
83
85
|
|
84
86
|
resources :entries, only: [:show] do
|
85
87
|
get :stylesheet, on: :member
|
data/config/spring.rb
CHANGED
@@ -1,2 +1,3 @@
|
|
1
1
|
require File.expand_path('../lib/pageflow/rails_version', File.dirname(__FILE__))
|
2
|
-
Spring.application_root = File.join(__FILE__,
|
2
|
+
Spring.application_root = File.join(__FILE__,
|
3
|
+
"../../spec/dummy/rails-#{Pageflow::RailsVersion.detect}")
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# rubocop:disable
|
1
|
+
# rubocop:disable Layout/LineLength, Metrics/ClassLength, Metrics/MethodLength, Metrics/AbcSize, Metrics/BlockLength
|
2
2
|
|
3
3
|
class SetupSchema < ActiveRecord::Migration[5.2]
|
4
4
|
def change
|
@@ -296,4 +296,4 @@ class SetupSchema < ActiveRecord::Migration[5.2]
|
|
296
296
|
end
|
297
297
|
end
|
298
298
|
|
299
|
-
# rubocop:enable
|
299
|
+
# rubocop:enable Layout/LineLength, Metrics/ClassLength, Metrics/MethodLength, Metrics/AbcSize, Metrics/BlockLength
|
@@ -1,6 +1,6 @@
|
|
1
1
|
class CopyFileAttributesOfFailedUploads < ActiveRecord::Migration[5.2]
|
2
2
|
def up
|
3
|
-
%w
|
3
|
+
%w[audio text_track video].each do |uploadable_file_type|
|
4
4
|
execute("UPDATE pageflow_#{uploadable_file_type}_files hf
|
5
5
|
SET hf.attachment_on_s3_file_name = hf.attachment_on_filesystem_file_name,
|
6
6
|
hf.attachment_on_s3_content_type = hf.attachment_on_filesystem_content_type,
|
@@ -12,7 +12,7 @@ class CopyFileAttributesOfFailedUploads < ActiveRecord::Migration[5.2]
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def down
|
15
|
-
%w
|
15
|
+
%w[audio text_track video].each do |uploadable_file_type|
|
16
16
|
execute("UPDATE pageflow_#{uploadable_file_type}_files hf
|
17
17
|
SET hf.attachment_on_s3_file_name = NULL,
|
18
18
|
hf.attachment_on_s3_content_type = NULL,
|
@@ -1,6 +1,7 @@
|
|
1
1
|
class DropAccountsThemes < ActiveRecord::Migration[5.2]
|
2
2
|
def change
|
3
|
-
drop_table :pageflow_accounts_themes, id: false, options: 'ENGINE=InnoDB DEFAULT CHARSET=utf8',
|
3
|
+
drop_table :pageflow_accounts_themes, id: false, options: 'ENGINE=InnoDB DEFAULT CHARSET=utf8',
|
4
|
+
force: :cascade do |t|
|
4
5
|
t.integer 'account_id'
|
5
6
|
t.integer 'theme_name'
|
6
7
|
end
|