pageflow 15.7.1 → 16.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (201) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +33 -243
  3. data/README.md +1 -9
  4. data/Rakefile +4 -1
  5. data/admins/pageflow/accounts.rb +12 -16
  6. data/admins/pageflow/entry.rb +57 -28
  7. data/admins/pageflow/entry_templates.rb +5 -7
  8. data/admins/pageflow/sites.rb +50 -0
  9. data/admins/pageflow/user.rb +7 -0
  10. data/app/assets/javascripts/pageflow/admin/entries.js +53 -4
  11. data/app/assets/stylesheets/pageflow/admin/permalink_input.scss +65 -0
  12. data/app/assets/stylesheets/pageflow/admin.scss +1 -0
  13. data/app/assets/stylesheets/pageflow/editor/base.scss +2 -6
  14. data/app/assets/stylesheets/pageflow/editor/dialogs.scss +2 -0
  15. data/app/assets/stylesheets/pageflow/editor/drop_down_button.scss +9 -0
  16. data/app/assets/stylesheets/pageflow/editor/info_box.scss +13 -3
  17. data/app/assets/stylesheets/pageflow/mixins/buttons.scss +1 -0
  18. data/app/assets/stylesheets/pageflow/page.scss +0 -2
  19. data/app/assets/stylesheets/pageflow/themes/default/page.scss +1 -1
  20. data/app/assets/stylesheets/pageflow/ui/forms.scss +4 -1
  21. data/app/controllers/pageflow/editor/file_import_controller.rb +32 -42
  22. data/app/controllers/pageflow/entries_controller.rb +27 -3
  23. data/app/helpers/pageflow/admin/permalinks_helper.rb +15 -0
  24. data/app/helpers/pageflow/common_entry_seed_helper.rb +1 -1
  25. data/app/helpers/pageflow/embed_code_helper.rb +1 -1
  26. data/app/helpers/pageflow/entries_helper.rb +25 -17
  27. data/app/helpers/pageflow/sites_helper.rb +11 -0
  28. data/app/helpers/pageflow/social_share_helper.rb +2 -2
  29. data/app/inputs/pageflow_permalink_input.rb +47 -0
  30. data/app/models/concerns/pageflow/permalinkable.rb +12 -0
  31. data/app/models/concerns/pageflow/reusable_file.rb +5 -0
  32. data/app/models/concerns/pageflow/uploadable_file.rb +4 -0
  33. data/app/models/pageflow/account.rb +7 -33
  34. data/app/models/pageflow/{cname_theming_request_scope.rb → cname_site_request_scope.rb} +3 -3
  35. data/app/models/pageflow/customized_theme.rb +5 -3
  36. data/app/models/pageflow/entry.rb +8 -4
  37. data/app/models/pageflow/entry_at_revision.rb +4 -3
  38. data/app/models/pageflow/entry_duplicate.rb +8 -1
  39. data/app/models/pageflow/entry_template.rb +4 -4
  40. data/app/models/pageflow/home_button.rb +7 -7
  41. data/app/models/pageflow/image_file_url_templates.rb +2 -2
  42. data/app/models/pageflow/permalink.rb +39 -0
  43. data/app/models/pageflow/permalink_directory.rb +10 -0
  44. data/app/models/pageflow/published_entry.rb +19 -2
  45. data/app/models/pageflow/revision.rb +1 -1
  46. data/app/models/pageflow/site.rb +59 -0
  47. data/app/models/pageflow/theme_customization.rb +1 -1
  48. data/app/models/pageflow/theme_customization_file.rb +6 -1
  49. data/app/policies/pageflow/account_policy.rb +2 -2
  50. data/app/policies/pageflow/entry_policy.rb +2 -2
  51. data/app/policies/pageflow/entry_template_policy.rb +1 -1
  52. data/app/policies/pageflow/{theming_policy.rb → site_policy.rb} +13 -11
  53. data/app/views/admin/accounts/_entry_template_details.html.arb +1 -1
  54. data/app/views/admin/accounts/_form.html.erb +4 -22
  55. data/app/views/admin/accounts/_site_defaults_inline_help.html.erb +5 -0
  56. data/app/views/admin/entries/_form.html.erb +11 -12
  57. data/app/views/admin/entries/_permalink_inputs.html.erb +6 -0
  58. data/app/views/admin/entries/_site_input.html.erb +15 -0
  59. data/app/views/admin/entries/{entry_type_name_input.html.erb → entry_site_and_type_name_input.html.erb} +3 -0
  60. data/app/views/admin/entries/permalink_inputs.html.erb +7 -0
  61. data/app/views/admin/entry_templates/_form.html.erb +5 -5
  62. data/app/views/admin/sites/_attributes_table.html.arb +9 -0
  63. data/app/views/admin/sites/_fields.html.erb +17 -0
  64. data/app/views/admin/sites/_form.html.erb +5 -0
  65. data/app/views/components/pageflow/admin/entries_tab.rb +1 -2
  66. data/app/views/components/pageflow/admin/entry_templates_tab.rb +10 -11
  67. data/app/views/components/pageflow/admin/features_tab.rb +1 -1
  68. data/app/views/components/pageflow/admin/sites_tab.rb +32 -0
  69. data/app/views/components/pageflow/admin/users_tab.rb +1 -2
  70. data/app/views/pageflow/editor/entries/seed.json.erb +1 -1
  71. data/app/views/pageflow/editor/file_import/start_import_job.json.jbuilder +10 -0
  72. data/app/views/pageflow/editor/sites/_site.json.jbuilder +1 -0
  73. data/app/views/pageflow/entries/{_theming.css.erb → _site.css.erb} +0 -0
  74. data/app/views/pageflow/entries/stylesheet.css.erb +1 -1
  75. data/app/views/pageflow/files/_file.json.jbuilder +1 -0
  76. data/app/views/pageflow/social_share/_entry_meta_tags.html.erb +1 -1
  77. data/app/views/pageflow/social_share/_page_meta_tags.html.erb +1 -1
  78. data/config/initializers/admin_resource_tabs.rb +29 -12
  79. data/config/initializers/mime_types.rb +1 -0
  80. data/config/locales/de.yml +19 -17
  81. data/config/locales/en.yml +19 -17
  82. data/config/routes.rb +8 -5
  83. data/db/migrate/20221024100724_create_pageflow_permalink_directories.rb +10 -0
  84. data/db/migrate/20221025074049_add_permalink_attributes_to_entries.rb +5 -0
  85. data/db/migrate/20221027065022_create_pageflow_permalinks.rb +12 -0
  86. data/db/migrate/20221215101134_rename_theming_to_site.rb +9 -0
  87. data/db/migrate/20221215120856_associate_entry_templates_with_sites.rb +34 -0
  88. data/db/migrate/20221219203023_add_name_to_sites.rb +5 -0
  89. data/db/migrate/20230103155934_associate_theme_customizations_with_sites.rb +27 -0
  90. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/editor.js +176 -179
  91. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/frontend.js +49 -7
  92. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-client.js +5 -5
  93. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-server.js +1 -1
  94. data/entry_types/paged/config/initializers/features.rb +2 -0
  95. data/entry_types/paged/config/locales/{new/help.de.yml → de.yml} +74 -65
  96. data/entry_types/paged/config/locales/{new/help.en.yml → en.yml} +66 -56
  97. data/entry_types/scrolled/app/helpers/pageflow_scrolled/favicon_helper.rb +39 -13
  98. data/entry_types/scrolled/app/helpers/pageflow_scrolled/generated_media_queries_helper.rb +55 -0
  99. data/entry_types/scrolled/app/helpers/pageflow_scrolled/themes_helper.rb +6 -2
  100. data/entry_types/scrolled/app/views/pageflow_scrolled/editor/entries/_head.html.erb +2 -0
  101. data/entry_types/scrolled/app/views/pageflow_scrolled/entries/_manifest.json.jbuilder +16 -0
  102. data/entry_types/scrolled/app/views/pageflow_scrolled/entries/show.html.erb +9 -3
  103. data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_entry.json.jbuilder +5 -5
  104. data/entry_types/scrolled/app/views/pageflow_scrolled/favicons/_entry.html.erb +16 -10
  105. data/entry_types/scrolled/config/locales/de.yml +265 -76
  106. data/entry_types/scrolled/config/locales/en.yml +266 -77
  107. data/entry_types/scrolled/lib/pageflow_scrolled/configuration.rb +3 -3
  108. data/entry_types/scrolled/lib/pageflow_scrolled/plugin.rb +14 -0
  109. data/entry_types/scrolled/lib/pageflow_scrolled/react_widget_type.rb +1 -1
  110. data/entry_types/scrolled/lib/pageflow_scrolled/seeds.rb +1 -1
  111. data/entry_types/scrolled/lib/pageflow_scrolled/web_app_manifest.rb +11 -0
  112. data/entry_types/scrolled/lib/pageflow_scrolled.rb +39 -1
  113. data/entry_types/scrolled/lib/tasks/pageflow_scrolled/storybook.rake +3 -2
  114. data/entry_types/scrolled/package/contentElements-editor.js +124 -38
  115. data/entry_types/scrolled/package/contentElements-frontend.css +1 -1
  116. data/entry_types/scrolled/package/contentElements-frontend.js +321 -27
  117. data/entry_types/scrolled/package/editor.js +1345 -739
  118. data/entry_types/scrolled/package/frontend/EditableInlineText.module-14c7b097.js +5314 -0
  119. data/entry_types/scrolled/package/frontend/{PhonePlatformContext-9fb97827.js → PhonePlatformContext-f6093cc6.js} +87 -223
  120. data/entry_types/scrolled/package/frontend/{Viewer-e2290ea0.js → Viewer-b6becc57.js} +6 -40
  121. data/entry_types/scrolled/package/frontend/arrowRight-78a7cee4.js +42 -0
  122. data/entry_types/scrolled/package/frontend/{components-6ab26015.js → components-b3160dd7.js} +546 -361
  123. data/entry_types/scrolled/package/frontend/index.css +1 -1
  124. data/entry_types/scrolled/package/frontend/index.js +398 -3692
  125. data/entry_types/scrolled/package/package.json +3 -2
  126. data/entry_types/scrolled/package/testHelpers.js +12 -2
  127. data/entry_types/scrolled/package/widgets/defaultNavigation.css +2 -2
  128. data/entry_types/scrolled/package/widgets/defaultNavigation.js +50 -40
  129. data/entry_types/scrolled/spec/fixtures/image.ico +0 -0
  130. data/lib/pageflow/ability_mixin.rb +16 -8
  131. data/lib/pageflow/admin/attributes_table_rows.rb +1 -1
  132. data/lib/pageflow/admin/form_inputs.rb +1 -1
  133. data/lib/pageflow/admin/tabs.rb +1 -1
  134. data/lib/pageflow/configuration/permissions.rb +3 -3
  135. data/lib/pageflow/configuration.rb +17 -17
  136. data/lib/pageflow/entry_export_import/entry_serialization.rb +1 -1
  137. data/lib/pageflow/entry_type.rb +6 -2
  138. data/lib/pageflow/primary_domain_entry_redirect.rb +7 -7
  139. data/lib/pageflow/seeds.rb +10 -10
  140. data/lib/pageflow/theme_customizations.rb +10 -10
  141. data/lib/pageflow/version.rb +1 -1
  142. data/package/editor.js +129 -156
  143. data/package/frontend.js +19 -2
  144. data/package/testHelpers.js +39 -6
  145. data/spec/factories/accounts.rb +5 -2
  146. data/spec/factories/draft_entries.rb +2 -2
  147. data/spec/factories/entries.rb +18 -1
  148. data/spec/factories/entry_templates.rb +1 -1
  149. data/spec/factories/permalink_directory.rb +6 -0
  150. data/spec/factories/permalinks.rb +4 -0
  151. data/spec/factories/published_entries.rb +4 -2
  152. data/spec/factories/sites.rb +9 -0
  153. metadata +50 -62
  154. data/app/assets/javascripts/pageflow/dist/editor.js +0 -11890
  155. data/app/assets/javascripts/pageflow/dist/frontend.js +0 -5800
  156. data/app/assets/javascripts/pageflow/dist/react-client.js +0 -22
  157. data/app/assets/javascripts/pageflow/dist/react-server.js +0 -19
  158. data/app/helpers/pageflow/themings_helper.rb +0 -11
  159. data/app/models/pageflow/theming.rb +0 -29
  160. data/app/views/admin/accounts/_theming_defaults_inline_help.html.erb +0 -5
  161. data/app/views/admin/accounts/_theming_details.html.arb +0 -5
  162. data/app/views/pageflow/editor/themings/_theming.json.jbuilder +0 -1
  163. data/entry_types/paged/config/locales/new/video_contain.de.yml +0 -7
  164. data/entry_types/paged/config/locales/new/video_contain.en.yml +0 -7
  165. data/entry_types/scrolled/config/locales/new/before_after_slider.de.yml +0 -8
  166. data/entry_types/scrolled/config/locales/new/before_after_slider.en.yml +0 -8
  167. data/entry_types/scrolled/config/locales/new/center_ragged.de.yml +0 -8
  168. data/entry_types/scrolled/config/locales/new/center_ragged.en.yml +0 -9
  169. data/entry_types/scrolled/config/locales/new/consent.de.yml +0 -25
  170. data/entry_types/scrolled/config/locales/new/consent.en.yml +0 -24
  171. data/entry_types/scrolled/config/locales/new/content_element_categories.de.yml +0 -39
  172. data/entry_types/scrolled/config/locales/new/content_element_categories.en.yml +0 -39
  173. data/entry_types/scrolled/config/locales/new/default_transition.de.yml +0 -14
  174. data/entry_types/scrolled/config/locales/new/default_transition.en.yml +0 -14
  175. data/entry_types/scrolled/config/locales/new/header_line_breaks.de.yml +0 -28
  176. data/entry_types/scrolled/config/locales/new/header_line_breaks.en.yml +0 -27
  177. data/entry_types/scrolled/config/locales/new/header_size.de.yml +0 -17
  178. data/entry_types/scrolled/config/locales/new/header_size.en.yml +0 -17
  179. data/entry_types/scrolled/config/locales/new/iframe_embed.de.yml +0 -39
  180. data/entry_types/scrolled/config/locales/new/iframe_embed.en.yml +0 -39
  181. data/entry_types/scrolled/config/locales/new/inline_loops.de.yml +0 -26
  182. data/entry_types/scrolled/config/locales/new/inline_loops.en.yml +0 -26
  183. data/entry_types/scrolled/config/locales/new/portrait_inline_image.de.yml +0 -9
  184. data/entry_types/scrolled/config/locales/new/portrait_inline_image.en.yml +0 -9
  185. data/entry_types/scrolled/config/locales/new/section_width.de.yml +0 -10
  186. data/entry_types/scrolled/config/locales/new/section_width.en.yml +0 -10
  187. data/entry_types/scrolled/config/locales/new/typography_variants.de.yml +0 -7
  188. data/entry_types/scrolled/config/locales/new/typography_variants.en.yml +0 -7
  189. data/entry_types/scrolled/config/locales/new/video_embed_poster.de.yml +0 -8
  190. data/entry_types/scrolled/config/locales/new/video_embed_poster.en.yml +0 -8
  191. data/entry_types/scrolled/config/locales/new/waveform_styles.de.yml +0 -11
  192. data/entry_types/scrolled/config/locales/new/waveform_styles.en.yml +0 -12
  193. data/entry_types/scrolled/config/locales/new/widgets.de.yml +0 -6
  194. data/entry_types/scrolled/config/locales/new/widgets.en.yml +0 -6
  195. data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/browserconfig.xml +0 -9
  196. data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/mstile-150x150.png +0 -0
  197. data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/safari-pinned-tab.svg +0 -46
  198. data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/site.webmanifest +0 -19
  199. data/entry_types/scrolled/package/frontend/EditableInlineText.module-b9923660.js +0 -993
  200. data/entry_types/scrolled/package/frontend/usePhonePlatform-2857c22b.js +0 -34
  201. data/spec/factories/themings.rb +0 -7
data/package/frontend.js CHANGED
@@ -390,7 +390,9 @@ var Consent = /*#__PURE__*/function () {
390
390
 
391
391
  return this.withState(this.vendors.filter(function (vendor) {
392
392
  return (additionalVendorNames === null || additionalVendorNames === void 0 ? void 0 : additionalVendorNames.includes(vendor.name)) || vendor.paradigm === 'opt-in' || vendor.paradigm === 'external opt-out' || vendor.paradigm === 'lazy opt-in' && _this3.persistence.read(vendor) !== 'undecided';
393
- }));
393
+ }), {
394
+ applyDefaults: true
395
+ });
394
396
  }
395
397
  }, {
396
398
  key: "require",
@@ -527,12 +529,26 @@ var Consent = /*#__PURE__*/function () {
527
529
  value: function withState(vendors) {
528
530
  var _this8 = this;
529
531
 
532
+ var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
533
+ applyDefaults = _ref4.applyDefaults;
534
+
530
535
  return vendors.map(function (vendor) {
536
+ var state = _this8.persistence.read(vendor);
537
+
531
538
  return _objectSpread2(_objectSpread2({}, vendor), {}, {
532
- state: _this8.persistence.read(vendor)
539
+ state: state === 'undecided' && applyDefaults ? _this8.getDefaultState(vendor) : state
533
540
  });
534
541
  });
535
542
  }
543
+ }, {
544
+ key: "getDefaultState",
545
+ value: function getDefaultState(vendor) {
546
+ if (vendor.paradigm === 'external opt-out') {
547
+ return 'accepted';
548
+ }
549
+
550
+ return 'undecided';
551
+ }
536
552
  }]);
537
553
 
538
554
  return Consent;
@@ -2122,6 +2138,7 @@ var mediaEvents$1 = function mediaEvents(player, context) {
2122
2138
  currentTime: player.currentTime(),
2123
2139
  duration: player.duration(),
2124
2140
  volume: player.volume(),
2141
+ altText: player.getMediaElement().getAttribute('alt'),
2125
2142
  bitrate: 3500000
2126
2143
  });
2127
2144
  }
@@ -173,6 +173,11 @@ var ConfigurationEditorTab = Base.extend({
173
173
  return $(this).data('inputPropertyName');
174
174
  }).get();
175
175
  },
176
+ visibleInputPropertyNames: function visibleInputPropertyNames() {
177
+ return this.$el.find('.input:not(.input-hidden_via_binding)').map(function () {
178
+ return $(this).data('inputPropertyName');
179
+ }).get();
180
+ },
176
181
  inputLabels: function inputLabels() {
177
182
  return this.$el.find('.input').map(function () {
178
183
  return $(this).data('labelText');
@@ -210,6 +215,9 @@ var ConfigurationEditor = Base.extend({
210
215
  inputPropertyNames: function inputPropertyNames() {
211
216
  return ConfigurationEditorTab.find(this.$el).inputPropertyNames();
212
217
  },
218
+ visibleInputPropertyNames: function visibleInputPropertyNames() {
219
+ return ConfigurationEditorTab.find(this.$el).visibleInputPropertyNames();
220
+ },
213
221
  inputLabels: function inputLabels() {
214
222
  return ConfigurationEditorTab.find(this.$el).inputLabels();
215
223
  },
@@ -441,6 +449,22 @@ var factories = {
441
449
  });
442
450
  return this;
443
451
  },
452
+ withAudioFileType: function withAudioFileType(options) {
453
+ fileTypes.register('audio_files', _.extend({
454
+ model: VideoFile,
455
+ matchUpload: /^audio/,
456
+ topLevelType: true
457
+ }, options));
458
+ fileTypesSetupArray.push({
459
+ collectionName: 'audio_files',
460
+ typeName: 'Pageflow::AudioFile',
461
+ i18nKey: 'pageflow/audio_files',
462
+ nestedFileTypes: [{
463
+ collectionName: 'text_track_files'
464
+ }]
465
+ });
466
+ return this;
467
+ },
444
468
  withTextTrackFileType: function withTextTrackFileType(options) {
445
469
  fileTypes.register('text_track_files', _.extend({
446
470
  model: TextTrackFile,
@@ -638,7 +662,7 @@ function fakeBrowserAgent(name) {
638
662
  var state = window.pageflow || {};
639
663
 
640
664
  /**
641
- * Setup global state for testing Backbone editro components.
665
+ * Setup global state for testing Backbone editor components.
642
666
  *
643
667
  * For some editor components like (some views or models) it's easier
644
668
  * to depend on the global mutable state (available via the `$state`
@@ -658,11 +682,7 @@ var setupGlobals = function setupGlobals(mapping) {
658
682
  }
659
683
 
660
684
  globalsBackup = {};
661
-
662
- _.each(mapping, function (value, key) {
663
- globalsBackup[key] = state[key];
664
- state[key] = typeof value === 'function' ? value.call(this) : value;
665
- });
685
+ setGlobals(mapping);
666
686
  });
667
687
  afterEach(function () {
668
688
  _.each(mapping, function (_, key) {
@@ -671,6 +691,19 @@ var setupGlobals = function setupGlobals(mapping) {
671
691
 
672
692
  globalsBackup = null;
673
693
  });
694
+
695
+ function setGlobals(mapping) {
696
+ _.each(mapping, function (value, key) {
697
+ globalsBackup[key] = state[key];
698
+ state[key] = typeof value === 'function' ? value.call(this) : value;
699
+ });
700
+
701
+ return mapping;
702
+ }
703
+
704
+ return {
705
+ setGlobals: setGlobals
706
+ };
674
707
  };
675
708
 
676
709
  /**
@@ -2,8 +2,9 @@ FactoryBot.define do
2
2
  factory :account, class: Pageflow::Account do
3
3
  name { 'Account Name' }
4
4
 
5
- after(:build) do |account|
6
- account.default_theming ||= build(:theming, account: account)
5
+ after(:build) do |account, evaluator|
6
+ account.default_site ||=
7
+ build(:site, account: account, **evaluator.default_site_attributes)
7
8
  end
8
9
 
9
10
  trait(:with_first_paged_entry_template) do
@@ -21,6 +22,8 @@ FactoryBot.define do
21
22
 
22
23
  with_feature { nil }
23
24
  without_feature { nil }
25
+
26
+ default_site_attributes { {} }
24
27
  end
25
28
 
26
29
  after(:create) do |account, evaluator|
@@ -4,7 +4,7 @@ module Pageflow
4
4
  transient do
5
5
  title
6
6
  account
7
- theming
7
+ site
8
8
  type_name { 'paged' }
9
9
  revision_attributes { {} }
10
10
 
@@ -16,7 +16,7 @@ module Pageflow
16
16
  DraftEntry.new(create(:entry,
17
17
  title: title,
18
18
  account: account,
19
- theming: theming,
19
+ site: site,
20
20
  type_name: type_name,
21
21
  draft_attributes: revision_attributes,
22
22
  with_feature: with_feature,
@@ -10,7 +10,7 @@ module Pageflow
10
10
  account
11
11
 
12
12
  after(:build) do |entry|
13
- entry.theming ||= entry.account.default_theming
13
+ entry.site ||= entry.account.default_site
14
14
  end
15
15
 
16
16
  transient do
@@ -23,6 +23,8 @@ module Pageflow
23
23
  without_feature { nil }
24
24
 
25
25
  draft_attributes { nil }
26
+
27
+ permalink_attributes { nil }
26
28
  end
27
29
 
28
30
  after(:create) do |entry, evaluator|
@@ -50,6 +52,21 @@ module Pageflow
50
52
  entry.features_configuration =
51
53
  entry.features_configuration.merge(evaluator.with_feature => true,
52
54
  evaluator.without_feature => false)
55
+
56
+ if evaluator.permalink_attributes
57
+ permalink_directory =
58
+ evaluator.permalink_attributes[:directory] ||
59
+ build(
60
+ :permalink_directory,
61
+ site: entry.site,
62
+ path: evaluator.permalink_attributes.fetch(:directory_path, '')
63
+ )
64
+
65
+ entry.build_permalink(
66
+ directory: permalink_directory,
67
+ slug: evaluator.permalink_attributes.fetch(:slug)
68
+ )
69
+ end
53
70
  end
54
71
 
55
72
  trait :published do
@@ -1,7 +1,7 @@
1
1
  module Pageflow
2
2
  FactoryBot.define do
3
3
  factory :entry_template, class: Pageflow::EntryTemplate do
4
- account
4
+ site
5
5
  entry_type_name { 'paged' }
6
6
  theme_name { 'default' }
7
7
  end
@@ -0,0 +1,6 @@
1
+ FactoryBot.define do
2
+ factory :permalink_directory, class: Pageflow::PermalinkDirectory do
3
+ site
4
+ path { '' }
5
+ end
6
+ end
@@ -0,0 +1,4 @@
1
+ FactoryBot.define do
2
+ factory :permalink, class: Pageflow::Permalink do
3
+ end
4
+ end
@@ -4,9 +4,10 @@ module Pageflow
4
4
  transient do
5
5
  title
6
6
  account
7
- theming
7
+ site
8
8
  type_name { 'paged' }
9
9
  revision_attributes { {} }
10
+ permalink_attributes { nil }
10
11
 
11
12
  with_feature { nil }
12
13
  without_feature { nil }
@@ -17,9 +18,10 @@ module Pageflow
17
18
  :published,
18
19
  title: title,
19
20
  account: account,
20
- theming: theming,
21
+ site: site,
21
22
  type_name: type_name,
22
23
  published_revision_attributes: revision_attributes,
24
+ permalink_attributes: permalink_attributes,
23
25
  with_feature: with_feature,
24
26
  without_feature: without_feature))
25
27
  end
@@ -0,0 +1,9 @@
1
+ module Pageflow
2
+ FactoryBot.define do
3
+ factory :site, class: Pageflow::Site do
4
+ after(:build) do |site|
5
+ site.account ||= build(:account, default_site: site)
6
+ end
7
+ end
8
+ end
9
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pageflow
3
3
  version: !ruby/object:Gem::Version
4
- version: 15.7.1
4
+ version: 16.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Codevise Solutions Ltd
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-14 00:00:00.000000000 Z
11
+ date: 2023-01-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -490,14 +490,14 @@ dependencies:
490
490
  requirements:
491
491
  - - "~>"
492
492
  - !ruby/object:Gem::Version
493
- version: '1.20'
493
+ version: '1.21'
494
494
  type: :runtime
495
495
  prerelease: false
496
496
  version_requirements: !ruby/object:Gem::Requirement
497
497
  requirements:
498
498
  - - "~>"
499
499
  - !ruby/object:Gem::Version
500
- version: '1.20'
500
+ version: '1.21'
501
501
  - !ruby/object:Gem::Dependency
502
502
  name: bcrypt
503
503
  requirement: !ruby/object:Gem::Requirement
@@ -949,6 +949,7 @@ files:
949
949
  - admins/pageflow/folder.rb
950
950
  - admins/pageflow/membership.rb
951
951
  - admins/pageflow/revisions.rb
952
+ - admins/pageflow/sites.rb
952
953
  - admins/pageflow/user.rb
953
954
  - app/assets/audios/pageflow/unmute.mp3
954
955
  - app/assets/fonts/pageflow/entypo-license.txt
@@ -1089,10 +1090,6 @@ files:
1089
1090
  - app/assets/javascripts/pageflow/asset_urls.js.erb
1090
1091
  - app/assets/javascripts/pageflow/base.js
1091
1092
  - app/assets/javascripts/pageflow/components.js
1092
- - app/assets/javascripts/pageflow/dist/editor.js
1093
- - app/assets/javascripts/pageflow/dist/frontend.js
1094
- - app/assets/javascripts/pageflow/dist/react-client.js
1095
- - app/assets/javascripts/pageflow/dist/react-server.js
1096
1093
  - app/assets/javascripts/pageflow/dist/ui.js
1097
1094
  - app/assets/javascripts/pageflow/editor/base.js
1098
1095
  - app/assets/javascripts/pageflow/editor/vendor.js
@@ -1116,6 +1113,7 @@ files:
1116
1113
  - app/assets/stylesheets/pageflow/admin/hint.scss
1117
1114
  - app/assets/stylesheets/pageflow/admin/icon_button.scss
1118
1115
  - app/assets/stylesheets/pageflow/admin/icon_link.scss
1116
+ - app/assets/stylesheets/pageflow/admin/permalink_input.scss
1119
1117
  - app/assets/stylesheets/pageflow/admin/publication_state_indicator.scss
1120
1118
  - app/assets/stylesheets/pageflow/admin/quotas.scss
1121
1119
  - app/assets/stylesheets/pageflow/admin/status_tags.scss
@@ -1378,6 +1376,7 @@ files:
1378
1376
  - app/helpers/pageflow/admin/form_helper.rb
1379
1377
  - app/helpers/pageflow/admin/locales_helper.rb
1380
1378
  - app/helpers/pageflow/admin/memberships_helper.rb
1379
+ - app/helpers/pageflow/admin/permalinks_helper.rb
1381
1380
  - app/helpers/pageflow/admin/revisions_helper.rb
1382
1381
  - app/helpers/pageflow/admin/users_helper.rb
1383
1382
  - app/helpers/pageflow/admin/widgets_helper.rb
@@ -1408,15 +1407,16 @@ files:
1408
1407
  - app/helpers/pageflow/quota_helper.rb
1409
1408
  - app/helpers/pageflow/render_json_helper.rb
1410
1409
  - app/helpers/pageflow/revision_file_helper.rb
1410
+ - app/helpers/pageflow/sites_helper.rb
1411
1411
  - app/helpers/pageflow/social_share_helper.rb
1412
1412
  - app/helpers/pageflow/social_share_links_helper.rb
1413
1413
  - app/helpers/pageflow/structured_data_helper.rb
1414
1414
  - app/helpers/pageflow/stub_page_configuration.rb
1415
1415
  - app/helpers/pageflow/text_direction_helper.rb
1416
1416
  - app/helpers/pageflow/themes_helper.rb
1417
- - app/helpers/pageflow/themings_helper.rb
1418
1417
  - app/helpers/pageflow/video_files_helper.rb
1419
1418
  - app/helpers/pageflow/widgets_helper.rb
1419
+ - app/inputs/pageflow_permalink_input.rb
1420
1420
  - app/jobs/pageflow/application_job.rb
1421
1421
  - app/jobs/pageflow/entry_export_import/upload_and_publish_file_job.rb
1422
1422
  - app/jobs/pageflow/file_import_job.rb
@@ -1431,6 +1431,7 @@ files:
1431
1431
  - app/models/concerns/pageflow/entry_publication_states.rb
1432
1432
  - app/models/concerns/pageflow/feature_target.rb
1433
1433
  - app/models/concerns/pageflow/output_source.rb
1434
+ - app/models/concerns/pageflow/permalinkable.rb
1434
1435
  - app/models/concerns/pageflow/reusable_file.rb
1435
1436
  - app/models/concerns/pageflow/serialization_blacklist.rb
1436
1437
  - app/models/concerns/pageflow/serialized_configuration.rb
@@ -1448,7 +1449,7 @@ files:
1448
1449
  - app/models/pageflow/auto_snapshot_pruning.rb
1449
1450
  - app/models/pageflow/chapter.rb
1450
1451
  - app/models/pageflow/chapter_scaffold.rb
1451
- - app/models/pageflow/cname_theming_request_scope.rb
1452
+ - app/models/pageflow/cname_site_request_scope.rb
1452
1453
  - app/models/pageflow/customized_theme.rb
1453
1454
  - app/models/pageflow/draft_entry.rb
1454
1455
  - app/models/pageflow/edit_lock.rb
@@ -1475,18 +1476,20 @@ files:
1475
1476
  - app/models/pageflow/null_user.rb
1476
1477
  - app/models/pageflow/overview_button.rb
1477
1478
  - app/models/pageflow/page.rb
1479
+ - app/models/pageflow/permalink.rb
1480
+ - app/models/pageflow/permalink_directory.rb
1478
1481
  - app/models/pageflow/positioned_file.rb
1479
1482
  - app/models/pageflow/potential_memberships.rb
1480
1483
  - app/models/pageflow/published_entry.rb
1481
1484
  - app/models/pageflow/revision.rb
1482
1485
  - app/models/pageflow/roles.rb
1486
+ - app/models/pageflow/site.rb
1483
1487
  - app/models/pageflow/storyline.rb
1484
1488
  - app/models/pageflow/storyline_scaffold.rb
1485
1489
  - app/models/pageflow/text_track_file.rb
1486
1490
  - app/models/pageflow/text_track_file_url_templates.rb
1487
1491
  - app/models/pageflow/theme_customization.rb
1488
1492
  - app/models/pageflow/theme_customization_file.rb
1489
- - app/models/pageflow/theming.rb
1490
1493
  - app/models/pageflow/thumbnail_file_resolver.rb
1491
1494
  - app/models/pageflow/url_template.rb
1492
1495
  - app/models/pageflow/used_file.rb
@@ -1506,7 +1509,7 @@ files:
1506
1509
  - app/policies/pageflow/file_policy.rb
1507
1510
  - app/policies/pageflow/folder_policy.rb
1508
1511
  - app/policies/pageflow/membership_policy.rb
1509
- - app/policies/pageflow/theming_policy.rb
1512
+ - app/policies/pageflow/site_policy.rb
1510
1513
  - app/policies/pageflow/user_policy.rb
1511
1514
  - app/state_machines/pageflow/image_and_text_track_processing_state_machine.rb
1512
1515
  - app/state_machines/pageflow/media_encoding_state_machine.rb
@@ -1515,17 +1518,22 @@ files:
1515
1518
  - app/views/admin/accounts/_entry_template_details.html.arb
1516
1519
  - app/views/admin/accounts/_form.html.erb
1517
1520
  - app/views/admin/accounts/_share_providers_label.html.erb
1518
- - app/views/admin/accounts/_theming_defaults_inline_help.html.erb
1519
- - app/views/admin/accounts/_theming_details.html.arb
1521
+ - app/views/admin/accounts/_site_defaults_inline_help.html.erb
1520
1522
  - app/views/admin/entries/_attributes_table.html.arb
1521
1523
  - app/views/admin/entries/_form.html.erb
1522
1524
  - app/views/admin/entries/_links.html.arb
1523
- - app/views/admin/entries/entry_type_name_input.html.erb
1525
+ - app/views/admin/entries/_permalink_inputs.html.erb
1526
+ - app/views/admin/entries/_site_input.html.erb
1527
+ - app/views/admin/entries/entry_site_and_type_name_input.html.erb
1528
+ - app/views/admin/entries/permalink_inputs.html.erb
1524
1529
  - app/views/admin/entry_templates/_form.html.erb
1525
1530
  - app/views/admin/features/_form.html.erb
1526
1531
  - app/views/admin/memberships/_form.html.erb
1527
1532
  - app/views/admin/memberships/_role_hint.html.arb
1528
1533
  - app/views/admin/revisions/_form.html.erb
1534
+ - app/views/admin/sites/_attributes_table.html.arb
1535
+ - app/views/admin/sites/_fields.html.erb
1536
+ - app/views/admin/sites/_form.html.erb
1529
1537
  - app/views/admin/users/_form.html.erb
1530
1538
  - app/views/admin/users/_not_allowed_to_see_user_quota.html.erb
1531
1539
  - app/views/admin/users/delete_me.html.erb
@@ -1547,6 +1555,7 @@ files:
1547
1555
  - app/views/components/pageflow/admin/members_tab.rb
1548
1556
  - app/views/components/pageflow/admin/membership_role_with_tooltip.rb
1549
1557
  - app/views/components/pageflow/admin/revisions_tab.rb
1558
+ - app/views/components/pageflow/admin/sites_tab.rb
1550
1559
  - app/views/components/pageflow/admin/tabs_view.rb
1551
1560
  - app/views/components/pageflow/admin/timestamp.rb
1552
1561
  - app/views/components/pageflow/admin/user_account_badge_list.rb
@@ -1592,19 +1601,20 @@ files:
1592
1601
  - app/views/pageflow/editor/entries/show.json.jbuilder
1593
1602
  - app/views/pageflow/editor/entry_publications/_published_message.html.erb
1594
1603
  - app/views/pageflow/editor/entry_publications/check.json.jbuilder
1604
+ - app/views/pageflow/editor/file_import/start_import_job.json.jbuilder
1595
1605
  - app/views/pageflow/editor/files/_file.json.jbuilder
1596
1606
  - app/views/pageflow/editor/files/create.json.jbuilder
1597
1607
  - app/views/pageflow/editor/files/index.json.jbuilder
1598
1608
  - app/views/pageflow/editor/image_files/_image_file.json.jbuilder
1599
1609
  - app/views/pageflow/editor/quotas/_published_entries_exhausted.html.erb
1600
- - app/views/pageflow/editor/themings/_theming.json.jbuilder
1610
+ - app/views/pageflow/editor/sites/_site.json.jbuilder
1601
1611
  - app/views/pageflow/editor/video_files/_video_file.json.jbuilder
1602
1612
  - app/views/pageflow/editor/widgets/_widget.json.jbuilder
1603
1613
  - app/views/pageflow/editor/widgets/index.json.jbuilder
1604
1614
  - app/views/pageflow/entries/_analytics.html.erb
1605
1615
  - app/views/pageflow/entries/_mobile_navigation.html.erb
1606
1616
  - app/views/pageflow/entries/_navigation.html.erb
1607
- - app/views/pageflow/entries/_theming.css.erb
1617
+ - app/views/pageflow/entries/_site.css.erb
1608
1618
  - app/views/pageflow/entries/mobile_navigation/_page.html.erb
1609
1619
  - app/views/pageflow/entries/navigation/_bar_bottom.html.erb
1610
1620
  - app/views/pageflow/entries/navigation/_bar_top.html.erb
@@ -1652,6 +1662,7 @@ files:
1652
1662
  - config/initializers/admin_resource_tabs.rb
1653
1663
  - config/initializers/features.rb
1654
1664
  - config/initializers/help_entries.rb
1665
+ - config/initializers/mime_types.rb
1655
1666
  - config/initializers/paperclip.rb
1656
1667
  - config/initializers/revision_components.rb
1657
1668
  - config/initializers/symmetric_encryption.rb
@@ -1692,6 +1703,13 @@ files:
1692
1703
  - db/migrate/20211020085902_add_canonical_entry_url_prefix_to_themings.rb
1693
1704
  - db/migrate/20220503150010_add_peak_data_to_audio_files.rb
1694
1705
  - db/migrate/20220705084830_add_trailing_slash_in_canonical_urls_to_themings.rb
1706
+ - db/migrate/20221024100724_create_pageflow_permalink_directories.rb
1707
+ - db/migrate/20221025074049_add_permalink_attributes_to_entries.rb
1708
+ - db/migrate/20221027065022_create_pageflow_permalinks.rb
1709
+ - db/migrate/20221215101134_rename_theming_to_site.rb
1710
+ - db/migrate/20221215120856_associate_entry_templates_with_sites.rb
1711
+ - db/migrate/20221219203023_add_name_to_sites.rb
1712
+ - db/migrate/20230103155934_associate_theme_customizations_with_sites.rb
1695
1713
  - entry_types/paged/app/assets/javascripts/pageflow_paged/components.js
1696
1714
  - entry_types/paged/app/assets/javascripts/pageflow_paged/dist/editor.js
1697
1715
  - entry_types/paged/app/assets/javascripts/pageflow_paged/dist/frontend.js
@@ -1740,10 +1758,8 @@ files:
1740
1758
  - entry_types/paged/config/initializers/features.rb
1741
1759
  - entry_types/paged/config/initializers/help_entries.rb
1742
1760
  - entry_types/paged/config/initializers/page_types.rb
1743
- - entry_types/paged/config/locales/new/help.de.yml
1744
- - entry_types/paged/config/locales/new/help.en.yml
1745
- - entry_types/paged/config/locales/new/video_contain.de.yml
1746
- - entry_types/paged/config/locales/new/video_contain.en.yml
1761
+ - entry_types/paged/config/locales/de.yml
1762
+ - entry_types/paged/config/locales/en.yml
1747
1763
  - entry_types/paged/config/routes.rb
1748
1764
  - entry_types/paged/lib/pageflow_paged.rb
1749
1765
  - entry_types/paged/lib/pageflow_paged/configuration.rb
@@ -1770,6 +1786,7 @@ files:
1770
1786
  - entry_types/scrolled/app/helpers/pageflow_scrolled/editor/seed_html_helper.rb
1771
1787
  - entry_types/scrolled/app/helpers/pageflow_scrolled/entry_json_seed_helper.rb
1772
1788
  - entry_types/scrolled/app/helpers/pageflow_scrolled/favicon_helper.rb
1789
+ - entry_types/scrolled/app/helpers/pageflow_scrolled/generated_media_queries_helper.rb
1773
1790
  - entry_types/scrolled/app/helpers/pageflow_scrolled/i18n_helper.rb
1774
1791
  - entry_types/scrolled/app/helpers/pageflow_scrolled/packs_helper.rb
1775
1792
  - entry_types/scrolled/app/helpers/pageflow_scrolled/react_server_side_rendering_helper.rb
@@ -1786,6 +1803,7 @@ files:
1786
1803
  - entry_types/scrolled/app/views/pageflow_scrolled/editor/entries/_head.html.erb
1787
1804
  - entry_types/scrolled/app/views/pageflow_scrolled/editor/entries/_seed.json.jbuilder
1788
1805
  - entry_types/scrolled/app/views/pageflow_scrolled/entries/_global_notices.html.erb
1806
+ - entry_types/scrolled/app/views/pageflow_scrolled/entries/_manifest.json.jbuilder
1789
1807
  - entry_types/scrolled/app/views/pageflow_scrolled/entries/show.html.erb
1790
1808
  - entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_entry.json.jbuilder
1791
1809
  - entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_theme.json.jbuilder
@@ -1795,48 +1813,14 @@ files:
1795
1813
  - entry_types/scrolled/config/initializers/help_entries.rb
1796
1814
  - entry_types/scrolled/config/locales/de.yml
1797
1815
  - entry_types/scrolled/config/locales/en.yml
1798
- - entry_types/scrolled/config/locales/new/before_after_slider.de.yml
1799
- - entry_types/scrolled/config/locales/new/before_after_slider.en.yml
1800
- - entry_types/scrolled/config/locales/new/center_ragged.de.yml
1801
- - entry_types/scrolled/config/locales/new/center_ragged.en.yml
1802
- - entry_types/scrolled/config/locales/new/consent.de.yml
1803
- - entry_types/scrolled/config/locales/new/consent.en.yml
1804
- - entry_types/scrolled/config/locales/new/content_element_categories.de.yml
1805
- - entry_types/scrolled/config/locales/new/content_element_categories.en.yml
1806
- - entry_types/scrolled/config/locales/new/default_transition.de.yml
1807
- - entry_types/scrolled/config/locales/new/default_transition.en.yml
1808
- - entry_types/scrolled/config/locales/new/header_line_breaks.de.yml
1809
- - entry_types/scrolled/config/locales/new/header_line_breaks.en.yml
1810
- - entry_types/scrolled/config/locales/new/header_size.de.yml
1811
- - entry_types/scrolled/config/locales/new/header_size.en.yml
1812
- - entry_types/scrolled/config/locales/new/iframe_embed.de.yml
1813
- - entry_types/scrolled/config/locales/new/iframe_embed.en.yml
1814
- - entry_types/scrolled/config/locales/new/inline_loops.de.yml
1815
- - entry_types/scrolled/config/locales/new/inline_loops.en.yml
1816
- - entry_types/scrolled/config/locales/new/portrait_inline_image.de.yml
1817
- - entry_types/scrolled/config/locales/new/portrait_inline_image.en.yml
1818
- - entry_types/scrolled/config/locales/new/section_width.de.yml
1819
- - entry_types/scrolled/config/locales/new/section_width.en.yml
1820
- - entry_types/scrolled/config/locales/new/typography_variants.de.yml
1821
- - entry_types/scrolled/config/locales/new/typography_variants.en.yml
1822
- - entry_types/scrolled/config/locales/new/video_embed_poster.de.yml
1823
- - entry_types/scrolled/config/locales/new/video_embed_poster.en.yml
1824
- - entry_types/scrolled/config/locales/new/waveform_styles.de.yml
1825
- - entry_types/scrolled/config/locales/new/waveform_styles.en.yml
1826
- - entry_types/scrolled/config/locales/new/widgets.de.yml
1827
- - entry_types/scrolled/config/locales/new/widgets.en.yml
1828
1816
  - entry_types/scrolled/config/routes.rb
1829
1817
  - entry_types/scrolled/lib/generators/pageflow_scrolled/install/install_generator.rb
1830
1818
  - entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/android-chrome-192x192.png
1831
1819
  - entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/android-chrome-512x512.png
1832
1820
  - entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/apple-touch-icon.png
1833
- - entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/browserconfig.xml
1834
1821
  - entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/favicon-16x16.png
1835
1822
  - entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/favicon-32x32.png
1836
1823
  - entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/favicon.ico
1837
- - entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/mstile-150x150.png
1838
- - entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/safari-pinned-tab.svg
1839
- - entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/site.webmanifest
1840
1824
  - entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/logoDesktop.svg
1841
1825
  - entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/logoMobile.svg
1842
1826
  - entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/unmute.mp3
@@ -1849,6 +1833,7 @@ files:
1849
1833
  - entry_types/scrolled/lib/pageflow_scrolled/plugin.rb
1850
1834
  - entry_types/scrolled/lib/pageflow_scrolled/react_widget_type.rb
1851
1835
  - entry_types/scrolled/lib/pageflow_scrolled/seeds.rb
1836
+ - entry_types/scrolled/lib/pageflow_scrolled/web_app_manifest.rb
1852
1837
  - entry_types/scrolled/lib/tasks/pageflow_scrolled/create_bundle_symlinks_for_yarn.rake
1853
1838
  - entry_types/scrolled/lib/tasks/pageflow_scrolled/dummy.rake
1854
1839
  - entry_types/scrolled/lib/tasks/pageflow_scrolled/storybook.rake
@@ -1858,15 +1843,15 @@ files:
1858
1843
  - entry_types/scrolled/package/contentElements-frontend.js
1859
1844
  - entry_types/scrolled/package/editor.js
1860
1845
  - entry_types/scrolled/package/frontend-server.js
1861
- - entry_types/scrolled/package/frontend/EditableInlineText.module-b9923660.js
1862
- - entry_types/scrolled/package/frontend/PhonePlatformContext-9fb97827.js
1863
- - entry_types/scrolled/package/frontend/Viewer-e2290ea0.js
1846
+ - entry_types/scrolled/package/frontend/EditableInlineText.module-14c7b097.js
1847
+ - entry_types/scrolled/package/frontend/PhonePlatformContext-f6093cc6.js
1848
+ - entry_types/scrolled/package/frontend/Viewer-b6becc57.js
1864
1849
  - entry_types/scrolled/package/frontend/Wavesurfer-7d9cf1b7.js
1865
- - entry_types/scrolled/package/frontend/components-6ab26015.js
1850
+ - entry_types/scrolled/package/frontend/arrowRight-78a7cee4.js
1851
+ - entry_types/scrolled/package/frontend/components-b3160dd7.js
1866
1852
  - entry_types/scrolled/package/frontend/createSuper-d0f30da3.js
1867
1853
  - entry_types/scrolled/package/frontend/index.css
1868
1854
  - entry_types/scrolled/package/frontend/index.js
1869
- - entry_types/scrolled/package/frontend/usePhonePlatform-2857c22b.js
1870
1855
  - entry_types/scrolled/package/package.json
1871
1856
  - entry_types/scrolled/package/testHelpers.js
1872
1857
  - entry_types/scrolled/package/values/breakpoints.module.css
@@ -1878,6 +1863,7 @@ files:
1878
1863
  - entry_types/scrolled/spec/factories/sections.rb
1879
1864
  - entry_types/scrolled/spec/factories/storylines.rb
1880
1865
  - entry_types/scrolled/spec/fixtures/audio.m4a
1866
+ - entry_types/scrolled/spec/fixtures/image.ico
1881
1867
  - entry_types/scrolled/spec/fixtures/image.jpg
1882
1868
  - entry_types/scrolled/spec/fixtures/image.svg
1883
1869
  - entry_types/scrolled/spec/fixtures/video.mp4
@@ -2020,13 +2006,15 @@ files:
2020
2006
  - spec/factories/invited_user.rb
2021
2007
  - spec/factories/memberships.rb
2022
2008
  - spec/factories/pages.rb
2009
+ - spec/factories/permalink_directory.rb
2010
+ - spec/factories/permalinks.rb
2023
2011
  - spec/factories/published_entries.rb
2024
2012
  - spec/factories/revisions.rb
2013
+ - spec/factories/sites.rb
2025
2014
  - spec/factories/storylines.rb
2026
2015
  - spec/factories/test_multi_attachment_files.rb
2027
2016
  - spec/factories/test_revision_components.rb
2028
2017
  - spec/factories/text_track_files.rb
2029
- - spec/factories/themings.rb
2030
2018
  - spec/factories/uploadable_files.rb
2031
2019
  - spec/factories/users.rb
2032
2020
  - spec/factories/video_files.rb
@@ -2074,7 +2062,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
2074
2062
  - !ruby/object:Gem::Version
2075
2063
  version: '0'
2076
2064
  requirements: []
2077
- rubygems_version: 3.0.3
2065
+ rubygems_version: 3.0.3.1
2078
2066
  signing_key:
2079
2067
  specification_version: 4
2080
2068
  summary: Multimedia story telling for the web.