pageflow 16.1.0 → 17.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -221
- data/README.md +6 -5
- data/app/assets/images/pageflow/admin/icons/published_with_noindex.svg +4 -0
- data/app/assets/javascripts/pageflow/dist/ui.js +1 -0
- data/app/assets/stylesheets/pageflow/admin/active_admin_patches.scss +1 -1
- data/app/assets/stylesheets/pageflow/admin/entries.scss +4 -0
- data/app/assets/stylesheets/pageflow/admin/publication_state_indicator.scss +4 -0
- data/app/assets/stylesheets/pageflow/editor/base.scss +0 -1
- data/app/assets/stylesheets/pageflow/editor/drop_down_button.scss +55 -6
- data/app/assets/stylesheets/pageflow/editor/file_meta_data.scss +12 -1
- data/app/assets/stylesheets/pageflow/ui/forms.scss +3 -3
- data/app/assets/stylesheets/pageflow/{editor/wysihtml5.scss → ui/input/text_area_input.scss} +13 -1
- data/app/assets/stylesheets/pageflow/ui.scss +1 -0
- data/app/controllers/pageflow/editor/entry_publications_controller.rb +5 -1
- data/app/controllers/pageflow/editor/file_import_controller.rb +1 -1
- data/app/controllers/pageflow/entries_controller.rb +2 -2
- data/app/helpers/pageflow/entries_helper.rb +2 -0
- data/app/helpers/pageflow/meta_tags_helper.rb +2 -1
- data/app/helpers/pageflow/page_types_helper.rb +4 -4
- data/app/helpers/pageflow/revision_file_helper.rb +3 -3
- data/app/helpers/pageflow/social_share_helper.rb +2 -2
- data/app/models/concerns/pageflow/entry_publication_states.rb +9 -0
- data/app/models/concerns/pageflow/feature_target.rb +1 -1
- data/app/models/concerns/pageflow/output_source.rb +1 -1
- data/app/models/concerns/pageflow/serialized_configuration.rb +1 -1
- data/app/models/concerns/pageflow/uploadable_file.rb +5 -0
- data/app/models/pageflow/account.rb +2 -2
- data/app/models/pageflow/entry.rb +7 -5
- data/app/models/pageflow/entry_at_revision.rb +2 -0
- data/app/models/pageflow/entry_template.rb +4 -1
- data/app/models/pageflow/image_file.rb +20 -5
- data/app/models/pageflow/image_file_url_templates.rb +7 -1
- data/app/models/pageflow/revision.rb +7 -5
- data/app/models/pageflow/site.rb +2 -2
- data/app/models/pageflow/sitemaps.rb +1 -0
- data/app/models/pageflow/theme_customization.rb +2 -2
- data/app/models/pageflow/used_file.rb +8 -0
- data/app/views/components/pageflow/admin/extensible_attributes_table.rb +1 -7
- data/app/views/components/pageflow/admin/revisions_tab.rb +8 -0
- data/app/views/pageflow/editor/config/_seeds.json.jbuilder +1 -0
- data/app/views/pageflow/editor/entries/_entry.json.jbuilder +1 -0
- data/app/views/pageflow/editor/entry_publications/check.json.jbuilder +1 -0
- data/app/views/pageflow/image_files/_image_file.json.jbuilder +1 -0
- data/app/views/pageflow/meta_tags/_entry.html.erb +1 -0
- data/config/initializers/features.rb +2 -0
- data/config/initializers/paperclip.rb +4 -0
- data/config/locales/de.yml +50 -0
- data/config/locales/en.yml +49 -0
- data/db/migrate/20231024062501_add_output_presences_to_image_files.rb +5 -0
- data/db/migrate/20231128124523_add_noindex_to_revisions.rb +5 -0
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/editor.js +266 -151
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/frontend.js +8 -2
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-client.js +1 -1
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-server.js +1 -1
- data/entry_types/paged/app/controllers/pageflow_paged/entries_controller.rb +1 -1
- data/entry_types/paged/lib/pageflow_paged/engine.rb +7 -11
- data/entry_types/scrolled/app/controllers/pageflow_scrolled/entries_controller.rb +9 -3
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/editor/seed_html_helper.rb +6 -6
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/packs_helper.rb +21 -37
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/themes_helper.rb +1 -3
- data/entry_types/scrolled/app/views/pageflow_scrolled/editor/entries/_head.html.erb +1 -6
- data/entry_types/scrolled/app/views/pageflow_scrolled/entries/show.html.erb +17 -18
- data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_entry.json.jbuilder +4 -0
- data/entry_types/scrolled/config/locales/de.yml +47 -11
- data/entry_types/scrolled/config/locales/en.yml +42 -10
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/install_generator.rb +22 -89
- data/entry_types/scrolled/lib/pageflow_scrolled/additional_packs.rb +2 -1
- data/entry_types/scrolled/lib/pageflow_scrolled/engine.rb +8 -12
- data/entry_types/scrolled/lib/pageflow_scrolled/plugin.rb +6 -0
- data/entry_types/scrolled/lib/pageflow_scrolled/web_app_manifest.rb +1 -1
- data/entry_types/scrolled/lib/tasks/pageflow_scrolled/dummy.rake +1 -1
- data/entry_types/scrolled/package/config/webpack.js +26 -0
- data/entry_types/scrolled/package/contentElements-editor.js +36 -23
- data/entry_types/scrolled/package/contentElements-frontend.css +1 -1
- data/entry_types/scrolled/package/contentElements-frontend.js +250 -94
- data/entry_types/scrolled/package/editor.js +331 -147
- data/entry_types/scrolled/package/frontend/{EditableInlineText.module-fa9e3aff.js → EditableInlineText.module-6ee0e024.js} +463 -275
- data/entry_types/scrolled/package/frontend/{PhonePlatformContext-10a1d600.js → PhonePlatformContext-b28d991a.js} +1 -1
- data/entry_types/scrolled/package/frontend/{ToggleFullscreenCornerButton-727cce0d.js → ToggleFullscreenCornerButton-8242f213.js} +1 -1
- data/entry_types/scrolled/package/frontend/{Viewer-169e14ca.js → Viewer-32cd1ac1.js} +4 -4
- data/entry_types/scrolled/package/frontend/{Viewer-ee1aa590.js → Viewer-6e4d14ed.js} +4 -4
- data/entry_types/scrolled/package/frontend/{arrowRight-92a34ccc.js → arrowRight-e42e6011.js} +2 -2
- data/entry_types/scrolled/package/frontend/{components-4a09bfa3.js → components-24363f97.js} +7 -6
- data/entry_types/scrolled/package/frontend/{i18n-ddd92820.js → i18n-71c39823.js} +84 -46
- data/entry_types/scrolled/package/frontend/{index-02378634.js → index-fc4b13e6.js} +3 -3
- data/entry_types/scrolled/package/frontend/index.css +1 -1
- data/entry_types/scrolled/package/frontend/index.js +90 -66
- data/entry_types/scrolled/package/frontend/{useContentElementEditorState-63045393.js → useContentElementEditorState-245f1986.js} +1 -1
- data/entry_types/scrolled/package/package.json +4 -3
- data/entry_types/scrolled/package/testHelpers.js +4 -2
- data/entry_types/scrolled/package/widgets/defaultNavigation.css +2 -2
- data/entry_types/scrolled/package/widgets/defaultNavigation.js +39 -4
- data/entry_types/scrolled/package/widgets/iconInlineFileRights.css +1 -0
- data/entry_types/scrolled/package/widgets/iconInlineFileRights.js +49 -0
- data/entry_types/scrolled/package/widgets/textInlineFileRights.css +1 -0
- data/entry_types/scrolled/package/widgets/textInlineFileRights.js +37 -0
- data/lib/generators/pageflow/resque/templates/resque.rake +1 -1
- data/lib/generators/pageflow/resque/templates/resque.rb +1 -1
- data/lib/generators/pageflow/routes/routes_generator.rb +4 -3
- data/lib/pageflow/configuration.rb +8 -1
- data/lib/pageflow/engine.rb +15 -58
- data/lib/pageflow/page_type.rb +1 -1
- data/lib/pageflow/paperclip_processors/webp.rb +63 -0
- data/lib/pageflow/rails_version.rb +2 -2
- data/lib/pageflow/user_mixin.rb +1 -1
- data/lib/pageflow/version.rb +1 -1
- data/package/config/jest/index.js +3 -1
- data/package/editor.js +272 -154
- data/package/frontend.js +8 -2
- data/package/ui.js +1 -0
- data/spec/factories/entries.rb +17 -0
- metadata +78 -56
@@ -28,11 +28,11 @@ module Pageflow
|
|
28
28
|
[:features_configuration]
|
29
29
|
end
|
30
30
|
|
31
|
-
def self.ransackable_attributes(_auth_object)
|
31
|
+
def self.ransackable_attributes(_auth_object = nil)
|
32
32
|
%w[id name]
|
33
33
|
end
|
34
34
|
|
35
|
-
def self.ransackable_associations(_auth_object)
|
35
|
+
def self.ransackable_associations(_auth_object = nil)
|
36
36
|
[]
|
37
37
|
end
|
38
38
|
end
|
@@ -29,8 +29,8 @@ module Pageflow
|
|
29
29
|
|
30
30
|
has_many :imports, class_name: 'Pageflow::FileImport', dependent: :destroy
|
31
31
|
|
32
|
-
has_one :draft, -> { editable }, :
|
33
|
-
has_one :published_revision, -> { published }, :
|
32
|
+
has_one :draft, -> { editable }, class_name: 'Revision', inverse_of: :entry
|
33
|
+
has_one :published_revision, -> { published }, class_name: 'Revision', inverse_of: :entry
|
34
34
|
|
35
35
|
has_one :edit_lock, :dependent => :destroy
|
36
36
|
|
@@ -88,6 +88,7 @@ module Pageflow
|
|
88
88
|
revision.published_at = Time.now
|
89
89
|
revision.published_until = options[:published_until]
|
90
90
|
revision.password_protected = options[:password_protected]
|
91
|
+
revision.noindex = !!options[:noindex]
|
91
92
|
end
|
92
93
|
end
|
93
94
|
end
|
@@ -111,6 +112,7 @@ module Pageflow
|
|
111
112
|
revision.published_at = nil
|
112
113
|
revision.published_until = nil
|
113
114
|
revision.password_protected = nil
|
115
|
+
revision.noindex = nil
|
114
116
|
end
|
115
117
|
end
|
116
118
|
|
@@ -130,15 +132,15 @@ module Pageflow
|
|
130
132
|
title.to_s.parameterize
|
131
133
|
end
|
132
134
|
|
133
|
-
def self.ransackable_attributes(_auth_object)
|
135
|
+
def self.ransackable_attributes(_auth_object = nil)
|
134
136
|
%w[title type_name created_at edited_at first_published_at]
|
135
137
|
end
|
136
138
|
|
137
|
-
def self.ransackable_associations(_auth_object)
|
139
|
+
def self.ransackable_associations(_auth_object = nil)
|
138
140
|
%w[account published_revision]
|
139
141
|
end
|
140
142
|
|
141
|
-
def self.ransackable_scopes(
|
143
|
+
def self.ransackable_scopes(_auth_object = nil)
|
142
144
|
[:with_publication_state, :published]
|
143
145
|
end
|
144
146
|
|
@@ -22,6 +22,7 @@ module Pageflow
|
|
22
22
|
:password_digest,
|
23
23
|
:to_model, :to_key, :to_param, :persisted?, :to_json,
|
24
24
|
:first_published_at, :published_until, :published?,
|
25
|
+
:last_published_with_noindex?,
|
25
26
|
:type_name,
|
26
27
|
to: :entry)
|
27
28
|
|
@@ -35,6 +36,7 @@ module Pageflow
|
|
35
36
|
:locale,
|
36
37
|
:author, :publisher, :keywords,
|
37
38
|
:published_at,
|
39
|
+
:noindex?,
|
38
40
|
:configuration,
|
39
41
|
to: :revision)
|
40
42
|
|
@@ -2,9 +2,12 @@ module Pageflow
|
|
2
2
|
class EntryTemplate < ApplicationRecord
|
3
3
|
include ThemeReferencer
|
4
4
|
include SerializedConfiguration
|
5
|
-
|
5
|
+
|
6
|
+
serialize :default_share_providers, coder: JSON
|
7
|
+
|
6
8
|
belongs_to :site
|
7
9
|
delegate :enabled_feature_names, to: :site
|
10
|
+
|
8
11
|
has_many :widgets, as: :subject, dependent: :destroy
|
9
12
|
|
10
13
|
validates :site, presence: true
|
@@ -2,6 +2,9 @@ module Pageflow
|
|
2
2
|
class ImageFile < ApplicationRecord
|
3
3
|
include UploadableFile
|
4
4
|
include ImageAndTextTrackProcessingStateMachine
|
5
|
+
include OutputSource
|
6
|
+
|
7
|
+
before_post_process :set_output_presences
|
5
8
|
|
6
9
|
# used in paperclip initializer to interpolate the storage path
|
7
10
|
# needs to be "processed_attachments" for images for legacy reasons
|
@@ -35,19 +38,19 @@ module Pageflow
|
|
35
38
|
panorama_format = File.extname(attachment.original_filename) == '.png' ? :PNG : :JPG
|
36
39
|
|
37
40
|
Pageflow
|
38
|
-
.config.thumbnail_styles
|
41
|
+
.config.thumbnail_styles.transform_values { |options| options.merge(style_defaults) }
|
39
42
|
.merge(
|
40
43
|
print: {geometry: '300x300>',
|
41
|
-
|
44
|
+
**style_defaults,
|
42
45
|
convert_options: '-quality 10 -interlace Plane'},
|
43
46
|
medium: {geometry: '1024x1024>',
|
44
|
-
|
47
|
+
**style_defaults,
|
45
48
|
convert_options: '-quality 70 -interlace Plane'},
|
46
49
|
large: {geometry: '1920x1920>',
|
47
|
-
|
50
|
+
**style_defaults,
|
48
51
|
convert_options: '-quality 70 -interlace Plane'},
|
49
52
|
ultra: {geometry: '3840x3840>',
|
50
|
-
|
53
|
+
**style_defaults,
|
51
54
|
convert_options: '-quality 90 -interlace Plane'},
|
52
55
|
panorama_medium: {geometry: ImageFile.scale_down_to_cover(1024, 1024),
|
53
56
|
format: panorama_format,
|
@@ -82,5 +85,17 @@ module Pageflow
|
|
82
85
|
self.height = geo.height
|
83
86
|
rescue Paperclip::Errors::NotIdentifiedByImageMagickError
|
84
87
|
end
|
88
|
+
|
89
|
+
def style_defaults
|
90
|
+
if output_present?(:webp)
|
91
|
+
{format: :webp, processors: [:pageflow_webp]}
|
92
|
+
else
|
93
|
+
{format: :JPG}
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
def set_output_presences
|
98
|
+
self.output_presences = {webp: true} if entry&.feature_state('webp_images')
|
99
|
+
end
|
85
100
|
end
|
86
101
|
end
|
@@ -2,12 +2,18 @@ module Pageflow
|
|
2
2
|
class ImageFileUrlTemplates
|
3
3
|
def call
|
4
4
|
styles.each_with_object({}) do |style, result|
|
5
|
-
result[style] =
|
5
|
+
result[style] = replace_extension_with_placeholder(
|
6
|
+
UrlTemplate.from_attachment(example_file.attachment, style)
|
7
|
+
)
|
6
8
|
end
|
7
9
|
end
|
8
10
|
|
9
11
|
private
|
10
12
|
|
13
|
+
def replace_extension_with_placeholder(url)
|
14
|
+
url.gsub(/.JPG$/, '.:processed_extension')
|
15
|
+
end
|
16
|
+
|
11
17
|
def styles
|
12
18
|
example_file.attachment_styles(example_file.attachment).keys + [:original]
|
13
19
|
end
|
@@ -15,7 +15,7 @@ module Pageflow
|
|
15
15
|
|
16
16
|
include ThemeReferencer
|
17
17
|
|
18
|
-
serialize :share_providers, JSON
|
18
|
+
serialize :share_providers, coder: JSON
|
19
19
|
|
20
20
|
belongs_to :entry, touch: :edited_at
|
21
21
|
belongs_to :creator, class_name: 'User', optional: true
|
@@ -65,6 +65,8 @@ module Pageflow
|
|
65
65
|
scope(:with_password_protection, -> { where('password_protected IS TRUE') })
|
66
66
|
scope(:without_password_protection, -> { where('password_protected IS NOT TRUE') })
|
67
67
|
|
68
|
+
scope(:without_noindex, -> { where('noindex IS NOT TRUE') })
|
69
|
+
|
68
70
|
scope :editable, -> { where('frozen_at IS NULL') }
|
69
71
|
scope :frozen, -> { where('frozen_at IS NOT NULL') }
|
70
72
|
|
@@ -204,6 +206,10 @@ module Pageflow
|
|
204
206
|
.merge(read_attribute(:configuration) || {})
|
205
207
|
end
|
206
208
|
|
209
|
+
def self.ransackable_attributes(_auth_object = nil)
|
210
|
+
%w[published_at]
|
211
|
+
end
|
212
|
+
|
207
213
|
private
|
208
214
|
|
209
215
|
def files(model)
|
@@ -232,9 +238,5 @@ module Pageflow
|
|
232
238
|
def available_themes
|
233
239
|
@available_themes ||= Pageflow.config_for(entry).themes
|
234
240
|
end
|
235
|
-
|
236
|
-
def self.ransackable_attributes(_auth_object)
|
237
|
-
%w[published_at]
|
238
|
-
end
|
239
241
|
end
|
240
242
|
end
|
data/app/models/pageflow/site.rb
CHANGED
@@ -56,11 +56,11 @@ module Pageflow
|
|
56
56
|
first_paged_entry_template.theme_name
|
57
57
|
end
|
58
58
|
|
59
|
-
def self.ransackable_attributes(_auth_object)
|
59
|
+
def self.ransackable_attributes(_auth_object = nil)
|
60
60
|
%w[name]
|
61
61
|
end
|
62
62
|
|
63
|
-
def self.ransackable_associations(_auth_object)
|
63
|
+
def self.ransackable_associations(_auth_object = nil)
|
64
64
|
%w[account]
|
65
65
|
end
|
66
66
|
end
|
@@ -6,8 +6,8 @@ module Pageflow
|
|
6
6
|
class ThemeCustomization < ApplicationRecord
|
7
7
|
belongs_to :site
|
8
8
|
|
9
|
-
serialize :overrides, JSON
|
10
|
-
serialize :selected_file_ids, JSON
|
9
|
+
serialize :overrides, coder: JSON
|
10
|
+
serialize :selected_file_ids, coder: JSON
|
11
11
|
|
12
12
|
has_many :uploaded_files, class_name: 'ThemeCustomizationFile'
|
13
13
|
|
@@ -23,6 +23,14 @@ module Pageflow
|
|
23
23
|
@usage.perma_id
|
24
24
|
end
|
25
25
|
|
26
|
+
def cache_key
|
27
|
+
[@file.cache_key, @usage.cache_key].join('-')
|
28
|
+
end
|
29
|
+
|
30
|
+
def cache_key_with_version
|
31
|
+
[@file.cache_key_with_version, @usage.cache_key_with_version].join('-')
|
32
|
+
end
|
33
|
+
|
26
34
|
# Not delegated by default. Required to allow using instances in
|
27
35
|
# Active Record conditions.
|
28
36
|
|
@@ -79,13 +79,7 @@ module Pageflow
|
|
79
79
|
# This is also the reason we can not use SimpleDelegator here
|
80
80
|
# and also delegate_missing in Rails 5 would not work.
|
81
81
|
def method_missing(method, *args, **kwargs, &block)
|
82
|
-
|
83
|
-
# Pageflow::RailsVersion.experimental? conditionals.
|
84
|
-
if kwargs.present?
|
85
|
-
@context.public_send(method, *args, **kwargs, &block)
|
86
|
-
else
|
87
|
-
@context.public_send(method, *args, &block)
|
88
|
-
end
|
82
|
+
@context.public_send(method, *args, **kwargs, &block)
|
89
83
|
end
|
90
84
|
# rubocop:enable Style/MethodMissing
|
91
85
|
end
|
@@ -39,6 +39,14 @@ module Pageflow
|
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
42
|
+
if revision.noindex?
|
43
|
+
span(class: 'publication_state_indicator published_with_noindex') do
|
44
|
+
span(class: 'tooltip_bubble') do
|
45
|
+
t('pageflow.admin.entries.noindex')
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
42
50
|
if revision.password_protected?
|
43
51
|
span(class: 'publication_state_indicator published_with_password_protection') do
|
44
52
|
span(class: 'tooltip_bubble') do
|
@@ -4,6 +4,7 @@ json.call(Pageflow.config,
|
|
4
4
|
:default_published_until_duration_in_months,
|
5
5
|
:available_locales,
|
6
6
|
:available_public_locales,
|
7
|
+
:available_file_licenses,
|
7
8
|
:available_text_track_kinds,
|
8
9
|
:available_share_providers)
|
9
10
|
json.file_types Pageflow.config_for(entry).file_types do |file_type|
|
@@ -6,6 +6,7 @@ json.default_file_rights entry.account.default_file_rights
|
|
6
6
|
json.published(entry.published?)
|
7
7
|
json.publishable(can?(:publish, entry.to_model))
|
8
8
|
json.password_protected(entry.password_digest.present?)
|
9
|
+
json.last_published_with_noindex(entry.last_published_with_noindex?)
|
9
10
|
|
10
11
|
json.metadata do
|
11
12
|
json.(entry,
|
@@ -6,6 +6,7 @@ json.entry do
|
|
6
6
|
json.(@entry_publication.entry, :published_until)
|
7
7
|
json.published(@entry_publication.entry.published?)
|
8
8
|
json.password_protected(@entry_publication.entry.password_digest.present?)
|
9
|
+
json.last_published_with_noindex(@entry_publication.entry.last_published_with_noindex?)
|
9
10
|
end
|
10
11
|
json.exhausted_html(render_html_partial('pageflow/editor/quotas/published_entries_exhausted',
|
11
12
|
entry: @entry_publication.entry,
|
@@ -2,3 +2,4 @@
|
|
2
2
|
<% if keywords.present? %><meta name="keywords" content="<%= keywords %>"><% end %>
|
3
3
|
<% if author.present? %><meta name="author" content="<%= author %>"><% end %>
|
4
4
|
<% if publisher.present? %><meta name="publisher" content="<%= publisher %>"><% end %>
|
5
|
+
<% if noindex %><meta name="robots" content="noindex"><% end %>
|
@@ -1,5 +1,7 @@
|
|
1
1
|
Pageflow.configure do |config|
|
2
|
+
config.features.register('webp_images')
|
2
3
|
config.features.register('highdef_video_encoding')
|
3
4
|
config.features.register('force_fullhd_video_quality')
|
5
|
+
config.features.register('large_player_pool')
|
4
6
|
config.features.register('selectable_themes')
|
5
7
|
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'pageflow/paperclip_processors/vtt'
|
2
2
|
require 'pageflow/paperclip_processors/audio_waveform'
|
3
|
+
require 'pageflow/paperclip_processors/webp'
|
3
4
|
require 'pageflow/paperclip_processors/noop'
|
4
5
|
|
5
6
|
Paperclip.interpolates(:pageflow_s3_root) do |_attachment, _style|
|
@@ -33,6 +34,9 @@ Paperclip.interpolates(:pageflow_hls_qualities) do |attachment, _style|
|
|
33
34
|
end
|
34
35
|
|
35
36
|
Paperclip.configure do |config|
|
37
|
+
config.register_processor(:pageflow_webp,
|
38
|
+
Pageflow::PaperclipProcessors::Webp)
|
39
|
+
|
36
40
|
config.register_processor(:pageflow_vtt,
|
37
41
|
Pageflow::PaperclipProcessors::Vtt)
|
38
42
|
|
data/config/locales/de.yml
CHANGED
@@ -443,6 +443,7 @@ de:
|
|
443
443
|
pageflow/entry:
|
444
444
|
publication_states:
|
445
445
|
not_published: Nicht veröffentlicht
|
446
|
+
published_with_noindex: Veröffentlicht aber aus Suchmaschinen ausgeschlossen
|
446
447
|
published_with_password_protection: Mit Passwortschutz veröffentlicht
|
447
448
|
published_without_password_protection: Ohne Passwortschutz veröffentlicht
|
448
449
|
share_providers:
|
@@ -826,6 +827,7 @@ de:
|
|
826
827
|
members: Mitglieder
|
827
828
|
no_members: Es sind keine Redakteure zugeordnet.
|
828
829
|
no_revisions: Bisher keine Revisionen
|
830
|
+
noindex: Aus Suchmaschinen ausgeschlossen
|
829
831
|
not_allowed_to_see_entry_types: Sie sind nicht berechtigt, die verfügbaren Beitrags-Typen für dieses Konto abzurufen
|
830
832
|
not_published: Nicht veröffentlicht
|
831
833
|
password_protected: Mit Passwortschutz
|
@@ -1125,6 +1127,10 @@ de:
|
|
1125
1127
|
file_name:
|
1126
1128
|
column_header: Dateiname
|
1127
1129
|
label: Dateiname
|
1130
|
+
license:
|
1131
|
+
blank: "(Nicht angegeben)"
|
1132
|
+
inline_help: Fügt der Rechteangabe im Beitrag einen Link zur Lizenz hinzu.
|
1133
|
+
label: Lizenz
|
1128
1134
|
original_url:
|
1129
1135
|
label: Original
|
1130
1136
|
rights:
|
@@ -1134,6 +1140,21 @@ de:
|
|
1134
1140
|
column_header: Rechte
|
1135
1141
|
inline_help: Wird im Copyright-Bereich des Beitrags angezeigt.
|
1136
1142
|
label: Rechte
|
1143
|
+
rights_display:
|
1144
|
+
inline_help: |-
|
1145
|
+
Lege fest, ob die Rechteangabe der Datei in der
|
1146
|
+
zusammenfassenden Liste in der Info-Box angezeigt werden
|
1147
|
+
soll oder unmittelbar an der Stelle im Beitrag, wo die
|
1148
|
+
Datei verwendet wird.
|
1149
|
+
label: Rechte anzeigen
|
1150
|
+
values:
|
1151
|
+
credits: In der Info-Box
|
1152
|
+
inline: Am verwendenden Element
|
1153
|
+
source_url:
|
1154
|
+
inline_help: |-
|
1155
|
+
Rechteangabe mit einem Link zur ursprünglichen Quelle
|
1156
|
+
oder zum Author der Datei versehen.
|
1157
|
+
label: Quell-URL
|
1137
1158
|
text_tracks:
|
1138
1159
|
label: Untertitel
|
1139
1160
|
settings_dialog_tabs:
|
@@ -1351,6 +1372,12 @@ de:
|
|
1351
1372
|
already_published_without_password_help: Dieser Beitrag ist im Moment ohne Passwortschutz veröffentlicht. Nach Festlegen eines Passworts ist kein öffentlicher Zugriff mehr möglich.
|
1352
1373
|
date: Datum
|
1353
1374
|
files_pending_notice: Bitte warten Sie bis alle Dateien des Beitrags verarbeitet wurden und überprüfen Sie das Ergebnis. Der Beitrag kann dann veröffentlicht werden.
|
1375
|
+
noindex: Suchmaschinen ausschließen
|
1376
|
+
noindex_help: |
|
1377
|
+
Ein Meta-Tag setzen, das Crawler von Suchmaschinen wie
|
1378
|
+
Google oder Bing anweist, den veröffentlichten Beitrag
|
1379
|
+
nicht in den Index aufzunehmen. Der Beitrag erscheint
|
1380
|
+
daher nicht in Suchergebnissen.
|
1354
1381
|
not_published_notice: Dieser Beitrag ist zur Zeit nicht veröffentlicht.
|
1355
1382
|
password: Passwort
|
1356
1383
|
password_help: Teilen Sie Ihren veröffentlichten Beitrag nur mit bestimmten Personen. Besucher benötigen dann das von Ihnen festgelegte Passwort, um den Beitrag ansehen zu können.
|
@@ -1513,6 +1540,25 @@ de:
|
|
1513
1540
|
label: Übersicht-Button anzeigen
|
1514
1541
|
overview_button_enabled_disabled:
|
1515
1542
|
inline_help: Diese Funktion steht in diesem Theme nicht zur Verfügung.
|
1543
|
+
file_licenses:
|
1544
|
+
cc_by_4:
|
1545
|
+
name: CC-BY 4.0
|
1546
|
+
url: https://creativecommons.org/licenses/by/4.0/
|
1547
|
+
cc_by_nc_4:
|
1548
|
+
name: CC-BY-NC 4.0
|
1549
|
+
url: https://creativecommons.org/licenses/by-nc/4.0/
|
1550
|
+
cc_by_nc_nd_4:
|
1551
|
+
name: CC-BY-NC-ND 4.0
|
1552
|
+
url: https://creativecommons.org/licenses/by-nc-nd/4.0/
|
1553
|
+
cc_by_nc_sa_4:
|
1554
|
+
name: CC-BY-NC-SA 4.0
|
1555
|
+
url: https://creativecommons.org/licenses/by-sa-nc/4.0/
|
1556
|
+
cc_by_nd_4:
|
1557
|
+
name: CC-BY-ND 4.0
|
1558
|
+
url: https://creativecommons.org/licenses/by-nd/4.0/
|
1559
|
+
cc_by_sa_4:
|
1560
|
+
name: CC-BY-SA 4.0
|
1561
|
+
url: https://creativecommons.org/licenses/by-sa/4.0/
|
1516
1562
|
help_entries:
|
1517
1563
|
files:
|
1518
1564
|
menu_item: Dateien verwalten
|
@@ -1748,6 +1794,8 @@ de:
|
|
1748
1794
|
tr: Türkisch
|
1749
1795
|
unknown: "(Unbekannt)"
|
1750
1796
|
zh: Chinesisch
|
1797
|
+
large_player_pool:
|
1798
|
+
feature_name: Vergrößerter Player-Pool
|
1751
1799
|
media_loading_spinner:
|
1752
1800
|
widget_type_name: Media
|
1753
1801
|
page_transitions:
|
@@ -1920,6 +1968,8 @@ de:
|
|
1920
1968
|
page_type_name: Video
|
1921
1969
|
waveform_player_controls:
|
1922
1970
|
feature_name: Waveform-Steuerlement-Variante für Audio-Seite
|
1971
|
+
webp_images:
|
1972
|
+
feature_name: webp Bilder
|
1923
1973
|
widgets:
|
1924
1974
|
none: "(Kein)"
|
1925
1975
|
roles:
|
data/config/locales/en.yml
CHANGED
@@ -443,6 +443,7 @@ en:
|
|
443
443
|
pageflow/entry:
|
444
444
|
publication_states:
|
445
445
|
not_published: Not published
|
446
|
+
published_with_noindex: Published but excluded from search engines
|
446
447
|
published_with_password_protection: Published with password protection
|
447
448
|
published_without_password_protection: Published without password protection
|
448
449
|
share_providers:
|
@@ -826,6 +827,7 @@ en:
|
|
826
827
|
members: Members
|
827
828
|
no_members: No members assigned
|
828
829
|
no_revisions: No versions yet
|
830
|
+
noindex: Excluded from search engines
|
829
831
|
not_allowed_to_see_entry_types: You are not allowed to access the available story types for this account.
|
830
832
|
not_published: Not yet published
|
831
833
|
password_protected: Password protected
|
@@ -1123,6 +1125,10 @@ en:
|
|
1123
1125
|
file_name:
|
1124
1126
|
column_header: File name
|
1125
1127
|
label: File name
|
1128
|
+
license:
|
1129
|
+
blank: "(Not specified)"
|
1130
|
+
inline_help: Adds a link to the license in the credit note.
|
1131
|
+
label: License
|
1126
1132
|
original_url:
|
1127
1133
|
label: Original
|
1128
1134
|
rights:
|
@@ -1132,6 +1138,20 @@ en:
|
|
1132
1138
|
column_header: Rights
|
1133
1139
|
inline_help: Displayed in copyright area of story.
|
1134
1140
|
label: Rights
|
1141
|
+
rights_display:
|
1142
|
+
inline_help: |-
|
1143
|
+
Decide if the file's credit note should be displayed in
|
1144
|
+
the summary list in the info box, or right at the place
|
1145
|
+
in the entry where the file is used.
|
1146
|
+
label: Display rights
|
1147
|
+
values:
|
1148
|
+
credits: In the info box
|
1149
|
+
inline: At the element where it is used
|
1150
|
+
source_url:
|
1151
|
+
inline_help: |-
|
1152
|
+
Turns the credit note into a link to the original source
|
1153
|
+
or to the author of the file.
|
1154
|
+
label: Source URL
|
1135
1155
|
text_tracks:
|
1136
1156
|
label: Subtitles
|
1137
1157
|
settings_dialog_tabs:
|
@@ -1349,6 +1369,12 @@ en:
|
|
1349
1369
|
already_published_without_password_help: This story is published without a password at the moment. Setting a password will prevent public access from now on.
|
1350
1370
|
date: Date
|
1351
1371
|
files_pending_notice: Please wait until all files have been processed and check the results. You may then publish your story.
|
1372
|
+
noindex: Exclude from search engines
|
1373
|
+
noindex_help: |
|
1374
|
+
Set a meta tag that instructs crawlers of search engines
|
1375
|
+
like Google or Bing to not include the published entry in
|
1376
|
+
the index. The entry will, thus, not show up in search
|
1377
|
+
results.
|
1352
1378
|
not_published_notice: This story is currently not published.
|
1353
1379
|
password: Password
|
1354
1380
|
password_help: Restrict access to the published version of this story. Visitors will have to enter a password.
|
@@ -1511,6 +1537,25 @@ en:
|
|
1511
1537
|
label: Show 'Overview' button
|
1512
1538
|
overview_button_enabled_disabled:
|
1513
1539
|
inline_help: This option is not available for your theme.
|
1540
|
+
file_licenses:
|
1541
|
+
cc_by_4:
|
1542
|
+
name: CC-BY 4.0
|
1543
|
+
url: https://creativecommons.org/licenses/by/4.0/
|
1544
|
+
cc_by_nc_4:
|
1545
|
+
name: CC-BY-NC 4.0
|
1546
|
+
url: https://creativecommons.org/licenses/by-nc/4.0/
|
1547
|
+
cc_by_nc_nd_4:
|
1548
|
+
name: CC-BY-NC-ND 4.0
|
1549
|
+
url: https://creativecommons.org/licenses/by-nc-nd/4.0/
|
1550
|
+
cc_by_nc_sa_4:
|
1551
|
+
name: CC-BY-NC-SA 4.0
|
1552
|
+
url: https://creativecommons.org/licenses/by-sa-nc/4.0/
|
1553
|
+
cc_by_nd_4:
|
1554
|
+
name: CC-BY-ND 4.0
|
1555
|
+
url: https://creativecommons.org/licenses/by-nd/4.0/
|
1556
|
+
cc_by_sa_4:
|
1557
|
+
name: CC-BY-SA 4.0
|
1558
|
+
url: https://creativecommons.org/licenses/by-sa/4.0/
|
1514
1559
|
help_entries:
|
1515
1560
|
files:
|
1516
1561
|
menu_item: Manage Files
|
@@ -1741,6 +1786,8 @@ en:
|
|
1741
1786
|
tr: Turkish
|
1742
1787
|
unknown: "(Unknown)"
|
1743
1788
|
zh: Chinese
|
1789
|
+
large_player_pool:
|
1790
|
+
feature_name: Large Player-Pool
|
1744
1791
|
media_loading_spinner:
|
1745
1792
|
widget_type_name: Media
|
1746
1793
|
page_transitions:
|
@@ -1916,6 +1963,8 @@ en:
|
|
1916
1963
|
page_type_name: Video
|
1917
1964
|
waveform_player_controls:
|
1918
1965
|
feature_name: Waveform player controls variant for audio page
|
1966
|
+
webp_images:
|
1967
|
+
feature_name: webp images
|
1919
1968
|
widgets:
|
1920
1969
|
none: "(none)"
|
1921
1970
|
roles:
|