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.

Files changed (139) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +338 -85
  3. data/admins/pageflow/accounts.rb +1 -98
  4. data/admins/pageflow/entry.rb +21 -1
  5. data/admins/pageflow/entry_templates.rb +140 -0
  6. data/admins/pageflow/membership.rb +12 -0
  7. data/admins/pageflow/user.rb +5 -3
  8. data/app/assets/javascripts/pageflow/admin/entries.js +65 -0
  9. data/app/assets/javascripts/pageflow/admin/users.js +1 -1
  10. data/app/assets/javascripts/pageflow/asset_urls.js.erb +1 -0
  11. data/app/assets/javascripts/pageflow/base.js +0 -12
  12. data/app/assets/javascripts/pageflow/components.js +2 -6
  13. data/app/assets/javascripts/pageflow/dist/ui.js +47 -14
  14. data/app/assets/javascripts/pageflow/vendor.js +13 -10
  15. data/app/assets/stylesheets/pageflow/base.scss +0 -7
  16. data/app/assets/stylesheets/pageflow/editor/base.scss +2 -0
  17. data/app/assets/stylesheets/pageflow/editor/composables.scss +5 -1
  18. data/app/assets/stylesheets/pageflow/editor/emulation_mode_button.scss +44 -55
  19. data/app/assets/stylesheets/pageflow/editor/help.scss +2 -2
  20. data/app/assets/stylesheets/pageflow/ui/tooltip.scss +17 -3
  21. data/app/helpers/pageflow/admin/entries_helper.rb +16 -0
  22. data/app/helpers/pageflow/structured_data_helper.rb +0 -2
  23. data/app/models/pageflow/account.rb +21 -1
  24. data/app/models/pageflow/entry.rb +9 -2
  25. data/app/models/pageflow/entry_duplicate.rb +1 -0
  26. data/app/models/pageflow/entry_template.rb +16 -2
  27. data/app/policies/pageflow/account_policy.rb +10 -0
  28. data/app/policies/pageflow/entry_template_policy.rb +5 -1
  29. data/app/views/admin/accounts/_entry_template_details.html.arb +7 -5
  30. data/app/views/admin/accounts/_form.html.erb +3 -49
  31. data/app/views/admin/entries/_attributes_table.html.arb +5 -0
  32. data/app/views/admin/entries/_not_allowed_to_see_entry_types.json.jbuilder +2 -0
  33. data/app/views/admin/entries/entry_types.json.jbuilder +4 -0
  34. data/app/views/admin/entry_templates/_form.html.erb +58 -0
  35. data/app/views/admin/users/_not_allowed_to_see_user_quota.html.erb +3 -0
  36. data/app/views/components/pageflow/admin/entry_templates_tab.rb +48 -0
  37. data/app/views/pageflow/admin/users/_quota_exhausted.html.erb +1 -1
  38. data/config/initializers/admin_resource_tabs.rb +5 -0
  39. data/config/initializers/help_entries.rb +1 -5
  40. data/config/locales/de.yml +88 -155
  41. data/config/locales/en.yml +79 -143
  42. data/db/migrate/20200515112500_add_constraints_to_entry_templates.rb +21 -0
  43. data/db/migrate/20200807135200_rename_pageflow_entry_template_entry_type_to_entry_type_name.rb +7 -0
  44. data/entry_types/paged/app/assets/javascripts/pageflow_paged/components.js +7 -0
  45. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/editor.js +1479 -1391
  46. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/frontend.js +9218 -0
  47. data/{app/assets/javascripts/pageflow → entry_types/paged/app/assets/javascripts/pageflow_paged}/dist/react-client.js +1 -1
  48. data/{app/assets/javascripts/pageflow → entry_types/paged/app/assets/javascripts/pageflow_paged}/dist/react-server.js +3 -3
  49. data/entry_types/paged/app/assets/javascripts/pageflow_paged/frontend.js +6 -0
  50. data/entry_types/paged/app/assets/javascripts/pageflow_paged/server_rendering.js +9 -0
  51. data/entry_types/paged/app/assets/javascripts/pageflow_paged/vendor.js +8 -0
  52. data/entry_types/paged/app/controllers/pageflow_paged/application_controller.rb +2 -2
  53. data/{app/helpers/pageflow → entry_types/paged/app/helpers/pageflow_paged}/page_background_asset_helper.rb +4 -3
  54. data/{app/helpers/pageflow → entry_types/paged/app/helpers/pageflow_paged}/react_server_side_rendering_helper.rb +23 -2
  55. data/entry_types/paged/app/views/layouts/pageflow_paged/application.html.erb +2 -2
  56. data/entry_types/paged/app/views/pageflow_paged/editor/entries/_head.html.erb +2 -2
  57. data/entry_types/paged/app/views/pageflow_paged/entries/_entry.html.erb +1 -1
  58. data/{app/views/pageflow → entry_types/paged/app/views/pageflow_paged}/page_background_asset/_element.html.erb +0 -0
  59. data/{app/views/pageflow → entry_types/paged/app/views/pageflow_paged}/react/_widget.html.erb +0 -0
  60. data/{app/views/pageflow → entry_types/paged/app/views/pageflow_paged}/react/page.html.erb +0 -0
  61. data/entry_types/paged/config/initializers/features.rb +1 -1
  62. data/entry_types/paged/config/initializers/help_entries.rb +17 -0
  63. data/entry_types/paged/config/locales/new/help.de.yml +162 -0
  64. data/entry_types/paged/config/locales/new/help.en.yml +153 -0
  65. data/entry_types/paged/lib/pageflow_paged/engine.rb +13 -0
  66. data/entry_types/paged/lib/pageflow_paged/plugin.rb +5 -1
  67. data/entry_types/paged/lib/pageflow_paged/react.rb +12 -0
  68. data/{lib/pageflow → entry_types/paged/lib/pageflow_paged}/react/page_type.rb +2 -2
  69. data/{lib/pageflow → entry_types/paged/lib/pageflow_paged}/react/widget_type.rb +2 -2
  70. data/entry_types/paged/vendor/assets/javascripts/development/pageflow_paged/vendor/react-server.js +20613 -0
  71. data/entry_types/paged/vendor/assets/javascripts/development/pageflow_paged/vendor/react.js +21495 -0
  72. data/entry_types/paged/vendor/assets/javascripts/production/pageflow_paged/vendor/react-server.js +24 -0
  73. data/entry_types/paged/vendor/assets/javascripts/production/pageflow_paged/vendor/react.js +24 -0
  74. data/entry_types/scrolled/app/assets/javascripts/pageflow_scrolled/legacy.js +0 -0
  75. data/entry_types/scrolled/app/controllers/pageflow_scrolled/editor/chapters_controller.rb +2 -2
  76. data/entry_types/scrolled/app/controllers/pageflow_scrolled/editor/content_elements_controller.rb +14 -4
  77. data/entry_types/scrolled/app/controllers/pageflow_scrolled/editor/sections_controller.rb +2 -2
  78. data/entry_types/scrolled/app/controllers/pageflow_scrolled/entries_controller.rb +8 -0
  79. data/entry_types/scrolled/app/helpers/pageflow_scrolled/editor/seed_html_helper.rb +6 -0
  80. data/entry_types/scrolled/app/helpers/pageflow_scrolled/entry_json_seed_helper.rb +2 -0
  81. data/entry_types/scrolled/app/helpers/pageflow_scrolled/react_server_side_rendering_helper.rb +33 -0
  82. data/entry_types/scrolled/app/helpers/pageflow_scrolled/themes_helper.rb +8 -0
  83. data/entry_types/scrolled/app/models/pageflow_scrolled/content_element.rb +38 -0
  84. data/entry_types/scrolled/app/views/pageflow_scrolled/editor/content_elements/batch.json.jbuilder +2 -0
  85. data/entry_types/scrolled/app/views/pageflow_scrolled/editor/entries/_head.html.erb +1 -7
  86. data/entry_types/scrolled/app/views/pageflow_scrolled/entries/show.html.erb +19 -3
  87. data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_entry.json.jbuilder +3 -0
  88. data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_theme.json.jbuilder +7 -0
  89. data/entry_types/scrolled/config/initializers/help_entries.rb +16 -0
  90. data/entry_types/scrolled/config/locales/new/de.yml +345 -13
  91. data/entry_types/scrolled/config/locales/new/en.yml +257 -14
  92. data/entry_types/scrolled/config/routes.rb +1 -0
  93. data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/install_generator.rb +28 -0
  94. data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/logoDesktop.svg +56 -0
  95. data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/logoMobile.svg +22 -0
  96. data/entry_types/scrolled/lib/pageflow_scrolled/engine.rb +4 -0
  97. data/entry_types/scrolled/lib/pageflow_scrolled/plugin.rb +3 -1
  98. data/entry_types/scrolled/lib/pageflow_scrolled/seeds.rb +90 -30
  99. data/entry_types/scrolled/lib/tasks/pageflow_scrolled_tasks.rake +64 -27
  100. data/entry_types/scrolled/package/contentElements-editor.js +242 -183
  101. data/entry_types/scrolled/package/contentElements-frontend.css +1 -0
  102. data/entry_types/scrolled/package/contentElements-frontend.js +624 -279
  103. data/entry_types/scrolled/package/editor.js +2561 -363
  104. data/entry_types/scrolled/package/frontend-server.js +228 -0
  105. data/entry_types/scrolled/package/frontend/EditableText-4264c349.js +1993 -0
  106. data/entry_types/scrolled/package/frontend/Wavesurfer-c3c45324.js +378 -0
  107. data/entry_types/scrolled/package/frontend/components-cfe6a479.js +2115 -0
  108. data/entry_types/scrolled/package/frontend/getPrototypeOf-63c7c8e8.js +86 -0
  109. data/entry_types/scrolled/package/frontend/index.css +9 -0
  110. data/entry_types/scrolled/package/frontend/index.js +4425 -0
  111. data/entry_types/scrolled/package/package.json +17 -6
  112. data/entry_types/scrolled/spec/fixtures/audio.m4a +0 -0
  113. data/entry_types/scrolled/spec/fixtures/video.mp4 +0 -0
  114. data/lib/generators/pageflow/initializer/templates/pageflow.rb +20 -9
  115. data/lib/pageflow/ability_mixin.rb +14 -2
  116. data/lib/pageflow/configuration.rb +6 -5
  117. data/lib/pageflow/engine.rb +1 -0
  118. data/lib/pageflow/entry_type_configuration.rb +1 -0
  119. data/lib/pageflow/global_config_api.rb +5 -4
  120. data/lib/pageflow/react.rb +4 -2
  121. data/lib/pageflow/version.rb +1 -1
  122. data/{packages/pageflow → package}/config/jest/index.js +2 -1
  123. data/{packages/pageflow → package}/config/jest/transformers/jst.js +0 -0
  124. data/{packages/pageflow → package}/config/jest/transformers/upwardBabel.js +0 -0
  125. data/package/config/webpack.js +22 -0
  126. data/{packages/pageflow → package}/editor.js +480 -1129
  127. data/package/frontend.js +2525 -0
  128. data/{packages/pageflow → package}/package.json +3 -0
  129. data/{packages/pageflow → package}/testHelpers.js +114 -13
  130. data/{packages/pageflow → package}/ui.js +47 -14
  131. data/spec/factories/accounts.rb +3 -1
  132. data/spec/factories/entry_templates.rb +1 -0
  133. data/spec/factories/published_entries.rb +6 -1
  134. metadata +62 -26
  135. data/app/assets/javascripts/pageflow/dist/frontend.js +0 -5800
  136. data/config/initializers/entry_types.rb +0 -4
  137. data/entry_types/scrolled/package/frontend.js +0 -2879
  138. data/packages/pageflow/config/jest/transformers/cssModules.js +0 -1
  139. data/packages/pageflow/config/webpack.js +0 -14
@@ -1,17 +1,173 @@
1
1
  en:
2
2
  pageflow_scrolled:
3
+ help_entries:
4
+ overview:
5
+ menu_item: Overview
6
+ text: |
7
+ # Overview
8
+
9
+ TODO
10
+ meta_data:
11
+ menu_item: Title and Options
12
+ text: |
13
+ # Title and Options
14
+
15
+ General settings for the entry. Please select a sub item on the left.
16
+ outline:
17
+ menu_item: Chapter, Sections, Content Elements
18
+ text: |
19
+ # Chapter, Sections, Content Elements
20
+
21
+ TODO
22
+
23
+ sections:
24
+ menu_item: Section Options
25
+ text: |
26
+ # Section Options
27
+
28
+ ## Layout
29
+
30
+ TODO
31
+
32
+ ## Background
33
+
34
+ TODO
35
+
36
+ ## Atmo Audio
37
+
38
+ TODO
39
+
40
+ ## Transitions
41
+
42
+ TODO
43
+ content_elements:
44
+ menu_item: Content Elements
45
+ text: |
46
+ # Content Elements
47
+
48
+ TODO
49
+ motif_area:
50
+ menu_item: Motif areas
51
+ text: |
52
+ # Motif areas
53
+
54
+ By specifying a motif area of an image, you can tell
55
+ Pageflow which part of the image is most important. For
56
+ example, for a portrait this could be the face of the
57
+ depicted person.
58
+
59
+ When the image is then used as the background of a section,
60
+ Pageflow tries to make sure the reader has an undisturbed view can actually see this
61
+ part of the image.
62
+
63
+ 1. If the image cannot be displayed uncropped (e.g. because
64
+ it has landscape format while the entry is being viewed
65
+ on a phone in portrait orientation), the background is
66
+ positioned in a way to center the motif area in the
67
+ available space.
68
+
69
+ 2. If the section contains text or other content elements,
70
+ empty space is inserted at the beginning of the section
71
+ to make sure the motif area is not covered by other
72
+ content when first reaching the section. The content
73
+ starts intersecting with the motif area only when the
74
+ reader continues scrolling.
75
+
76
+ Layout responds intelligently in such cases: If, for
77
+ example, the text of the section is positioned on the
78
+ left such that the motif area of the image can be
79
+ displayed completely on the right, no additional space
80
+ will be inserted at the beginning of the section.
81
+
82
+ You can edit the motif area of a background image via the
83
+ "Select motif area" menu item of the "Background image"
84
+ field in the section settings.
85
+
3
86
  public:
4
87
  navigation:
5
88
  chapter: Chapter
6
- external_link:
7
- open_in_new_tab: Open in new tab
8
- open_in_new_tab_message: Opening in same tab is disabled inside the editor
9
89
  sound_disclaimer:
10
90
  help_text: >
11
91
  This article works best with the sound turned on. <br/>
12
92
  Click once in this field to activate the sound for the entire story.
93
+ player_controls:
94
+ play: Play
95
+ pause: Pause
96
+ progress: "Timeline. Current time: %{currentTime}. Duration: %{duration}"
97
+ quality: Quality
98
+ text_tracks: Subtitles
99
+ video_qualities:
100
+ annotations:
101
+ 4k: 4K
102
+ fullhd: HD
103
+ medium: HD
104
+ labels:
105
+ 4k: 2160p
106
+ auto: Auto
107
+ fullhd: 1080p
108
+ medium: 720p
109
+ text_track_modes:
110
+ auto: Auto (%{label})
111
+ auto_off: Auto (Off)
112
+ none: Off
113
+ languages:
114
+ ar: Arabic
115
+ cs: Czech
116
+ de: German
117
+ dk: Danish
118
+ el: Greek
119
+ en: English
120
+ es: Spanish
121
+ fi: Finnish
122
+ fr: French
123
+ fy: Frisian
124
+ hi: Hindi
125
+ it: Italian
126
+ ja: Japanese
127
+ lb: Letzeburgesch
128
+ nb: Norsk Bokmål
129
+ nl: Dutch
130
+ nn: Norsk Nynorsk
131
+ 'no': Norsk
132
+ pl: Polish
133
+ pt: Portuguese
134
+ rm: Romansh
135
+ ru: Russian
136
+ se: Northern Sami
137
+ sr: Serbian
138
+ sv: Swedish
139
+ tr: Turkish
140
+ unknown: "(Unknown)"
141
+ zh: Chinese
13
142
  inline_editing:
14
- insert_content_element: Insert new element
143
+ cancel: Cancel
144
+ url_placeholder: Type or paste URL
145
+ formats:
146
+ paragraph: Paragraph
147
+ heading: Heading
148
+ ordered_list: Ordered list
149
+ bullete: Bulleted list
150
+ block_quote: Block quote
151
+ bold: Bold
152
+ italic: Italic
153
+ underline: Underline
154
+ strikethrough: Strikethrough
155
+ type_text: Type some text
156
+ type_heading: Heading
157
+ insert_link: Insert link
158
+ remove_link: Remove link
159
+ select_section: Select section
160
+ select_content_element: Select element
161
+ add_content_element: Add new element
162
+ insert_content_element:
163
+ before: Insert new element above
164
+ after: Insert new element below
165
+ edit_section_settings: Edit section settings
166
+ edit_section_transition_before: Edit section transition
167
+ edit_section_transition_after: Edit section transition
168
+ external_link:
169
+ open_in_new_tab: Open in new tab
170
+ open_in_new_tab_message: Opening in same tab is disabled inside the editor
15
171
  editor:
16
172
  content_elements:
17
173
  externalLinkList:
@@ -38,6 +194,7 @@ en:
38
194
  label: Thumbnail
39
195
  inline_help: Link thumbnail image for display in entry.
40
196
  tabs:
197
+ general: External Links
41
198
  edit_link: Edit Link
42
199
  dataWrapperChart:
43
200
  name: DataWrapper Chart
@@ -85,6 +242,46 @@ en:
85
242
  name: Inline Video
86
243
  tabs:
87
244
  general: Inline Video
245
+ attributes:
246
+ id:
247
+ label: "Video"
248
+ posterId:
249
+ label: "Poster"
250
+ atmoDuringPlayback:
251
+ label: Atmo During Playback
252
+ inline_help: >
253
+ Choose which way the atmo shall behave during playback of this video element.
254
+ values:
255
+ mute: Mute
256
+ play: Keep playing
257
+ turnDown: Keep playing at lower volume
258
+ inlineAudio:
259
+ name: Inline Audio
260
+ tabs:
261
+ general: Inline Audio
262
+ attributes:
263
+ id:
264
+ label: "Audio"
265
+ posterId:
266
+ label: "Poster"
267
+ playerControlVariant:
268
+ label: Player Controls
269
+ inline_help: >
270
+ Choose the style of player controls.
271
+ values:
272
+ classic: Classic
273
+ waveform: Waveform
274
+ waveformColor:
275
+ inline_help: Color of the waveform's parts that represents the already played part of the audio.
276
+ label: Waveform Color
277
+ atmoDuringPlayback:
278
+ label: Atmo During Playback
279
+ inline_help: >
280
+ Choose which way the atmo shall behave during playback of this audio element.
281
+ values:
282
+ mute: Mute
283
+ play: Keep playing
284
+ turnDown: Keep playing at lower volume
88
285
  inlineBeforeAfter:
89
286
  name: Before/After
90
287
  tabs:
@@ -169,15 +366,18 @@ en:
169
366
  values:
170
367
  inline: Inline
171
368
  full: Full Width
369
+ left: Floated left
370
+ right: Floated right
172
371
  sticky: Sticky
173
372
  entry_outline:
174
373
  header: Outline
175
374
  add_chapter: New chapter
176
375
  chapter_item:
376
+ drag_hint: Drag to move chapter
177
377
  add_section: New section
178
378
  save_error: There was an error while saving this chapter.
179
379
  section_item:
180
- edit: Edit section
380
+ drag_hint: Drag to move section
181
381
  save_error: There was an error while saving this section.
182
382
  edit_chapter:
183
383
  tabs:
@@ -200,6 +400,7 @@ en:
200
400
  This operation cannot be undone.
201
401
  save_error: There was an error while saving this chapter.
202
402
  edit_section:
403
+ edit_motif_area: Select motif area...
203
404
  tabs:
204
405
  section: Section
205
406
  attributes:
@@ -216,7 +417,16 @@ en:
216
417
  solid: Block
217
418
  transparent: Transparent
218
419
  backdropImage:
219
- label: Background
420
+ label: Background-Image
421
+ backdropImageMobile:
422
+ label: Background-Image (Portrait)
423
+ inline_help: >
424
+ Displayed when the browser viewport is taller than wide, for example
425
+ on phones or tablets in portrait orientation. Can be used to supply an
426
+ alternative to a landscape background image that would otherwise have
427
+ important parts cropped off.
428
+ backdropVideo:
429
+ label: Background-Video
220
430
  backdropType:
221
431
  label: Background-Type
222
432
  inline_help: >
@@ -227,11 +437,18 @@ en:
227
437
  fullHeight:
228
438
  label: Use Full Viewport-Height
229
439
  inline_help: >
230
- Activate this option if the section should span at least one viewport height.
231
- Deactivate this option to create a short section which height is determined by its
232
- foreground content.
440
+ Activate this option if the background of this section (e.g. image, color or video) is supposed
441
+ to be enlarged such that the whole browser window (the so called viewport) is covered.
442
+ Deactivate this option to create a short section. The height of the section and its background
443
+ is then determined only by the content of the section. Multiple sections with different
444
+ backgrounds can then be visible at once on the user's screen. This option needs to be activated
445
+ for two adjacent sections to be able to use a fade transition between them.
446
+ atmoAudioFileId:
447
+ label: Atmo Audio
448
+ inline_help: >
449
+ Choose an audio file, that shall be played in the background. If you want this audio to continue playing on following sections, just choose the same file again there.
233
450
  invert:
234
- label: Invert Text
451
+ label: Invert Text Colors
235
452
  layout:
236
453
  label: Content alignment
237
454
  inline_help: >
@@ -242,16 +459,22 @@ en:
242
459
  left: Left
243
460
  right: Right
244
461
  center: Center
462
+ edit_section_transition:
463
+ tabs:
464
+ transition: Transition
465
+ attributes:
245
466
  transition:
246
- label: Transition From Previous Section
467
+ label: Effect
247
468
  inline_help: >
248
469
  This setting defines the transition when scrolling from the previous
249
470
  section to the current. The different settings have specific effects concerning the
250
- behaviors of background and foreground.
471
+ behaviors of background and foreground. The effects "Cross-Fade All" and
472
+ "Cross-Fade Backgrounds" are only available if the "Use Full Viewport-Height" option
473
+ has been enabled in the settings of both adjacent sections.
251
474
  values:
252
475
  beforeAfter: Scrolling with static Backgrounds
253
- fade: Cross-Fade All
254
- fadeBg: Cross-Fade Backgrounds
476
+ fade: Also fade section content
477
+ fadeBg: Cross Fade
255
478
  reveal: Reveal
256
479
  scroll: Scroll
257
480
  scrollOver: Scroll Over
@@ -262,3 +485,23 @@ en:
262
485
  save_error: There was an error while saving this section.
263
486
  insert_content_element:
264
487
  header: Insert element
488
+ cancel: Cancel
489
+ edit_motif_area:
490
+ header: Image Motif
491
+ hint: Drag to select the most important part of the image.
492
+ help_link: What is this used for?
493
+ save: Save
494
+ cancel: Cancel
495
+ blank_slate: No area selected.
496
+ reset: Reset
497
+ browser_not_supported:
498
+ heading: The browser or device you are using is not supported
499
+ text: While Pageflow stories work on all modern browsers and devices, the Pageflow editor requires a desktop computer running a recent version of Chrome, Firefox, Safari or Edge.
500
+ no_options: No options available
501
+ blank_entry:
502
+ create_chapter: Click <em>New chapter</em> to create your first chapter.
503
+ create_section: Click <em>New section</em> within the chapter to add a section.
504
+ create_content_element: Use the <em>Plus buttons</em> inside the preview to add text blocks and other elements.
505
+ header: This is an empty Pageflow.
506
+ intro: Pageflows consist of chapters and sections. The sidebar on the right shows the outline of your story.
507
+ outro: In this area, a live preview will be shown.
@@ -13,6 +13,7 @@ PageflowScrolled::Engine.routes.draw do
13
13
 
14
14
  resources :content_elements do
15
15
  collection do
16
+ put :batch
16
17
  put :order
17
18
  end
18
19
  end
@@ -4,6 +4,8 @@ module PageflowScrolled
4
4
  class InstallGenerator < Rails::Generators::Base
5
5
  desc 'Installs Pageflow Scrolled entry type.'
6
6
 
7
+ source_root File.expand_path('templates', __dir__)
8
+
7
9
  def install_webpacker
8
10
  require 'webpacker'
9
11
  gemfile = File.expand_path('../../../../../../Gemfile', __dir__)
@@ -18,6 +20,12 @@ module PageflowScrolled
18
20
  end
19
21
  end
20
22
 
23
+ def webpacker_yml
24
+ gsub_file('config/webpacker.yml',
25
+ 'extract_css: false',
26
+ 'extract_css: true')
27
+ end
28
+
21
29
  def editor_pack
22
30
  create_file 'app/javascript/packs/pageflow-scrolled-editor.js', <<-JS
23
31
  import 'pageflow-scrolled/editor';
@@ -30,8 +38,28 @@ module PageflowScrolled
30
38
  create_file 'app/javascript/packs/pageflow-scrolled-frontend.js', <<-JS
31
39
  import 'pageflow-scrolled/frontend';
32
40
  import 'pageflow-scrolled/contentElements-frontend';
41
+
42
+ require.context('../pageflow-scrolled/themes', true);
33
43
  JS
34
44
  end
45
+
46
+ def server_pack
47
+ create_file 'app/javascript/packs/pageflow-scrolled-server.js', <<-JS
48
+ import 'pageflow-scrolled/frontend-server';
49
+ import 'pageflow-scrolled/contentElements-frontend';
50
+ JS
51
+ end
52
+
53
+ def theme_pack
54
+ create_file 'app/javascript/packs/pageflow-scrolled-theme.css', <<-JS
55
+ @import "pageflow-scrolled/frontend/index.css";
56
+ @import "pageflow-scrolled/contentElements-frontend.css";
57
+ JS
58
+ end
59
+
60
+ def default_theme
61
+ directory 'theme', 'app/javascript/pageflow-scrolled/themes/default'
62
+ end
35
63
  end
36
64
  end
37
65
  end
@@ -0,0 +1,56 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 20.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
+ viewBox="0 -50 951.9 338.9" xml:space="preserve">
5
+ <style type="text/css">
6
+ .st0{fill:#343434;}
7
+ .st1{fill:#343434;stroke:#343434;}
8
+ </style>
9
+ <title>Element 1</title>
10
+ <g id="Ebene_2">
11
+ <g id="Ebene_1-2">
12
+ <path class="st0" d="M106.3,238.9l-86.7-86.7C-3.7,129-2,105.3,3.4,89.5c3.8-10.6,9.7-20.2,17.4-28.4l6.5,6.5
13
+ C20.5,74.8,15.3,83.4,12,92.8c-6.6,19.3-1.8,37.1,14,52.9l80.2,80.2l39.1-39.1l6.5,6.5L106.3,238.9z"/>
14
+ <path class="st0" d="M104.2,234.5c-23.2-23.2-21.8-46.8-16.5-62.4c3.6-10.5,9.4-20,17-28.1l42.3-42.3l6.5,6.5l-42.3,42.3
15
+ c-6.6,7.2-11.7,15.7-14.9,24.9c-6.3,19-1.5,36.8,14.3,52.6L104.2,234.5z"/>
16
+ <path class="st0" d="M61.3,193.9c-23.2-23.2-21.8-46.8-16.5-62.4c3.6-10.5,9.4-20,17-28.1l84-84l6.5,6.5l-84,84
17
+ c-6.6,7.2-11.7,15.7-14.9,24.9c-6.4,19.1-1.5,36.8,14.4,52.7L61.3,193.9z"/>
18
+ <path class="st0" d="M151.6,110.1l-6.5-6.5c6.7-7.2,11.8-15.7,15-25c6.4-19.1,1.6-36.9-14.3-52.7S112.1,5.4,92.6,12.2
19
+ C83.1,15.7,74.4,21,67,27.8L25.1,69.7l-6.5-6.5l41.9-41.9c8.3-7.8,18.1-13.8,28.8-17.7c16-5.6,39.9-7.5,63.1,15.8
20
+ s21.7,46.8,16.4,62.5C165.1,92.4,159.2,102,151.6,110.1z"/>
21
+ <path class="st0" d="M151.2,194l-6.5-6.5l3.2,3.2l-3.3-3.2c6.5-7.1,11.5-15.5,14.6-24.6c6.2-18.9,1.3-36.5-14.6-52.4l6.5-6.5
22
+ c23.2,23.2,21.9,46.6,16.8,62.1C164.5,176.5,158.7,186,151.2,194z"/>
23
+ <path class="st0" d="M102.2,69.6"/>
24
+ <path class="st0" d="M106.8,224.7"/>
25
+ <path class="st1" d="M239.2,70.9c0-1.8,0.9-2.8,2.7-2.8h24.5c14.1,0,24.3,9.2,24.3,23.7s-10.2,24.1-24.3,24.1H247V144
26
+ c0.2,1.4-0.8,2.6-2.2,2.8c-0.2,0-0.3,0-0.5,0H242c-1.8,0-2.7-1-2.7-2.8L239.2,70.9z M265.4,109c10.5,0,17.4-6.4,17.4-17.1
27
+ s-6.8-16.8-17.2-16.8H247V109H265.4z"/>
28
+ <path class="st1" d="M326.5,70.4c0.3-1.4,1.6-2.3,3-2.2h3.7c1.4-0.1,2.7,0.9,3,2.2l27.1,73.2c0.6,2-0.2,3.2-2.2,3.2h-2.5
29
+ c-1.5,0.1-2.8-0.8-3.1-2.2l-8.4-22.8h-31.5l-8.3,22.8c-0.3,1.4-1.7,2.4-3.1,2.2h-2.4c-2.1,0-2.9-1.2-2.4-3.2L326.5,70.4z
30
+ M344.9,115l-10.4-28.5c-1.2-3.7-2.9-10.3-2.9-10.3h-0.2c0,0-1.8,6.6-3,10.3L317.8,115H344.9z"/>
31
+ <path class="st1" d="M449.2,130.2c-1.9,6.2-16.6,18-32.8,18c-21.6,0-38.6-17.4-38.6-40.6c0-22.9,17-40.7,39.7-40.7
32
+ c13.4,0,22.5,5.2,25.9,7.5c1.1,0.6,1.5,2.1,0.9,3.2c-0.1,0.2-0.3,0.4-0.4,0.6l-1,1.4c-0.6,1.2-2.1,1.6-3.3,1
33
+ c-0.2-0.1-0.3-0.2-0.5-0.3c-6.4-4-13.7-6.2-21.3-6.2c-19,0-31.9,14.7-31.9,33.2c0,19.2,13.3,33.6,31.2,33.6
34
+ c15.8,0,24.9-11.5,24.9-11.5v-13.2h-19.6c-1.5,0-2.8-1.3-2.8-2.8V112c0-1.5,1.3-2.8,2.8-2.8h24.1c1.5,0,2.7,1.2,2.7,2.7
35
+ c0,0,0,0,0,0L449.2,130.2"/>
36
+ <path class="st1" d="M474.2,70.9c0-1.8,0.9-2.8,2.7-2.8h38.8c1.4-0.2,2.6,0.9,2.8,2.3c0,0.2,0,0.4,0,0.5v1.3
37
+ c0.2,1.4-0.9,2.6-2.3,2.8c-0.2,0-0.4,0-0.5,0h-33.8v28.7H509c1.8,0,2.8,0.9,2.8,2.7v1.4c0.2,1.4-0.9,2.6-2.3,2.8
38
+ c-0.2,0-0.4,0-0.5,0h-27.1v29.2h35.8c1.4-0.2,2.6,0.9,2.8,2.3c0,0.2,0,0.4,0,0.5v1.3c0.2,1.4-0.9,2.6-2.3,2.8c-0.2,0-0.4,0-0.5,0
39
+ h-40.9c-1.8,0-2.7-1-2.7-2.8L474.2,70.9z"/>
40
+ <path class="st1" d="M543.5,70.9c0-1.8,0.9-2.8,2.7-2.8h35.9c1.4-0.2,2.6,0.9,2.8,2.3c0,0.2,0,0.4,0,0.5v1.3
41
+ c0.2,1.4-0.9,2.6-2.3,2.8c-0.2,0-0.4,0-0.5,0h-30.9v29.6h26.2c1.3-0.2,2.5,0.7,2.7,2c0,0.2,0,0.5,0,0.7v1.4c0,1.8-0.9,2.8-2.7,2.8
42
+ h-26.2V144c0.2,1.4-0.8,2.6-2.2,2.8c-0.2,0-0.3,0-0.5,0h-2.3c-1.8,0-2.7-1-2.7-2.8V70.9z"/>
43
+ <path class="st1" d="M606.6,70.9c0-1.8,0.9-2.8,2.7-2.8h2.3c1.4-0.1,2.6,0.9,2.7,2.3c0,0.2,0,0.3,0,0.5v68.9H648
44
+ c1.4-0.2,2.6,0.9,2.8,2.3c0,0.2,0,0.4,0,0.5v1.3c0.2,1.4-0.9,2.6-2.3,2.8c-0.2,0-0.4,0-0.5,0h-38.7c-1.8,0-2.7-1-2.7-2.8
45
+ L606.6,70.9z"/>
46
+ <path class="st1" d="M699.6,66.8c23.1,0,40.1,17.6,40.1,40.2c0,23.1-17,41.2-40.1,41.2S659.5,130,659.5,107
47
+ C659.5,84.4,676.6,66.8,699.6,66.8z M699.6,140.9c18.5,0,32-14.8,32-33.9c0-18.7-13.5-32.9-32-32.9s-32,14.2-32,32.9
48
+ C667.6,126.1,681.2,140.9,699.6,140.9z"/>
49
+ <path class="st1" d="M756.7,71.2c-0.5-1.9,0.5-3,2.5-3h2.5c1.5-0.1,2.8,1,3,2.5l14.7,58.7c1,4,1.8,8.4,1.8,8.4h0.2
50
+ c0,0,0.8-4.4,1.9-8.4l16.3-58.8c0.3-1.4,1.6-2.4,3-2.3h2.6c1.5-0.1,2.8,0.9,3,2.3l16.1,58.8c0.8,2.8,1.5,5.6,2,8.4h0.2
51
+ c0,0,0.7-4.4,1.7-8.4l15.3-58.7c0.2-1.5,1.5-2.5,3-2.5h2.5c1.9,0,2.9,1.1,2.3,3l-19.5,73.3c-0.3,1.5-1.6,2.5-3.1,2.4h-4.2
52
+ c-1.5,0.1-2.8-0.9-3.1-2.4l-14.5-53c-1.5-5-2.8-11.8-2.8-11.8h-0.3c0,0-1.3,6.7-2.8,11.8l-14.7,53c-0.3,1.4-1.6,2.4-3,2.4h-4.4
53
+ c-1.5,0.1-2.8-1-3-2.5L756.7,71.2z"/>
54
+ </g>
55
+ </g>
56
+ </svg>