pageflow 15.2.2 → 15.3.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of pageflow might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +338 -85
- data/admins/pageflow/accounts.rb +1 -98
- data/admins/pageflow/entry.rb +21 -1
- data/admins/pageflow/entry_templates.rb +140 -0
- data/admins/pageflow/membership.rb +12 -0
- data/admins/pageflow/user.rb +5 -3
- data/app/assets/javascripts/pageflow/admin/entries.js +65 -0
- data/app/assets/javascripts/pageflow/admin/users.js +1 -1
- data/app/assets/javascripts/pageflow/asset_urls.js.erb +1 -0
- data/app/assets/javascripts/pageflow/base.js +0 -12
- data/app/assets/javascripts/pageflow/components.js +2 -6
- data/app/assets/javascripts/pageflow/dist/ui.js +47 -14
- data/app/assets/javascripts/pageflow/vendor.js +13 -10
- data/app/assets/stylesheets/pageflow/base.scss +0 -7
- data/app/assets/stylesheets/pageflow/editor/base.scss +2 -0
- data/app/assets/stylesheets/pageflow/editor/composables.scss +5 -1
- data/app/assets/stylesheets/pageflow/editor/emulation_mode_button.scss +44 -55
- data/app/assets/stylesheets/pageflow/editor/help.scss +2 -2
- data/app/assets/stylesheets/pageflow/ui/tooltip.scss +17 -3
- data/app/helpers/pageflow/admin/entries_helper.rb +16 -0
- data/app/helpers/pageflow/structured_data_helper.rb +0 -2
- data/app/models/pageflow/account.rb +21 -1
- data/app/models/pageflow/entry.rb +9 -2
- data/app/models/pageflow/entry_duplicate.rb +1 -0
- data/app/models/pageflow/entry_template.rb +16 -2
- data/app/policies/pageflow/account_policy.rb +10 -0
- data/app/policies/pageflow/entry_template_policy.rb +5 -1
- data/app/views/admin/accounts/_entry_template_details.html.arb +7 -5
- data/app/views/admin/accounts/_form.html.erb +3 -49
- data/app/views/admin/entries/_attributes_table.html.arb +5 -0
- data/app/views/admin/entries/_not_allowed_to_see_entry_types.json.jbuilder +2 -0
- data/app/views/admin/entries/entry_types.json.jbuilder +4 -0
- data/app/views/admin/entry_templates/_form.html.erb +58 -0
- data/app/views/admin/users/_not_allowed_to_see_user_quota.html.erb +3 -0
- data/app/views/components/pageflow/admin/entry_templates_tab.rb +48 -0
- data/app/views/pageflow/admin/users/_quota_exhausted.html.erb +1 -1
- data/config/initializers/admin_resource_tabs.rb +5 -0
- data/config/initializers/help_entries.rb +1 -5
- data/config/locales/de.yml +88 -155
- data/config/locales/en.yml +79 -143
- data/db/migrate/20200515112500_add_constraints_to_entry_templates.rb +21 -0
- data/db/migrate/20200807135200_rename_pageflow_entry_template_entry_type_to_entry_type_name.rb +7 -0
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/components.js +7 -0
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/editor.js +1479 -1391
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/frontend.js +9218 -0
- data/{app/assets/javascripts/pageflow → entry_types/paged/app/assets/javascripts/pageflow_paged}/dist/react-client.js +1 -1
- data/{app/assets/javascripts/pageflow → entry_types/paged/app/assets/javascripts/pageflow_paged}/dist/react-server.js +3 -3
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/frontend.js +6 -0
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/server_rendering.js +9 -0
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/vendor.js +8 -0
- data/entry_types/paged/app/controllers/pageflow_paged/application_controller.rb +2 -2
- data/{app/helpers/pageflow → entry_types/paged/app/helpers/pageflow_paged}/page_background_asset_helper.rb +4 -3
- data/{app/helpers/pageflow → entry_types/paged/app/helpers/pageflow_paged}/react_server_side_rendering_helper.rb +23 -2
- data/entry_types/paged/app/views/layouts/pageflow_paged/application.html.erb +2 -2
- data/entry_types/paged/app/views/pageflow_paged/editor/entries/_head.html.erb +2 -2
- data/entry_types/paged/app/views/pageflow_paged/entries/_entry.html.erb +1 -1
- data/{app/views/pageflow → entry_types/paged/app/views/pageflow_paged}/page_background_asset/_element.html.erb +0 -0
- data/{app/views/pageflow → entry_types/paged/app/views/pageflow_paged}/react/_widget.html.erb +0 -0
- data/{app/views/pageflow → entry_types/paged/app/views/pageflow_paged}/react/page.html.erb +0 -0
- data/entry_types/paged/config/initializers/features.rb +1 -1
- data/entry_types/paged/config/initializers/help_entries.rb +17 -0
- data/entry_types/paged/config/locales/new/help.de.yml +162 -0
- data/entry_types/paged/config/locales/new/help.en.yml +153 -0
- data/entry_types/paged/lib/pageflow_paged/engine.rb +13 -0
- data/entry_types/paged/lib/pageflow_paged/plugin.rb +5 -1
- data/entry_types/paged/lib/pageflow_paged/react.rb +12 -0
- data/{lib/pageflow → entry_types/paged/lib/pageflow_paged}/react/page_type.rb +2 -2
- data/{lib/pageflow → entry_types/paged/lib/pageflow_paged}/react/widget_type.rb +2 -2
- data/entry_types/paged/vendor/assets/javascripts/development/pageflow_paged/vendor/react-server.js +20613 -0
- data/entry_types/paged/vendor/assets/javascripts/development/pageflow_paged/vendor/react.js +21495 -0
- data/entry_types/paged/vendor/assets/javascripts/production/pageflow_paged/vendor/react-server.js +24 -0
- data/entry_types/paged/vendor/assets/javascripts/production/pageflow_paged/vendor/react.js +24 -0
- data/entry_types/scrolled/app/assets/javascripts/pageflow_scrolled/legacy.js +0 -0
- data/entry_types/scrolled/app/controllers/pageflow_scrolled/editor/chapters_controller.rb +2 -2
- data/entry_types/scrolled/app/controllers/pageflow_scrolled/editor/content_elements_controller.rb +14 -4
- 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 +8 -0
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/editor/seed_html_helper.rb +6 -0
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/entry_json_seed_helper.rb +2 -0
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/react_server_side_rendering_helper.rb +33 -0
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/themes_helper.rb +8 -0
- data/entry_types/scrolled/app/models/pageflow_scrolled/content_element.rb +38 -0
- data/entry_types/scrolled/app/views/pageflow_scrolled/editor/content_elements/batch.json.jbuilder +2 -0
- data/entry_types/scrolled/app/views/pageflow_scrolled/editor/entries/_head.html.erb +1 -7
- data/entry_types/scrolled/app/views/pageflow_scrolled/entries/show.html.erb +19 -3
- data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_entry.json.jbuilder +3 -0
- data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_theme.json.jbuilder +7 -0
- data/entry_types/scrolled/config/initializers/help_entries.rb +16 -0
- data/entry_types/scrolled/config/locales/new/de.yml +345 -13
- data/entry_types/scrolled/config/locales/new/en.yml +257 -14
- data/entry_types/scrolled/config/routes.rb +1 -0
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/install_generator.rb +28 -0
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/logoDesktop.svg +56 -0
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/logoMobile.svg +22 -0
- data/entry_types/scrolled/lib/pageflow_scrolled/engine.rb +4 -0
- data/entry_types/scrolled/lib/pageflow_scrolled/plugin.rb +3 -1
- data/entry_types/scrolled/lib/pageflow_scrolled/seeds.rb +90 -30
- data/entry_types/scrolled/lib/tasks/pageflow_scrolled_tasks.rake +64 -27
- data/entry_types/scrolled/package/contentElements-editor.js +242 -183
- data/entry_types/scrolled/package/contentElements-frontend.css +1 -0
- data/entry_types/scrolled/package/contentElements-frontend.js +624 -279
- data/entry_types/scrolled/package/editor.js +2561 -363
- data/entry_types/scrolled/package/frontend-server.js +228 -0
- data/entry_types/scrolled/package/frontend/EditableText-4264c349.js +1993 -0
- data/entry_types/scrolled/package/frontend/Wavesurfer-c3c45324.js +378 -0
- data/entry_types/scrolled/package/frontend/components-cfe6a479.js +2115 -0
- data/entry_types/scrolled/package/frontend/getPrototypeOf-63c7c8e8.js +86 -0
- data/entry_types/scrolled/package/frontend/index.css +9 -0
- data/entry_types/scrolled/package/frontend/index.js +4425 -0
- data/entry_types/scrolled/package/package.json +17 -6
- data/entry_types/scrolled/spec/fixtures/audio.m4a +0 -0
- data/entry_types/scrolled/spec/fixtures/video.mp4 +0 -0
- data/lib/generators/pageflow/initializer/templates/pageflow.rb +20 -9
- data/lib/pageflow/ability_mixin.rb +14 -2
- data/lib/pageflow/configuration.rb +6 -5
- data/lib/pageflow/engine.rb +1 -0
- data/lib/pageflow/entry_type_configuration.rb +1 -0
- data/lib/pageflow/global_config_api.rb +5 -4
- data/lib/pageflow/react.rb +4 -2
- data/lib/pageflow/version.rb +1 -1
- data/{packages/pageflow → package}/config/jest/index.js +2 -1
- data/{packages/pageflow → package}/config/jest/transformers/jst.js +0 -0
- data/{packages/pageflow → package}/config/jest/transformers/upwardBabel.js +0 -0
- data/package/config/webpack.js +22 -0
- data/{packages/pageflow → package}/editor.js +480 -1129
- data/package/frontend.js +2525 -0
- data/{packages/pageflow → package}/package.json +3 -0
- data/{packages/pageflow → package}/testHelpers.js +114 -13
- data/{packages/pageflow → package}/ui.js +47 -14
- data/spec/factories/accounts.rb +3 -1
- data/spec/factories/entry_templates.rb +1 -0
- data/spec/factories/published_entries.rb +6 -1
- metadata +62 -26
- data/app/assets/javascripts/pageflow/dist/frontend.js +0 -5800
- data/config/initializers/entry_types.rb +0 -4
- data/entry_types/scrolled/package/frontend.js +0 -2879
- data/packages/pageflow/config/jest/transformers/cssModules.js +0 -1
- data/packages/pageflow/config/webpack.js +0 -14
@@ -6,8 +6,6 @@ module Pageflow
|
|
6
6
|
include MetaTagsHelper
|
7
7
|
|
8
8
|
def structured_data_for_entry(entry)
|
9
|
-
return '' unless Pageflow.config_for(entry).features.enabled?('structured_data')
|
10
|
-
|
11
9
|
content_tag(:script, type: 'application/ld+json') do
|
12
10
|
render_json_partial('pageflow/structured_data/entry',
|
13
11
|
entry: entry,
|
@@ -27,7 +27,27 @@ module Pageflow
|
|
27
27
|
end
|
28
28
|
|
29
29
|
def first_paged_entry_template
|
30
|
-
EntryTemplate.find_or_initialize_by(account: self,
|
30
|
+
EntryTemplate.find_or_initialize_by(account: self, entry_type_name: 'paged')
|
31
|
+
end
|
32
|
+
|
33
|
+
def existing_and_potential_entry_templates
|
34
|
+
entry_type_names = Pageflow.config_for(self).entry_types.map(&:name)
|
35
|
+
existing_entry_templates = EntryTemplate.where(account_id: id).load
|
36
|
+
allowed_existing_entry_templates =
|
37
|
+
existing_entry_templates.select do |template|
|
38
|
+
entry_type_names.include?(template.entry_type_name)
|
39
|
+
end
|
40
|
+
free_type_names =
|
41
|
+
entry_type_names - allowed_existing_entry_templates.map(&:entry_type_name)
|
42
|
+
|
43
|
+
potential_entry_templates = free_type_names.map do |type_name|
|
44
|
+
EntryTemplate.new(
|
45
|
+
account_id: id,
|
46
|
+
entry_type_name: type_name
|
47
|
+
)
|
48
|
+
end
|
49
|
+
|
50
|
+
allowed_existing_entry_templates + potential_entry_templates
|
31
51
|
end
|
32
52
|
|
33
53
|
def blacklist_for_serialization
|
@@ -37,6 +37,7 @@ module Pageflow
|
|
37
37
|
|
38
38
|
validates :account, :theming, :presence => true
|
39
39
|
validates :title, presence: true
|
40
|
+
validate :entry_type_is_available_for_account
|
40
41
|
validate :folder_belongs_to_same_account
|
41
42
|
|
42
43
|
scope :editing, -> { joins(:edit_lock).merge(Pageflow::EditLock.active) }
|
@@ -57,12 +58,12 @@ module Pageflow
|
|
57
58
|
def entry_template
|
58
59
|
@entry_template ||= EntryTemplate.find_or_initialize_by(
|
59
60
|
account_id: account.id,
|
60
|
-
|
61
|
+
entry_type_name: type_name
|
61
62
|
)
|
62
63
|
end
|
63
64
|
|
64
65
|
def entry_type
|
65
|
-
Pageflow.
|
66
|
+
Pageflow.config.entry_types.find_by_name!(type_name)
|
66
67
|
end
|
67
68
|
|
68
69
|
def edit_lock
|
@@ -139,6 +140,12 @@ module Pageflow
|
|
139
140
|
errors.add(:folder, :must_be_same_account) if folder.present? && folder.account_id != account_id
|
140
141
|
end
|
141
142
|
|
143
|
+
def entry_type_is_available_for_account
|
144
|
+
return if Pageflow.config_for(account).entry_types.map(&:name).include?(type_name)
|
145
|
+
|
146
|
+
errors.add(:type_name, :must_be_available_for_account, type_name: type_name)
|
147
|
+
end
|
148
|
+
|
142
149
|
def update_password!(options)
|
143
150
|
if options[:password].present?
|
144
151
|
self.password = options[:password]
|
@@ -4,12 +4,26 @@ module Pageflow
|
|
4
4
|
include SerializedConfiguration
|
5
5
|
serialize :default_share_providers, JSON
|
6
6
|
belongs_to :account
|
7
|
+
delegate :enabled_feature_names, to: :account
|
7
8
|
has_many :widgets, as: :subject, dependent: :destroy
|
8
9
|
|
9
10
|
validates :account, presence: true
|
11
|
+
validates :entry_type_name, presence: true
|
12
|
+
validates :entry_type_name,
|
13
|
+
uniqueness: {
|
14
|
+
scope: :account
|
15
|
+
}
|
16
|
+
|
17
|
+
def entry_type
|
18
|
+
Pageflow.config.entry_types.find_by_name!(entry_type_name)
|
19
|
+
end
|
20
|
+
|
21
|
+
def translated_entry_type_name
|
22
|
+
I18n.t("activerecord.values.pageflow/entry.type_names.#{entry_type_name}")
|
23
|
+
end
|
10
24
|
|
11
25
|
def resolve_widgets(options = {})
|
12
|
-
widgets.resolve(Pageflow.config_for(
|
26
|
+
widgets.resolve(Pageflow.config_for(self), options)
|
13
27
|
end
|
14
28
|
|
15
29
|
def copy_defaults_to(revision)
|
@@ -45,7 +59,7 @@ module Pageflow
|
|
45
59
|
end
|
46
60
|
|
47
61
|
def available_themes
|
48
|
-
Pageflow.config_for(
|
62
|
+
Pageflow.config_for(self).themes
|
49
63
|
end
|
50
64
|
|
51
65
|
def hashify_provider_array(arr)
|
@@ -88,6 +88,16 @@ module Pageflow
|
|
88
88
|
query.has_at_least_role?(:manager))
|
89
89
|
end
|
90
90
|
|
91
|
+
def see_user_quota?
|
92
|
+
user.admin? ||
|
93
|
+
query.has_at_least_role?(:manager)
|
94
|
+
end
|
95
|
+
|
96
|
+
def see_entry_types?
|
97
|
+
user.admin? ||
|
98
|
+
query.has_at_least_role?(:publisher)
|
99
|
+
end
|
100
|
+
|
91
101
|
def edit_role_on?
|
92
102
|
user.admin? || query.has_at_least_role?(:manager)
|
93
103
|
end
|
@@ -1,17 +1,19 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
h5(entry_template.translated_entry_type_name)
|
2
|
+
|
3
|
+
extensible_attributes_table_for(entry_template,
|
4
|
+
Pageflow.config_for(entry_template.account)
|
3
5
|
.admin_attributes_table_rows.for(:entry_template)) do
|
4
6
|
row :theme, class: 'theme' do
|
5
|
-
|
7
|
+
entry_template.theme_name
|
6
8
|
end
|
7
9
|
row :default_locale, class: 'default_locale' do
|
8
|
-
t('pageflow.public._language', locale:
|
10
|
+
t('pageflow.public._language', locale: entry_template.default_locale)
|
9
11
|
end
|
10
12
|
row :default_author, class: 'default_author'
|
11
13
|
row :default_publisher, class: 'default_publisher'
|
12
14
|
row :default_keywords, class: 'default_keywords'
|
13
15
|
row :default_share_providers, class: 'default_share_providers' do
|
14
|
-
|
16
|
+
entry_template.default_share_providers
|
15
17
|
.select { |_k, v| v == true }.keys.map(&:camelize).join(', ')
|
16
18
|
end
|
17
19
|
end
|
@@ -30,55 +30,9 @@
|
|
30
30
|
<% end %>
|
31
31
|
<% end %>
|
32
32
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
as: :select,
|
37
|
-
include_blank: false,
|
38
|
-
collection: Pageflow.config.available_public_locales.map{ |locale|
|
39
|
-
[t('pageflow.public._language', locale: locale), locale.to_s]
|
40
|
-
},
|
41
|
-
hint: t('pageflow.admin.themings.default_locale_hint') %>
|
42
|
-
<%= et.input :default_author,
|
43
|
-
hint: t('pageflow.admin.themings.default_author_hint'),
|
44
|
-
placeholder: Pageflow.config.default_author_meta_tag %>
|
45
|
-
<%= et.input :default_publisher,
|
46
|
-
hint: t('pageflow.admin.themings.default_publisher_hint'),
|
47
|
-
placeholder: Pageflow.config.default_publisher_meta_tag %>
|
48
|
-
<%= et.input :default_keywords,
|
49
|
-
hint: t('pageflow.admin.themings.default_keywords_hint'),
|
50
|
-
placeholder: Pageflow.config.default_keywords_meta_tag %>
|
51
|
-
<%= render('admin/accounts/share_providers_label') %>
|
52
|
-
<%= et.semantic_fields_for :share_providers,
|
53
|
-
OpenStruct.new(
|
54
|
-
@account.first_paged_entry_template.default_share_providers
|
55
|
-
) do |providers| %>
|
56
|
-
<% Pageflow.config.available_share_providers.each do |provider| %>
|
57
|
-
<%= providers.input provider,
|
58
|
-
as: :boolean,
|
59
|
-
label: provider.to_s.camelize,
|
60
|
-
checked_value: 'true',
|
61
|
-
unchecked_value: 'false' %>
|
62
|
-
<% end %>
|
63
|
-
<% end %>
|
64
|
-
<% end %>
|
65
|
-
|
66
|
-
<%= f.inputs do %>
|
67
|
-
<%= render('admin/accounts/theming_defaults_inline_help') %>
|
68
|
-
<%= et.input :theme_name, include_blank: false, collection: account_config.themes.names %>
|
69
|
-
<%= render('admin/accounts/configuration_label') %>
|
70
|
-
<%= et.semantic_fields_for :configuration,
|
71
|
-
OpenStruct.new(
|
72
|
-
@account.first_paged_entry_template.configuration
|
73
|
-
) do |config| %>
|
74
|
-
<%= config.input :home_button_enabled,
|
75
|
-
as: :boolean,
|
76
|
-
label: I18n.t('activerecord.attributes.pageflow/entry_template.'\
|
77
|
-
'configuration.home_button_enabled') %>
|
78
|
-
<% end %>
|
79
|
-
<%= admin_widgets_fields(et, account_config) %>
|
80
|
-
<% end %>
|
81
|
-
<% end %>
|
33
|
+
<p>
|
34
|
+
<%= t('pageflow.admin.accounts.entry_template_hint') %>
|
35
|
+
</p>
|
82
36
|
|
83
37
|
<%= f.actions do %>
|
84
38
|
<%= f.action(:submit) %>
|
@@ -19,6 +19,11 @@ extensible_attributes_table_for(entry,
|
|
19
19
|
end
|
20
20
|
end
|
21
21
|
end
|
22
|
+
row :type_name do
|
23
|
+
span do
|
24
|
+
I18n.t("activerecord.values.pageflow/entry.type_names.#{entry.type_name}")
|
25
|
+
end
|
26
|
+
end
|
22
27
|
row :created_at
|
23
28
|
row :edited_at
|
24
29
|
row :published?, :class => 'published' do
|
@@ -0,0 +1,58 @@
|
|
1
|
+
<%= admin_form_for [:admin, parent, resource], html: {class: 'entry_template'} do |f| %>
|
2
|
+
<% entry_template_config = Pageflow.config_for(resource) %>
|
3
|
+
<% entry_type_name = resource.entry_type_name || params[:entry_type_name] %>
|
4
|
+
|
5
|
+
<%= f.inputs do %>
|
6
|
+
<%= f.semantic_errors :entry_type_name %>
|
7
|
+
<%= render('admin/accounts/theming_defaults_inline_help') %>
|
8
|
+
<%= f.hidden_field :entry_type_name, value: entry_type_name %>
|
9
|
+
<%= f.input :default_locale,
|
10
|
+
as: :select,
|
11
|
+
include_blank: false,
|
12
|
+
collection: Pageflow.config.available_public_locales.map{ |locale|
|
13
|
+
[t('pageflow.public._language', locale: locale), locale.to_s]
|
14
|
+
},
|
15
|
+
hint: t('pageflow.admin.themings.default_locale_hint') %>
|
16
|
+
<%= f.input :default_author,
|
17
|
+
hint: t('pageflow.admin.themings.default_author_hint'),
|
18
|
+
placeholder: Pageflow.config.default_author_meta_tag %>
|
19
|
+
<%= f.input :default_publisher,
|
20
|
+
hint: t('pageflow.admin.themings.default_publisher_hint'),
|
21
|
+
placeholder: Pageflow.config.default_publisher_meta_tag %>
|
22
|
+
<%= f.input :default_keywords,
|
23
|
+
hint: t('pageflow.admin.themings.default_keywords_hint'),
|
24
|
+
placeholder: Pageflow.config.default_keywords_meta_tag %>
|
25
|
+
<%= render('admin/accounts/share_providers_label') %>
|
26
|
+
<%= f.semantic_fields_for :share_providers,
|
27
|
+
OpenStruct.new(
|
28
|
+
resource.default_share_providers
|
29
|
+
) do |providers| %>
|
30
|
+
<% Pageflow.config.available_share_providers.each do |provider| %>
|
31
|
+
<%= providers.input provider,
|
32
|
+
as: :boolean,
|
33
|
+
label: provider.to_s.camelize,
|
34
|
+
checked_value: 'true',
|
35
|
+
unchecked_value: 'false' %>
|
36
|
+
<% end %>
|
37
|
+
<% end %>
|
38
|
+
|
39
|
+
<%= f.input :theme_name, include_blank: false, collection: entry_template_config.themes.names %>
|
40
|
+
<% if entry_type_name == 'paged' %>
|
41
|
+
<%= render('admin/accounts/configuration_label') %>
|
42
|
+
<%= f.semantic_fields_for :configuration,
|
43
|
+
OpenStruct.new(
|
44
|
+
resource.configuration
|
45
|
+
) do |config| %>
|
46
|
+
<%= config.input :home_button_enabled,
|
47
|
+
as: :boolean,
|
48
|
+
label: I18n.t('activerecord.attributes.pageflow/entry_template.'\
|
49
|
+
'configuration.home_button_enabled') %>
|
50
|
+
<% end %>
|
51
|
+
<% end %>
|
52
|
+
<%= admin_widgets_fields(f, entry_template_config) %>
|
53
|
+
<% end %>
|
54
|
+
<%= f.actions do %>
|
55
|
+
<%= f.action(:submit) %>
|
56
|
+
<%= f.action(:cancel, :wrapper_html => {:class => 'cancel'}) %>
|
57
|
+
<% end %>
|
58
|
+
<% end %>
|
@@ -0,0 +1,48 @@
|
|
1
|
+
module Pageflow
|
2
|
+
module Admin
|
3
|
+
class EntryTemplatesTab < ViewComponent
|
4
|
+
def build(theming)
|
5
|
+
account = theming.account
|
6
|
+
table_subjects = account.existing_and_potential_entry_templates
|
7
|
+
|
8
|
+
table_for(table_subjects, i18n: Pageflow::EntryTemplate) do
|
9
|
+
column do |entry_template|
|
10
|
+
if entry_template.id
|
11
|
+
render 'admin/accounts/entry_template_details', entry_template: entry_template
|
12
|
+
else
|
13
|
+
h5(entry_template.translated_entry_type_name)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
column do |entry_template|
|
17
|
+
if entry_template.id
|
18
|
+
edit_link(entry_template, account)
|
19
|
+
else
|
20
|
+
new_link(entry_template, account)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def new_link(entry_template, account)
|
27
|
+
link_to(
|
28
|
+
I18n.t('active_admin.new'),
|
29
|
+
new_admin_account_entry_template_path(
|
30
|
+
account,
|
31
|
+
entry_template,
|
32
|
+
entry_type_name: entry_template.entry_type_name
|
33
|
+
)
|
34
|
+
)
|
35
|
+
end
|
36
|
+
|
37
|
+
def edit_link(entry_template, account)
|
38
|
+
link_to(
|
39
|
+
I18n.t('active_admin.edit'),
|
40
|
+
edit_admin_account_entry_template_path(
|
41
|
+
account,
|
42
|
+
entry_template
|
43
|
+
)
|
44
|
+
)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -1 +1 @@
|
|
1
|
-
<p>Replace by creating <code>app/views/pageflow/admin/users/_quota_exhausted.html.erb</code></p>
|
1
|
+
<p class="quota_exhausted_fallback">Replace by creating <code>app/views/pageflow/admin/users/_quota_exhausted.html.erb</code></p>
|
@@ -7,6 +7,11 @@ Pageflow.configure do |config|
|
|
7
7
|
|
8
8
|
config.admin_resource_tabs.register(:theming, name: :entries, component: Pageflow::Admin::EntriesTab)
|
9
9
|
config.admin_resource_tabs.register(:theming, name: :users, component: Pageflow::Admin::UsersTab)
|
10
|
+
config.admin_resource_tabs.register(
|
11
|
+
:theming,
|
12
|
+
name: :entry_templates,
|
13
|
+
component: Pageflow::Admin::EntryTemplatesTab
|
14
|
+
)
|
10
15
|
end
|
11
16
|
|
12
17
|
Pageflow.after_configure do |config|
|
@@ -1,10 +1,6 @@
|
|
1
1
|
Pageflow.configure do |config|
|
2
|
-
config.help_entries.register('pageflow.help_entries.overview', priority: 100)
|
3
|
-
config.help_entries.register('pageflow.help_entries.meta_data', priority: 50)
|
4
2
|
config.help_entries.register('pageflow.help_entries.files', priority: 40)
|
5
3
|
config.help_entries.register('pageflow.help_entries.text_tracks', priority: 35)
|
6
|
-
|
7
|
-
config.help_entries.register('pageflow.help_entries.page_options', priority: 20)
|
8
|
-
config.help_entries.register('pageflow.help_entries.atmo', priority: 7)
|
4
|
+
|
9
5
|
config.help_entries.register('pageflow.help_entries.publishing', priority: 5)
|
10
6
|
end
|
data/config/locales/de.yml
CHANGED
@@ -112,6 +112,7 @@ de:
|
|
112
112
|
less_than: Kleiner als
|
113
113
|
logout: Abmelden
|
114
114
|
main_content: Bitte implementieren Sie %{model}#main_content, um Inhalte anzuzeigen.
|
115
|
+
new: Neu erstellen
|
115
116
|
new_model: "%{model} erstellen"
|
116
117
|
next: Weiter
|
117
118
|
pagination:
|
@@ -195,6 +196,7 @@ de:
|
|
195
196
|
summary: Zusammenfassung
|
196
197
|
theme_name: Theme
|
197
198
|
title: Titel
|
199
|
+
type_name: Beitrags-Typ
|
198
200
|
updated_at: Geändert am
|
199
201
|
url: Permalink
|
200
202
|
with_publication_state: Veröffentlichungsstatus
|
@@ -207,6 +209,7 @@ de:
|
|
207
209
|
default_locale: Standard-Sprache
|
208
210
|
default_publisher: Standard-Herausgeber
|
209
211
|
default_share_providers: Standard-Share-Links
|
212
|
+
entry_type_name: Beitrags-Typ
|
210
213
|
theme_name: Theme
|
211
214
|
pageflow/folder:
|
212
215
|
account: Konto
|
@@ -353,6 +356,12 @@ de:
|
|
353
356
|
attributes:
|
354
357
|
folder:
|
355
358
|
must_be_same_account: Ordner muss zu gleichem Konto gehören wie Beitrag
|
359
|
+
type_name:
|
360
|
+
must_be_available_for_account: "'%{type_name}' ist für dieses Konto nicht verfügbar"
|
361
|
+
pageflow/entry_template:
|
362
|
+
attributes:
|
363
|
+
entry_type_name:
|
364
|
+
taken: bereits konfiguriert. Es existiert bereits eine Beitragsvorlage für den Beitrags-Typ in diesem Konto. Kehre zum Beitragsvorlagen-Tab zurück und bearbeite die existierende Beitragsvorlage anstatt eine neue anzulegen.
|
356
365
|
pageflow/membership:
|
357
366
|
attributes:
|
358
367
|
user:
|
@@ -382,6 +391,9 @@ de:
|
|
382
391
|
pageflow/entry:
|
383
392
|
one: Beitrag
|
384
393
|
other: Beiträge
|
394
|
+
pageflow/entry_template:
|
395
|
+
one: Beitragsvorlage
|
396
|
+
other: Beitragsvorlagen
|
385
397
|
pageflow/folder:
|
386
398
|
one: Ordner
|
387
399
|
other: Ordner
|
@@ -433,6 +445,9 @@ de:
|
|
433
445
|
telegram: Telegram (nur Mobilgeräte)
|
434
446
|
twitter: Twitter
|
435
447
|
whats_app: WhatsApp (nur Mobilgeräte)
|
448
|
+
type_names:
|
449
|
+
paged: Seitenbasiert / klassisch
|
450
|
+
scrolled: Kontinuierlich scrollend / Pageflow Next
|
436
451
|
pageflow/membership:
|
437
452
|
role:
|
438
453
|
editor: Redakteur
|
@@ -777,6 +792,7 @@ de:
|
|
777
792
|
cannot_add: Was Sie tun möchten, ist nicht möglich.
|
778
793
|
none_addable_tooltip: Kein Konto verfügbar
|
779
794
|
accounts:
|
795
|
+
entry_template_hint: Einige Formularfelder sind ab sofort im Beitragsvorlagen-Tab auf der Informations-Seite dieses Kontos zu finden.
|
780
796
|
no_entries: Keine Beiträge
|
781
797
|
no_members: Keine Benutzer
|
782
798
|
theming_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.
|
@@ -798,6 +814,7 @@ de:
|
|
798
814
|
members: Mitglieder
|
799
815
|
no_members: Es sind keine Redakteure zugeordnet.
|
800
816
|
no_revisions: Bisher keine Revisionen
|
817
|
+
not_allowed_to_see_entry_types: Sie sind nicht berechtigt, die verfügbaren Beitrags-Typen für dieses Konto abzurufen
|
801
818
|
not_published: Nicht veröffentlicht
|
802
819
|
password_protected: Mit Passwortschutz
|
803
820
|
preview: Vorschau
|
@@ -828,6 +845,10 @@ de:
|
|
828
845
|
entry_membership_hint: Laden Sie Benutzer in Ihr Konto ein, um sie als Mitglieder dieser Story zuzuweisen.
|
829
846
|
none_addable_tooltip: Kein Beitrag verfügbar
|
830
847
|
user_quota_exhausted: Ihr Benutzerkontingent ist erschöpft.
|
848
|
+
entry_templates:
|
849
|
+
page_title:
|
850
|
+
edit: Beitragsvorlage bearbeiten für Beitrags-Typ
|
851
|
+
new: Beitragsvorlage erstellen für Beitrags-Typ
|
831
852
|
features:
|
832
853
|
states:
|
833
854
|
default: Standard (%{inherited})
|
@@ -850,6 +871,7 @@ de:
|
|
850
871
|
account_editor_hint: Auf Kontoebene zugeordnete Benutzer sind hier nicht aufgeführt
|
851
872
|
accounts: Konten
|
852
873
|
entries: Beiträge
|
874
|
+
entry_templates: Beitragsvorlagen
|
853
875
|
features: Features
|
854
876
|
members: Mitglieder
|
855
877
|
revisions: Revisionen
|
@@ -904,6 +926,7 @@ de:
|
|
904
926
|
no_accounts: Keine Konten
|
905
927
|
no_entries: Keine Beiträge
|
906
928
|
none: Sie haben keine Beiträge.
|
929
|
+
not_allowed_to_see_user_quota: Sie sind nicht berechtigt, die Nutzer-Quota für dieses Konto abzurufen.
|
907
930
|
resend_invitation: Einladung erneut verschicken
|
908
931
|
resent_invitation: Der Benutzer wurde erneut per E-Mail eingeladen.
|
909
932
|
roles:
|
@@ -948,7 +971,7 @@ de:
|
|
948
971
|
help_entries:
|
949
972
|
page_type:
|
950
973
|
menu_item: Audio
|
951
|
-
text: "# Audio\n\n*Wiedergabe von Audiodatei mit Steuerelementen* \n \nHiermit kannst Du Audiodateien mit Hintergrund-Bild oder Hintergrund-Video und Textinhalten\nkombinieren. Wie beim Seitentyp „Video“ werden\nSteuerelemente angezeigt, und ebenso kann eine zusätzliche\nInfobox mit Text befüllt werden.\n\nTypische Anwendungsbeispiele: Interview, O-Töne,\nMusikstücke"
|
974
|
+
text: "# Audio\n\n*Wiedergabe von Audiodatei mit Steuerelementen* \n \nHiermit kannst Du Audiodateien mit Hintergrund-Bild oder Hintergrund-Video und Textinhalten\nkombinieren. Wie beim Seitentyp „Video“ werden\nSteuerelemente angezeigt, und ebenso kann eine zusätzliche\nInfobox mit Text befüllt werden.\n\nUnter „Optionen“ kann das Erscheinungsbild des Players auf die Visualisierung der Waveform eines Audio-Files gewechselt werden.\n\nTypische Anwendungsbeispiele: Interview, O-Töne,\nMusikstücke"
|
952
975
|
open: Audio anhören
|
953
976
|
page_attributes:
|
954
977
|
audio_player_controls_variant:
|
@@ -969,27 +992,7 @@ de:
|
|
969
992
|
help_entries:
|
970
993
|
page_type:
|
971
994
|
menu_item: Hintergrund-Bild/-Video
|
972
|
-
text:
|
973
|
-
# Hintergrund-Bild/-Video
|
974
|
-
|
975
|
-
Bildschirmfüllendes Bild und Text
|
976
|
-
|
977
|
-
Mit dem Seitentyp „Hintergrund-Bild/-Video“ werden großformatige
|
978
|
-
Bilder oder Videos mit Text überlagert und zur optimalen Lesbarkeit
|
979
|
-
mit einem manuell einstellbaren Farbverlauf gepaart. über
|
980
|
-
die Auswahl des Bildausschnitts stellst Du sicher, dass
|
981
|
-
Dein Bild auch auf mobilen Endgeräten optimal dargestellt
|
982
|
-
wird. Wahlweise kann der Text für einen ausreichenden
|
983
|
-
Kontrast auch invertiert - also von hell in dunkel -
|
984
|
-
vertauscht werden. Das bietet sich bei hellen
|
985
|
-
Hintergrund-Bildern an.
|
986
|
-
|
987
|
-
User haben übrigens die Möglichkeit Farbverlauf und Text
|
988
|
-
im Front-End auszublenden, sofern Sie sich speziell für
|
989
|
-
das Hintergrund-Bild oder - Video interessieren.
|
990
|
-
|
991
|
-
Typische Anwendungsbeispiele: Präsentation, Teil einer
|
992
|
-
Bildergalerie, Portrait
|
995
|
+
text: "# Hintergrund-Bild/-Video\n\n*Bildschirmfüllendes Bild und Text*\n\nMit dem Seitentyp „Hintergrund-Bild/-Video“ werden großformatige Bilder oder Videos mit Text überlagert und zur optimalen Lesbarkeit mit einem manuell einstellbaren Farbverlauf gepaart. Über die Auswahl des Bildausschnitts stellst Du sicher, dass Dein Bild auch auf mobilen Endgeräten im Portrait-Modus den relevanten Ausschnitt deines Motivs zeigt. \n\nWahlweise kann der Text für einen ausreichenden\nKontrast auch invertiert - also von hell in dunkel -\nvertauscht werden. Das bietet sich bei hellen\nHintergrund-Bildern an.\n\nUser haben übrigens die Möglichkeit Farbverlauf und Text\nim Front-End auszublenden, sofern Sie sich speziell für\ndas Hintergrund-Bild oder - Video interessieren.\n\nTypische Anwendungsbeispiele: Präsentation, Teil einer\nBildergalerie, Portrait\n\n**Hinweis zum Ton bei Hintergrund-Videos:** Aufgrund technischer Einschränkungen, basierend auf der „Autoplay Policy“ der Browser-Hersteller, können Videos mit Ton nicht auf allen Geräten/Browsern automatisch abgespielt werden. \n\nUm die Wiedergabe von Videoloops auf mobilen Geräten und bei Safari auf Desktop und Tablets zu ermöglichen wird der Ton daher unterdrückt. Bei Chrome wird diese Einschränkung durch einen Unmute-Button umgangen, bei Firefox entscheiden Nutzer selbst, ob die automatische Wiedergabe von Audios zugelassen wird."
|
993
996
|
page_type_category_name: Basic
|
994
997
|
page_type_description: Bildschirmfüllendes Bild oder Video-Loop mit Text
|
995
998
|
page_type_name: Hintergrund Bild/Video
|
@@ -1237,10 +1240,8 @@ de:
|
|
1237
1240
|
page_link:
|
1238
1241
|
reset: Zurücksetzen
|
1239
1242
|
emulation_mode_button:
|
1240
|
-
desktop: Desktop
|
1241
1243
|
disabled_hint: Von diesem Seitentyp nicht unterstützt
|
1242
|
-
|
1243
|
-
phone: Phone
|
1244
|
+
tooltip: Desktop/ Phone Vorschau
|
1244
1245
|
entry_preview:
|
1245
1246
|
navigation_disabled_hint: Seitenwechsel sind innerhalb der Phone Vorschau nicht möglich.
|
1246
1247
|
file_item:
|
@@ -1415,6 +1416,9 @@ de:
|
|
1415
1416
|
widgets:
|
1416
1417
|
attributes:
|
1417
1418
|
media_loading_spinner:
|
1419
|
+
animation_duration:
|
1420
|
+
inline_help: Steuert die Animationsdauer beim Laden des Spinners
|
1421
|
+
label: Animationsdauer
|
1418
1422
|
blur_strength:
|
1419
1423
|
inline_help: Steuern Sie die Unschärfe des Hintergrundbilds.
|
1420
1424
|
label: Unschärfe
|
@@ -1424,6 +1428,9 @@ de:
|
|
1424
1428
|
remove_logo:
|
1425
1429
|
label: Logo entfernen
|
1426
1430
|
title_loading_spinner:
|
1431
|
+
animation_duration:
|
1432
|
+
inline_help: Steuert die Animationsdauer beim Laden des Spinners
|
1433
|
+
label: Animationsdauer
|
1427
1434
|
blur_strength:
|
1428
1435
|
inline_help: Steuern Sie die Unschärfe des Hintergrundbilds.
|
1429
1436
|
label: Unschärfe
|
@@ -1469,22 +1476,6 @@ de:
|
|
1469
1476
|
overview_button_enabled_disabled:
|
1470
1477
|
inline_help: Diese Funktion steht in diesem Theme nicht zur Verfügung.
|
1471
1478
|
help_entries:
|
1472
|
-
atmo:
|
1473
|
-
menu_item: Atmo Audio
|
1474
|
-
text: |-
|
1475
|
-
# Atmo Audio
|
1476
|
-
|
1477
|
-
Mit der „Atmo“ kann jede Seite, unabhängig vom Seitentyp, im Hintergrund Sound abspielen. Dabei kannst Du bestimmen, ob ein Sound nur auf einer Seite zu hören ist oder über mehrere Seiten ohne Unterbrechung läuft. Wähle dazu einfach für die benachbarten Seiten die selbe Audiodatei als Atmo aus.
|
1478
|
-
|
1479
|
-
Auf diese Weise lassen sich Kapitel akustisch voneinander absetzen und zusammenhängende Seiten stärker verweben.
|
1480
|
-
|
1481
|
-
Beim Seitentyp Video kann zusätzlich ausgwählt werden, ob der Hintergrundsound während der Video-Wiedergabe normal oder leiser weitergespielt oder ganz ausgeblendet werden soll.
|
1482
|
-
|
1483
|
-
Die Einstellung der Atmo-Sounds erreichst du bei jeder Seite über den Reiter „Optionen“.
|
1484
|
-
|
1485
|
-
Sollte Dich die Atmo während der Bearbeitung Deines Beitrags im Editor einmal stören, kannst Du sie mit der Tastenkombination „Alt + a“ vorübergehend stumm schalten. Um die Atmo wieder zu aktivieren, drücke einfach erneut „Alt + a“.
|
1486
|
-
|
1487
|
-
ACHTUNG: Atmo-Audios werden auf mobilen Geräten nicht wiedergegeben.
|
1488
1479
|
files:
|
1489
1480
|
menu_item: Dateien verwalten
|
1490
1481
|
text: |-
|
@@ -1530,13 +1521,6 @@ de:
|
|
1530
1521
|
die Verarbeitung noch nicht abgeschlossen ist. Während des
|
1531
1522
|
Ladevorgangs kann also problemlos weiter gearbeitet werden.
|
1532
1523
|
|
1533
|
-
## Datei-Einstellungen bearbeiten
|
1534
|
-
|
1535
|
-
Für jede Datei kann über die Schaltfläche "Einstellungen
|
1536
|
-
bearbeiten" ein Dialog mit weiteren Optionen angezeigt
|
1537
|
-
werden. Hier können z.B. die beim Upload eingegebenen
|
1538
|
-
Metadaten (wie die Angaben zum Urheberrecht) noch einmal
|
1539
|
-
bearbeiten werden.
|
1540
1524
|
|
1541
1525
|
## Dateien wiederverwenden
|
1542
1526
|
|
@@ -1546,73 +1530,72 @@ de:
|
|
1546
1530
|
"Dateien verwalten“ auf "Hinzufügen -> Wiederverwenden", um
|
1547
1531
|
andere Beiträge nach Dateien zu durchsuchen und sie in den
|
1548
1532
|
bearbeiteten Beitrag zu übernehmen.
|
1549
|
-
meta_data:
|
1550
|
-
menu_item: Titel und Optionen
|
1551
|
-
text: |
|
1552
|
-
# Titel und Optionen
|
1553
|
-
|
1554
|
-
## Allgemein
|
1555
|
-
|
1556
|
-
### Titel des Pageflows
|
1557
1533
|
|
1558
|
-
|
1559
|
-
Titelleiste des Browserfensters angezeigt wird. Unter diesem
|
1560
|
-
Titel wird Dein Pageflow nach der Veröffentlichung auch in
|
1561
|
-
Suchmaschinen indiziert werden.
|
1562
|
-
|
1563
|
-
### Sprache
|
1564
|
-
|
1565
|
-
Wähle hier, in welcher Sprache Dein Pageflow ausgespielt
|
1566
|
-
wird. Hierbei geht es um nicht editierbare Texte, wie
|
1567
|
-
z.B. den Multimedia-Hinweis, Scroll-Hinweis, die Übersicht
|
1568
|
-
und Impressum.
|
1569
|
-
|
1570
|
-
### Impressum
|
1571
|
-
|
1572
|
-
Hier kannst Du Deine Impressums-Information im Freitext
|
1573
|
-
eingeben.
|
1534
|
+
## Datei-Einstellungen bearbeiten
|
1574
1535
|
|
1575
|
-
|
1536
|
+
Für jede Datei kann über die Schaltfläche "Einstellungen
|
1537
|
+
bearbeiten" ein Dialog mit weiteren Optionen angezeigt
|
1538
|
+
werden. Hier können z.B. die beim Upload eingegebenen
|
1539
|
+
Metadaten (wie die Angaben zum Urheberrecht) noch einmal
|
1540
|
+
bearbeiten werden.
|
1541
|
+
meta_data:
|
1542
|
+
general:
|
1543
|
+
menu_item: Allgemein
|
1544
|
+
text: |
|
1545
|
+
# Allgemein
|
1576
1546
|
|
1577
|
-
|
1547
|
+
## Titel des Pageflows
|
1578
1548
|
|
1579
|
-
|
1549
|
+
Hier kannst Du Deinem Pageflow einen Titel geben, der in der
|
1550
|
+
Titelleiste des Browserfensters angezeigt wird. Unter diesem
|
1551
|
+
Titel wird Dein Pageflow nach der Veröffentlichung auch in
|
1552
|
+
Suchmaschinen indiziert werden.
|
1580
1553
|
|
1581
|
-
|
1554
|
+
## Sprache
|
1582
1555
|
|
1583
|
-
|
1584
|
-
|
1556
|
+
Wähle hier, in welcher Sprache Dein Pageflow ausgespielt
|
1557
|
+
wird. Hierbei geht es um die Frontend-Elemente wie
|
1558
|
+
z.B. Scroll-Hinweise, die Mouse-over-Texte der Navigation
|
1559
|
+
und das Impressum.
|
1585
1560
|
|
1586
|
-
|
1561
|
+
## Credits
|
1587
1562
|
|
1588
|
-
|
1589
|
-
|
1563
|
+
Hier kannst Du Deine Impressums-Information im Freitext
|
1564
|
+
eingeben. Zudem können für alle Dateien unter „Dateien
|
1565
|
+
verwalten“ auch Bildrechte vergeben werden, die dann
|
1566
|
+
automatisch im Impressum angezeigt werden.
|
1567
|
+
menu_item: Titel und Optionen
|
1568
|
+
social:
|
1569
|
+
menu_item: Social
|
1570
|
+
text: |
|
1571
|
+
# Social
|
1590
1572
|
|
1591
|
-
|
1573
|
+
## Social Sharing Bild
|
1592
1574
|
|
1593
|
-
|
1594
|
-
|
1595
|
-
auf die Homepage, von der aus Du den Pageflow verlinkt hast.
|
1575
|
+
Wähle hier das Bild aus, das beim Teilen des Pageflows in
|
1576
|
+
sozialen Netzwerken erscheinen soll.
|
1596
1577
|
|
1597
|
-
|
1578
|
+
## Zusammenfassung
|
1598
1579
|
|
1599
|
-
|
1600
|
-
|
1601
|
-
mobilen Endgeräten statt der Navigationsleiste aus
|
1602
|
-
Platzgründen in beiden Fällen lediglich das Icon „Übersicht“
|
1603
|
-
angezeigt wird.
|
1580
|
+
Trage hier ein, welcher Beschreibungstext beim Teilen in
|
1581
|
+
sozialen Netzwerken angezeigt wird.
|
1604
1582
|
|
1605
|
-
|
1583
|
+
## Social Sharing URL
|
1606
1584
|
|
1607
|
-
|
1585
|
+
Wenn Beiträge in eigene Webseiten (mit abweichender URL)
|
1586
|
+
eingebettet werden kann hier eine individuelle URL
|
1587
|
+
festgelegt werden, die beim Teilen des Beitrags verwendet
|
1588
|
+
werden soll.
|
1608
1589
|
|
1609
|
-
|
1610
|
-
sozialen Netzwerken erscheinen soll.
|
1590
|
+
## Social Share Links
|
1611
1591
|
|
1612
|
-
|
1592
|
+
Bestimme, welche Share-Buttons beim Klick auf die
|
1593
|
+
„Share-Funktion“ angezeigt werden soll.
|
1594
|
+
text: |
|
1595
|
+
# Titel und Optionen
|
1613
1596
|
|
1614
|
-
|
1615
|
-
|
1597
|
+
Allgemeine Einstellungen für den Beitrag. Bitte einen
|
1598
|
+
Unterpunkt auf der linken Seite auswählen.
|
1616
1599
|
outline:
|
1617
1600
|
menu_item: Kapitel und Seiten
|
1618
1601
|
text: |
|
@@ -1639,58 +1622,6 @@ de:
|
|
1639
1622
|
sich Pageflow, als ob keine Kapitelstruktur vorhanden
|
1640
1623
|
ist. (Kapitel und Kapiteltitel werden in diesem Falle nicht
|
1641
1624
|
in der Übersicht bzw. Navigation dargestellt).
|
1642
|
-
overview:
|
1643
|
-
menu_item: Übersicht
|
1644
|
-
text: |
|
1645
|
-
# Übersicht
|
1646
|
-
|
1647
|
-
Dies ist der Editor zum Bearbeiten eines Pageflows. Mit
|
1648
|
-
seiner Zweiteilung ermöglicht er die direkte Vorschau
|
1649
|
-
während der Bearbeitung, zeigt Änderungen am Text oder neu
|
1650
|
-
ausgewählte Dateien unmittelbar an und speichert diese
|
1651
|
-
automatisch.
|
1652
|
-
|
1653
|
-
Die Seitenleiste kann durch einen Klick auf den Anfasser zur
|
1654
|
-
Größenänderung ein- und ausgeblendet werden. Mit einem
|
1655
|
-
Verschieben der Seitenleiste nach links und rechts kannst Du
|
1656
|
-
die Größe des Vorschaufensters verändern. Wird das
|
1657
|
-
Vorschaufenster schmal, und somit eher zu einem hochkantigen
|
1658
|
-
Mobiltelefon-Format gestaucht, wird aus Platzgründen statt
|
1659
|
-
der Navigationsleiste nur das Icon „Übersicht“ angezeigt.
|
1660
|
-
|
1661
|
-
Die Navigation des Editors ist unterteilt in die vier
|
1662
|
-
Bereiche:
|
1663
|
-
|
1664
|
-
## Titel und Optionen
|
1665
|
-
|
1666
|
-
Unter „Titel und Optionen“ kannst Du grundsätzliche
|
1667
|
-
Parameter des Erscheinungsbildes, sowie Titel, Sprache,
|
1668
|
-
Impressum etc. einstellen. Dazu können Texte festgelegt
|
1669
|
-
werden, die beim Teilen des Beitrags über Social Media
|
1670
|
-
Dienste angezeigt werden sollen.
|
1671
|
-
|
1672
|
-
Details findest Du unter: [Titel und Optionen](#pageflow.help_entries.meta_data)
|
1673
|
-
|
1674
|
-
## Dateien verwalten
|
1675
|
-
|
1676
|
-
Unter „Dateien verwalten“ lädst Du die Mediendateien hoch,
|
1677
|
-
die im Pageflow verwendet werden sollen. Du kannst hier auch
|
1678
|
-
bereits hochgeladene Videos, Fotos und Audios
|
1679
|
-
wiederverwenden.
|
1680
|
-
|
1681
|
-
Details findest Du unter: [Dateien verwalten](#pageflow.help_entries.files)
|
1682
|
-
|
1683
|
-
## Gliederung
|
1684
|
-
|
1685
|
-
Über die „Gliederung“ kannst Du Kapitel und Seiten
|
1686
|
-
hinzufügen, also die eigentlichen Inhalte bearbeiten. Per
|
1687
|
-
Drag&Drop lassen sich Seiten und Kapitel auch jederzeit
|
1688
|
-
umsortieren.
|
1689
|
-
|
1690
|
-
Details findest Du unter: [Kapitel und Seiten](#pageflow.help_entries.outline)
|
1691
|
-
page_options:
|
1692
|
-
menu_item: Allgemeine Seitenoptionen
|
1693
|
-
text: "# Allgemeine Seitenoptionen\n\n### Titel\n\nHier gibst Du den Titel der jeweiligen Seite ein. Dieser\nwird nicht nur als Überschrift des Fliesstextes der Seite\nausgespielt, sondern dient zudem als Titel innerhalb der\nNavigation und der Übersicht. Wird eine einzelne Seite in\nsozialen Netzwerken geteilt, ist dieser Titel zugleich auch\nder Titel des Social Media-Beitrages.\n\n### Titel ausblenden\n\nOptional lässt sich der Titel auch ausblenden. Das heisst:\nEr wird nicht mehr als Überschrift im Fliesstext\nangezeigt. Er bleibt zur Identifikation einer Seite\nallerdings in Navigation, Übersicht und geteilten Beträgen\nerhalten.\n\n### Tagline und Untertitel\n\nHier kann wahlweise eine Tagline und/oder ein Untertitel\neingegeben werden. Falls Du ein Häkchen bei „Titel\nausblenden“ gesetzt hast, sind Tagline und Untertitel über\ndem Fliesstext ebenfalls nicht zu sehen.\n\n### Text\n\nDer Textblock kann mit den Buttons unterhalb des\nEingabefeldes formatiert werden. [ B=Fett / I=kursiv /\nU=unterstrichen „gekippte acht“=Link/URL auf fremde Seite\neinfügen].\n\nAlle Änderungen sind in der linken Frontend-Ansicht\nsichtbar, sobald das entsprechende Texteingabefeld im\nEditierbereich verlassen wurde.\n\n### Textposition\n\nWähle hier, ob der Text auf der linken oder rechten Seite\nangezeigt wird.\n\n### Intensität der Abblendung\n\nDie Intensität des Farbverlaufs dient der Lesbarkeit von\nTexten auf Videos oder Bildern.\n\nDurch den Schieberegler kann der Bildhintergrund so stark\nabgedunkelt bzw. aufgehellt werden, bis der Kontrast\nzwischen Bild und Text ausreichend ist.\n\n### Farben invertieren\n\nBeim Invertieren werden „hell“ und „dunkel“ vertauscht, die\nsonst weiße Schrift ändert sich dabei automatisch in\nschwarz.\n\nGrundsätzlich gilt: Helle Schrift für dunkle Bilder, dunkle\nSchrift für helle Bilder.\n\n### Thumbnail\n\nDas Thumbnail ersetzt das ansonsten automatisch generierte\nVorschaubild in der Navigation und in der Übersicht.\n\n### In Navigationsleiste anzeigen\n\nIst diese Option nicht gesetzt, wird die jeweilige Seite\nnicht in der Navigation repräsentiert, kann also nicht\ndirekt über die Navigation erreicht werden.\n\nDies bietet sich vor allem für Seiten an, die inhaltlich als\n„Unterseiten“ einer anderen Seite anzusehen sind.\n\n### Übergangseffekt\n\nEs gibt verschiedene Effekte, die sichtbar sind, wenn von einer Kapitelseite zur nächsten gescrollt oder geklickt wird. Zur Auswahl stehen Seitenübergänge, wie „Überblendung“, „Schwarzblende“ oder „Harter Schnitt“ die sich vertikal auswirken, zudem kann auch „Horizontal Scrollen“ von rechts oder links ausgewählt werden. \n\nWelcher Effekt verwendet wird, kann unter „Optionen“ individuell für jede Seite festgelegt werden.\n\n### Text verzögert einblenden\n\nBestimme mit dieser Option, ob Text und Abblendung mit zeitlicher Verzögerung angezeigt werden.\nHierbei sehen User zunächst nur den Hintergrund, dann erscheinen Titel, Tagline und Untertitel und mit minimaler Verzögerung schließlich der Fließtext.\n\nInsgesamt stehen drei Verzögerungslängen zur Verfügung: kurz = 1 Sekunde, mittel = 3 Sekunde, lang = 5 Sekunde.\n\nDieses Feature eignet sich zum Beispiel für Intros oder Kapitelanfänge.\n\n### Beschreibung für Übersicht\n\nHier kann der Text eingegeben werden, der angezeigt wird,\nwenn der User in der Übersicht mit der Mouse über die\njeweilige Seite fährt. Außerdem entspricht der hier\neingegebene Text"
|
1694
1625
|
page_types:
|
1695
1626
|
menu_item: Seitentypen
|
1696
1627
|
text: |
|
@@ -1703,10 +1634,7 @@ de:
|
|
1703
1634
|
in der linken Spalte.
|
1704
1635
|
publishing:
|
1705
1636
|
menu_item: Veröffentlichen
|
1706
|
-
text: "# Veröffentlichen\n\nKlicke in der Gliederung auf die Schaltfläche\n„Veröffentlichen“ um Deinen Pageflow zu publizieren. Eine\nReportage kann entweder zeitlich unbegrenzt oder bis zu\neinem bestimmten Stichtag veröffentlicht\nwerden. \n\nAußerdem gibt es die Möglichkeit, Pageflows mit einem Passwort zu schützen. \nHierzu muss einfach das entsprechende Häkchen bei „Mit Passwort schützen\" gesetzt werden. \nDas System verwendet als Benutzernamen den Namen des Kontos und generiert ein Passwort, \nwelches auch manuell geändert werden kann. \n\nBeiträge, die bereits veröffentlicht sind, können nachträglich mit einem Passwort geschützt werden -
|
1707
|
-
storylines:
|
1708
|
-
menu_item: Erzählstränge
|
1709
|
-
text: "# Erzählstränge\n\nErgänzend zur linearen Erzählung von „oben nach unten“, können auch weitere (non-lineare) Erzählstränge als Exkurse zu vertiefenden Inhalten genutzt werden. Mit „Erzählstrang“ ist hier die zusammenhängende Kapitel- und Seitenabfolge gemeint, durch die ein User hindurch scrollt. Zu unterscheiden ist zwischen dem sogenannten Haupterzählstrang, in dem ein User zu Beginn eines Pageflows einsteigt, und weiteren untergeordneten Erzählsträngen. \n\nUm vom Haupterzählstrang einen Abzweig zu erstellen, benutze eine „Verweise“-Seite (Mosaik, Collage oder Hotspot) und lege auf der jeweiligen Seite unter „Verweise“ die entsprechenden Verknüpfungen an. \n\nDabei kann durch das Festlegen einer „übergeordneten Seite“ bestimmt werden, zu welcher Seite der User am Ende des Erzählstrangs gelangt.\n\nOptisch unterstützt werden diese Exkurse in untergeordnete Erzählstränge durch einen horizontalen Seitenübergangseffekt, der beim Eintreten und Verlassen dieser Stränge automatisch eingestellt ist. \n\nErstellt werden diese Erzählstränge in der Gliederung über ein Klick auf die Plus-Schaltfläche neben der Erzählstrang-Auswahl. Dabei öffnet sich automatisch ein neues Kapitel, in dem dann weitere Seiten angelegt werden können.\n\n\n### Übergeordnete Seiten\n\nIn jedem Untererzählstrang muss eine „Übergeordnete Seite“ festgelegt werden, die bestimmt, wohin ein User beim zurück-scrollen gelangt. Mit einem Klick auf das Stift-Symbol neben der Erzählstrang-Auswahl kann diese Zielseite ausgewählt werden. Durch die Auswahl einer übergeordneten Seite erscheint auf allen Seiten eines untergeordneten Erzählstrangs zudem automatisch ein „Zurück“-Button, der zu der übergeordneten Seite führt. \n\n\n### Kapitel-Hierarchie\n\nDurch die Verwendung mehrerer „untergeordneter“ Erzählstränge und der Festlegung von übergeordneten Seiten ergibt sich eine Kapitelhierarchie, wie man sie auch von Buch-Gliederungen kennt:\n\n1. (Hauptstrang), 1.1 (Übergeordneter Unterstrang), 1.1.1 (vertiefende Seite im übergeordneten Unterstrang) und so weiter.\n\nDiese Hierarchie kann nachträglich in der Erzählstrang-Auswahl über ein Klick auf Stift-Symbol geändert werden. Ein untergeordneter Erzählstrang kann an dieser Stelle zudem auch nachträglich zum Haupt-Erzählstrang umsortiert werden.\n\n\n### Scroll-Nachfolger\n\nFalls der User von der letzten Seite eines Unterkapitels (1.1.1) auf eine andere Stelle im Beitrag geleitet werden soll (z.B. 2.1), kann hierzu ebenfalls über das Stiftsymbol in den Erzählstrang-Einstellungen der sogenannte „Scroll-Nachfolger“ festgelegt werden. Um in dem Beispiel zu bleiben wäre der folgende Ablauf denkbar: 1 -> 1.1 -> 1.1.1 -> 2.1\n\nAchtung: Während des Editierens wird immer nur das aktuell ausgewählte Kapitel angezeigt. Um zu den anderen Erzählsträngen zu gelangen klicke auf das Auswahlmenü „Erzählstrang“."
|
1637
|
+
text: "# Veröffentlichen\n\nKlicke in der Gliederung auf die Schaltfläche\n„Veröffentlichen“ um Deinen Pageflow zu publizieren. Eine\nReportage kann entweder zeitlich unbegrenzt oder bis zu\neinem bestimmten Stichtag veröffentlicht\nwerden. \n\n### Passwortschutz\n\nAußerdem gibt es die Möglichkeit, Pageflows mit einem Passwort zu schützen. \nHierzu muss einfach das entsprechende Häkchen bei „Mit Passwort schützen\" gesetzt werden. \nDas System verwendet als Benutzernamen den Namen des Kontos und generiert ein Passwort, \nwelches auch manuell geändert werden kann. \n\nBeiträge, die bereits veröffentlicht sind, können nachträglich mit einem Passwort geschützt werden - und andersherum können auch geschützte Beiträge anschließend mit erneutem Klick auf „Veröffentlichen“ vom Passwortschutz befreit werden. Bei der Veröffentlichung werden die auszuführenden Schritte im Dialogfenster angezeigt und erklärt.\n\n### Änderungen nach der Veröffentlichung\n\nVeröffentlichte Pageflows können jederzeit manuell depubliziert werden. Sollte eine Reportage bereits veröffentlicht sein, werden nachträgliche Änderungen erst öffentlich sichtbar, sobald die Reportage erneut veröffentlicht wird. \n\n\n### Einbettung als iframe\n\nVeröffentlichte Beiträge können auch in die eigene Webseite eingebettet werden. Weitere Informationen findest Du in diesem [Artikel](https://pageflow.freshdesk.com/support/solutions/articles/11000002742-wie-kann-ich-einen-beitrag-in-eine-webseite-einbetten)\n\n### Einbettung iframe-Teaser \n\nVorschaubild zum Einbetten in Externe Webseiten Nach der Veröffentlichung erstellt das System ein Vorschaubild, das als iframe zur Verlinkung in eine externe Seite eingebunden werden kann. Anhand des ausgespielten Codes lässt sich die\nGröße des iframes frei einstellen. Hierbei ist jedoch eine Mindesthöhe von 150px und und eine Mindestbreite von 220px zu beachten."
|
1710
1638
|
text_tracks:
|
1711
1639
|
menu_item: Textspuren
|
1712
1640
|
text: |-
|
@@ -1815,10 +1743,14 @@ de:
|
|
1815
1743
|
scroll_over_from_left: Überlagern (von links)
|
1816
1744
|
scroll_over_from_right: Überlagern (von rechts)
|
1817
1745
|
scroll_right: Scrollen (von rechts)
|
1746
|
+
paged_entry_type:
|
1747
|
+
feature_name: Beitragstyp Seitenbasiert/Klassisch
|
1818
1748
|
phone_horizontal_slideshow_mode:
|
1819
1749
|
feature_name: Horizontales Wischen auf Phones
|
1820
1750
|
quotas:
|
1821
1751
|
exhausted: Quota verbraucht.
|
1752
|
+
scrolled_entry_type:
|
1753
|
+
feature_name: Beitragstyp Kontinuierlich Scrollend/Pageflow Next
|
1822
1754
|
selectable_themes:
|
1823
1755
|
feature_name: Editor-Theme-Auswahl
|
1824
1756
|
storyline_attributes:
|
@@ -1871,6 +1803,7 @@ de:
|
|
1871
1803
|
author: Name des Autors.
|
1872
1804
|
credits: Text wird zusammen mit dem Impressumsverweis angezeigt.
|
1873
1805
|
keywords: Schlüsselwörter als Vorschlag für Suchmaschinen.
|
1806
|
+
locale: Sprache der Beschriftungen in Navigationsleisten und Steuerelementen des Beitrags.
|
1874
1807
|
publisher: Name oder Firmenname des Herausgeber.
|
1875
1808
|
share_providers: Social Media Plattformen, die unter dem Menüpunkt "Teilen" des Beitrags angezeigt werden sollen
|
1876
1809
|
share_url: URL, die geteilt werden soll, wenn der Benutzer auf einen der Social Media Buttons klickt. Feld frei lassen, um URL des veröffentlichten Beitrags zu verwenden.
|
@@ -1961,7 +1894,7 @@ de:
|
|
1961
1894
|
help_entries:
|
1962
1895
|
page_type:
|
1963
1896
|
menu_item: Video
|
1964
|
-
text: "# Video\n\n*Wiedergabe einer Videodatei mit Steuerelementen* \n \nAnders als bei „Hintergrund-Videos“ werden hier Textelemente nach ein\npaar Sekunden automatisch ausgeblendet, um die\nAufmerksamkeit auf das Bewegtbild zu lenken. Mit\nSteuerelementen kann der Nutzer das Video jederzeit\nstarten und pausieren, vor- oder zurückspulen. Ein\nweiterer Unterschied ist, dass Du wählen kannst, ob ein\nVideo automatisch gestartet wird, sobald die Seite\nangezeigt wird. Als dezente Alternative oder Ergänzung zu\nden normalen Texteingabemöglichkeiten, kann eine\nsogenannte „Infobox“ mit Text befüllt werden.\n\nUnter Optionen lässt sich ein automatisches
|
1897
|
+
text: "# Video\n\n*Wiedergabe einer Videodatei mit Steuerelementen* \n \nAnders als bei „Hintergrund-Videos“ werden hier Textelemente nach ein\npaar Sekunden automatisch ausgeblendet, um die\nAufmerksamkeit auf das Bewegtbild zu lenken. Mit\nSteuerelementen kann der Nutzer das Video jederzeit\nstarten und pausieren, vor- oder zurückspulen. Ein\nweiterer Unterschied ist, dass Du wählen kannst, ob ein\nVideo automatisch* gestartet wird, sobald die Seite\nangezeigt wird. Als dezente Alternative oder Ergänzung zu\nden normalen Texteingabemöglichkeiten, kann eine\nsogenannte „Infobox“ mit Text befüllt werden.\n\nUnter Optionen lässt sich ein automatisches Weiterscrollen am Ende des Videos aktivieren. \nDas kann nützlich sein, um einen nahtlosen Übergang zur nächsten Seite herzustellen.\n\nTypische Anwendungsbeispiele: Filme aller Art, Interviews,\nPortrait\n\n*Hinweis zum Autoplay bei Videos: Aufgrund technischer Einschränkungen, basierend auf der „Autoplay Policy“ der Browser-Hersteller, können Videos mit Ton nicht auf allem Geräten/Browsern automatisch abgespielt werden. Bei Safari und auf mobilen Geräten können Videos nur manuell gestartet werden. "
|
1965
1898
|
page_attributes:
|
1966
1899
|
mobile_poster_image_id:
|
1967
1900
|
inline_help: Wird in der Mobilvariante gezeigt, bevor das Video startet.
|