pageflow 16.1.0 → 16.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +70 -194
  3. data/README.md +6 -5
  4. data/app/assets/images/pageflow/admin/icons/published_with_noindex.svg +4 -0
  5. data/app/assets/javascripts/pageflow/dist/ui.js +1 -0
  6. data/app/assets/stylesheets/pageflow/admin/active_admin_patches.scss +1 -1
  7. data/app/assets/stylesheets/pageflow/admin/entries.scss +4 -0
  8. data/app/assets/stylesheets/pageflow/admin/publication_state_indicator.scss +4 -0
  9. data/app/assets/stylesheets/pageflow/editor/base.scss +0 -1
  10. data/app/assets/stylesheets/pageflow/editor/drop_down_button.scss +55 -6
  11. data/app/assets/stylesheets/pageflow/editor/file_meta_data.scss +12 -1
  12. data/app/assets/stylesheets/pageflow/ui/forms.scss +3 -3
  13. data/app/assets/stylesheets/pageflow/{editor/wysihtml5.scss → ui/input/text_area_input.scss} +13 -1
  14. data/app/assets/stylesheets/pageflow/ui.scss +1 -0
  15. data/app/controllers/pageflow/editor/entry_publications_controller.rb +5 -1
  16. data/app/controllers/pageflow/editor/file_import_controller.rb +1 -1
  17. data/app/controllers/pageflow/entries_controller.rb +2 -2
  18. data/app/helpers/pageflow/entries_helper.rb +2 -0
  19. data/app/helpers/pageflow/meta_tags_helper.rb +2 -1
  20. data/app/helpers/pageflow/page_types_helper.rb +4 -4
  21. data/app/helpers/pageflow/revision_file_helper.rb +3 -3
  22. data/app/helpers/pageflow/social_share_helper.rb +2 -2
  23. data/app/models/concerns/pageflow/entry_publication_states.rb +9 -0
  24. data/app/models/concerns/pageflow/uploadable_file.rb +5 -0
  25. data/app/models/pageflow/account.rb +2 -2
  26. data/app/models/pageflow/entry.rb +7 -5
  27. data/app/models/pageflow/entry_at_revision.rb +2 -0
  28. data/app/models/pageflow/image_file.rb +20 -5
  29. data/app/models/pageflow/image_file_url_templates.rb +7 -1
  30. data/app/models/pageflow/revision.rb +6 -4
  31. data/app/models/pageflow/site.rb +2 -2
  32. data/app/models/pageflow/sitemaps.rb +1 -0
  33. data/app/models/pageflow/used_file.rb +8 -0
  34. data/app/views/components/pageflow/admin/extensible_attributes_table.rb +1 -7
  35. data/app/views/components/pageflow/admin/revisions_tab.rb +8 -0
  36. data/app/views/pageflow/editor/config/_seeds.json.jbuilder +1 -0
  37. data/app/views/pageflow/editor/entries/_entry.json.jbuilder +1 -0
  38. data/app/views/pageflow/editor/entry_publications/check.json.jbuilder +1 -0
  39. data/app/views/pageflow/image_files/_image_file.json.jbuilder +1 -0
  40. data/app/views/pageflow/meta_tags/_entry.html.erb +1 -0
  41. data/config/initializers/features.rb +2 -0
  42. data/config/initializers/paperclip.rb +4 -0
  43. data/config/locales/de.yml +50 -0
  44. data/config/locales/en.yml +49 -0
  45. data/db/migrate/20231024062501_add_output_presences_to_image_files.rb +5 -0
  46. data/db/migrate/20231128124523_add_noindex_to_revisions.rb +5 -0
  47. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/editor.js +266 -151
  48. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/frontend.js +8 -2
  49. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-client.js +1 -1
  50. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-server.js +1 -1
  51. data/entry_types/paged/app/controllers/pageflow_paged/entries_controller.rb +1 -1
  52. data/entry_types/paged/lib/pageflow_paged/engine.rb +7 -11
  53. data/entry_types/scrolled/app/controllers/pageflow_scrolled/entries_controller.rb +9 -3
  54. data/entry_types/scrolled/app/helpers/pageflow_scrolled/editor/seed_html_helper.rb +6 -6
  55. data/entry_types/scrolled/app/helpers/pageflow_scrolled/packs_helper.rb +21 -37
  56. data/entry_types/scrolled/app/helpers/pageflow_scrolled/themes_helper.rb +1 -3
  57. data/entry_types/scrolled/app/views/pageflow_scrolled/editor/entries/_head.html.erb +1 -6
  58. data/entry_types/scrolled/app/views/pageflow_scrolled/entries/show.html.erb +17 -17
  59. data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_entry.json.jbuilder +4 -0
  60. data/entry_types/scrolled/config/locales/de.yml +47 -11
  61. data/entry_types/scrolled/config/locales/en.yml +42 -10
  62. data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/install_generator.rb +22 -89
  63. data/entry_types/scrolled/lib/pageflow_scrolled/additional_packs.rb +2 -1
  64. data/entry_types/scrolled/lib/pageflow_scrolled/engine.rb +8 -12
  65. data/entry_types/scrolled/lib/pageflow_scrolled/plugin.rb +6 -0
  66. data/entry_types/scrolled/lib/pageflow_scrolled/web_app_manifest.rb +1 -1
  67. data/entry_types/scrolled/lib/tasks/pageflow_scrolled/dummy.rake +1 -1
  68. data/entry_types/scrolled/package/config/webpack.js +26 -0
  69. data/entry_types/scrolled/package/contentElements-editor.js +36 -23
  70. data/entry_types/scrolled/package/contentElements-frontend.css +1 -1
  71. data/entry_types/scrolled/package/contentElements-frontend.js +250 -94
  72. data/entry_types/scrolled/package/editor.js +331 -147
  73. data/entry_types/scrolled/package/frontend/{EditableInlineText.module-fa9e3aff.js → EditableInlineText.module-6ee0e024.js} +463 -275
  74. data/entry_types/scrolled/package/frontend/{PhonePlatformContext-10a1d600.js → PhonePlatformContext-b28d991a.js} +1 -1
  75. data/entry_types/scrolled/package/frontend/{ToggleFullscreenCornerButton-727cce0d.js → ToggleFullscreenCornerButton-8242f213.js} +1 -1
  76. data/entry_types/scrolled/package/frontend/{Viewer-169e14ca.js → Viewer-32cd1ac1.js} +4 -4
  77. data/entry_types/scrolled/package/frontend/{Viewer-ee1aa590.js → Viewer-6e4d14ed.js} +4 -4
  78. data/entry_types/scrolled/package/frontend/{arrowRight-92a34ccc.js → arrowRight-e42e6011.js} +2 -2
  79. data/entry_types/scrolled/package/frontend/{components-4a09bfa3.js → components-24363f97.js} +7 -6
  80. data/entry_types/scrolled/package/frontend/{i18n-ddd92820.js → i18n-71c39823.js} +84 -46
  81. data/entry_types/scrolled/package/frontend/{index-02378634.js → index-fc4b13e6.js} +3 -3
  82. data/entry_types/scrolled/package/frontend/index.css +1 -1
  83. data/entry_types/scrolled/package/frontend/index.js +90 -66
  84. data/entry_types/scrolled/package/frontend/{useContentElementEditorState-63045393.js → useContentElementEditorState-245f1986.js} +1 -1
  85. data/entry_types/scrolled/package/package.json +4 -3
  86. data/entry_types/scrolled/package/testHelpers.js +4 -2
  87. data/entry_types/scrolled/package/widgets/defaultNavigation.css +2 -2
  88. data/entry_types/scrolled/package/widgets/defaultNavigation.js +39 -4
  89. data/entry_types/scrolled/package/widgets/iconInlineFileRights.css +1 -0
  90. data/entry_types/scrolled/package/widgets/iconInlineFileRights.js +49 -0
  91. data/entry_types/scrolled/package/widgets/textInlineFileRights.css +1 -0
  92. data/entry_types/scrolled/package/widgets/textInlineFileRights.js +37 -0
  93. data/lib/generators/pageflow/resque/templates/resque.rake +1 -1
  94. data/lib/generators/pageflow/resque/templates/resque.rb +1 -1
  95. data/lib/generators/pageflow/routes/routes_generator.rb +1 -1
  96. data/lib/pageflow/configuration.rb +8 -1
  97. data/lib/pageflow/engine.rb +15 -58
  98. data/lib/pageflow/page_type.rb +1 -1
  99. data/lib/pageflow/paperclip_processors/webp.rb +63 -0
  100. data/lib/pageflow/rails_version.rb +2 -2
  101. data/lib/pageflow/user_mixin.rb +1 -1
  102. data/lib/pageflow/version.rb +1 -1
  103. data/package/config/jest/index.js +3 -1
  104. data/package/editor.js +272 -154
  105. data/package/frontend.js +8 -2
  106. data/package/ui.js +1 -0
  107. data/spec/factories/entries.rb +17 -0
  108. metadata +78 -56
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9eecaf374cbaeadfc23532153d00c0a52a936c42d36ab65bbed903991ba6f0cf
4
- data.tar.gz: 5b59c6b626e32a1fd748fdfea56e96741c9dce6061ec9709b2ac905722dba6ee
3
+ metadata.gz: 2de029a582b4579bf3d667b9ca755e33d9c6417913c246ada15dc130802ac3bc
4
+ data.tar.gz: ccda39ce46e52b370cdc6825caf10e6c4d3c8582778eaa11a53ed9ec6a6923f4
5
5
  SHA512:
6
- metadata.gz: 331856460e25d862e8dd49b835ae55fb838bea2db00de10a59d45a1ae5d501ccdb9e671b81714d832cc5dfe741d3e6dc96e261bb3732bae2b60827ece4766f27
7
- data.tar.gz: 9b9119cd2f1ac7db1daeaf3273210b6b02a2d2e00633ae432213a6c828a4798ac8db6926fb608116dbdf653326385e8adfb312eeeb664d40c7ecad2fef82ba46
6
+ metadata.gz: f7db71d84a68c3e57bef37a4f8856d083e26bfacd09315f93cbd6235af33891bec7c24bf5e57a36ae145bce6ac10948f7ed1e413cef52c47acc82e9955ca6f14
7
+ data.tar.gz: 37dd7203da4beee0da742d22a92dfb4d37ef0b75110c8d60430951de73a16a4e99293f04e3a9f085a3b2b49b864e7a9c2dcaa65a3717770f18cc7416a9068193
data/CHANGELOG.md CHANGED
@@ -1,232 +1,108 @@
1
1
  # CHANGELOG
2
2
 
3
- ### Version 16.1.0
3
+ ### Version 16.2.0
4
4
 
5
- 2023-10-25
5
+ 2024-01-12
6
6
 
7
- [Compare changes](https://github.com/codevise/pageflow/compare/16-0-stable...v16.1.0)
7
+ [Compare changes](https://github.com/codevise/pageflow/compare/16-1-stable...v16.2.0)
8
8
 
9
9
  #### Core
10
10
 
11
- ##### Published Entry
11
+ ##### Manual Update Steps
12
+
13
+ - Decouple host application from scrolled widget packs
14
+ ([#2035](https://github.com/codevise/pageflow/pull/2035))
12
15
 
13
- - Add feature flag to use HLS in all Desktop browsers
14
- ([#1924](https://github.com/codevise/pageflow/pull/1924))
15
- - Atom feeds
16
- ([#1941](https://github.com/codevise/pageflow/pull/1941),
17
- [#1949](https://github.com/codevise/pageflow/pull/1949))
18
- - Add XML sitemaps for sites
19
- ([#1944](https://github.com/codevise/pageflow/pull/1944),
20
- [#1945](https://github.com/codevise/pageflow/pull/1945))
21
- ([#1924](https://github.com/codevise/pageflow/pull/1924))
22
- - Allow using custom feeds urls for sites
23
- ([#1952](https://github.com/codevise/pageflow/pull/1952),
24
- [#1953](https://github.com/codevise/pageflow/pull/1953))
16
+ Remove `defaultNavigation.js` and `consentBar.js` from
17
+ `app/javascript/packs/pageflow-scrolled/widgets`. Import
18
+ `pageflow-scrolled/widgets-server` instead of
19
+ `pageflow-scrolled/widgets/defaultNavigation` and
20
+ `pageflow-scrolled/widgets/consentBar` in
21
+ `app/javascript/packs/pageflow-scrolled-server.js`.
25
22
 
26
- ##### Admin
23
+ - Add experimental webp support
24
+ ([#2020](https://github.com/codevise/pageflow/pull/2020),
25
+ [#2027](https://github.com/codevise/pageflow/pull/2027))
27
26
 
28
- - Hide permalink directory drop down with single item
29
- ([#1917](https://github.com/codevise/pageflow/pull/1917))
27
+ Pageflow now requires the `libvips` binary to be installed. See
28
+ [`libvips` install
29
+ instructions](https://www.libvips.org/install.html).
30
+
31
+ ##### Published Entry
32
+
33
+ - Allow publishing entries with noindex robots meta tag
34
+ ([#2032](https://github.com/codevise/pageflow/pull/2032))
35
+ - Allow removing cname domain suffix from entry title
36
+ ([#2028](https://github.com/codevise/pageflow/pull/2028))
30
37
 
31
38
  ##### Editor
32
39
 
33
- - Allow turning default widgets off
34
- ([#1965](https://github.com/codevise/pageflow/pull/1965))
35
- - Use short label for editor help button
36
- ([#1970](https://github.com/codevise/pageflow/pull/1970))
37
- - Filter out widgets of unknown widget types
38
- ([#1961](https://github.com/codevise/pageflow/pull/1961))
39
- - Bug fix: Prevent normalizing color input too early
40
- ([#1992](https://github.com/codevise/pageflow/pull/1992))
41
- - Bug fix: Do not scale images up when creating panorama styles
42
- ([#1920](https://github.com/codevise/pageflow/pull/1920))
40
+ - Bug fix: Prevent caching wrong file perma ids
41
+ ([#2049](https://github.com/codevise/pageflow/pull/2049))
43
42
 
44
43
  ##### Rails Engine
45
44
 
46
- - Add public_entry_cache_control_header config option
47
- ([#1999](https://github.com/codevise/pageflow/pull/1999))
48
- - Make default published until duration configurable
49
- ([#1955](https://github.com/codevise/pageflow/pull/1955))
50
- - Exclude react-rails 2.7 from supported versions
51
- ([#1963](https://github.com/codevise/pageflow/pull/1963))
52
- - Allow any 2.6 version of react-rails
53
- ([#1964](https://github.com/codevise/pageflow/pull/1964))
45
+ - Do not require auth object for ransackable_* methods
46
+ ([#2037](https://github.com/codevise/pageflow/pull/2037))
54
47
 
55
48
  ##### JavaScript API
56
49
 
57
- - Add throttled media events
58
- ([#1939](https://github.com/codevise/pageflow/pull/1939))
59
-
60
- ##### Documentation
61
-
62
- - Make CORS config json
63
- ([#1956](https://github.com/codevise/pageflow/pull/1956))
50
+ - Improve `TextAreaInputView` for usage outside editor
51
+ ([#2038](https://github.com/codevise/pageflow/pull/2038))
64
52
 
65
53
  ##### Internal
66
54
 
67
- - Run core specs agains Rails 6.1/Ruby 3.2
68
- ([#1998](https://github.com/codevise/pageflow/pull/1998))
69
- - Fix Zeitwerk compatibility
70
- ([#2013](https://github.com/codevise/pageflow/pull/2013))
71
- - Run plugin specs in reusable workflow against Rails 6.1
72
- ([#2012](https://github.com/codevise/pageflow/pull/2012))
73
- - Move RailsVersion helper from support to core gem
74
- ([#2006](https://github.com/codevise/pageflow/pull/2006))
75
- - Fix paged specs for Rails 6
76
- ([#2004](https://github.com/codevise/pageflow/pull/2004))
77
- - Fix scrolled specs for Rails 6
78
- ([#2003](https://github.com/codevise/pageflow/pull/2003))
79
- - Fix core specs for Rails 6
80
- ([#2000](https://github.com/codevise/pageflow/pull/2000))
81
- - Fix Active Record errors deprecation warning
82
- ([#2015](https://github.com/codevise/pageflow/pull/2015))
83
- - Fix SSR webpack-dev-server client code removal for Webpack 5
84
- ([#2018](https://github.com/codevise/pageflow/pull/2018))
85
- - Support both Webpacker and Shakapacker
86
- ([#2017](https://github.com/codevise/pageflow/pull/2017))
87
- - Remove Coveralls integration
88
- ([#2016](https://github.com/codevise/pageflow/pull/2016))
89
- - Fix webdrivers for Chrome 115
90
- ([#1983](https://github.com/codevise/pageflow/pull/1983))
55
+ - Rails 7.1 compatibility
56
+ ([#2025](https://github.com/codevise/pageflow/pull/2025))
57
+ ([#2024](https://github.com/codevise/pageflow/pull/2024))
58
+ ([#2023](https://github.com/codevise/pageflow/pull/2023))
59
+ ([#2048](https://github.com/codevise/pageflow/pull/2048))
60
+ ([#2045](https://github.com/codevise/pageflow/pull/2045))
61
+ ([#2044](https://github.com/codevise/pageflow/pull/2044))
62
+ ([#2043](https://github.com/codevise/pageflow/pull/2043))
63
+ ([#2029](https://github.com/codevise/pageflow/pull/2029))
64
+ ([#2021](https://github.com/codevise/pageflow/pull/2021))
65
+ - Use Node 18 in CI
66
+ ([#2046](https://github.com/codevise/pageflow/pull/2046))
67
+ - Replace webdrivers with selenium-webdriver 4.15
68
+ ([#2026](https://github.com/codevise/pageflow/pull/2026))
69
+ - Fix accessing logs in headless Chrome 120
70
+ ([#2040](https://github.com/codevise/pageflow/pull/2040))
71
+ - Vendor jQuery UI sortable for tests
72
+ ([#2039](https://github.com/codevise/pageflow/pull/2039))
91
73
 
92
74
  #### Paged Entry Type
93
75
 
94
76
  ##### Published Entry
95
77
 
96
- - Bug fix: Fix scrolling classic page content on Windows 10 with touch screen
97
- ([#1916](https://github.com/codevise/pageflow/pull/1916))
98
-
99
- ##### Internal
100
-
101
- - Allow seeding text to paged entries
102
- ([#1929](https://github.com/codevise/pageflow/pull/1929))
78
+ - Add theme option to hide legal info button
79
+ ([#2041](https://github.com/codevise/pageflow/pull/2041))
80
+ - Allow additional frontend packs without content element types
81
+ ([#2042](https://github.com/codevise/pageflow/pull/2042))
82
+ - Bug fix: Fall back to entry when share page is missing
83
+ ([#2050](https://github.com/codevise/pageflow/pull/2050))
103
84
 
104
85
  #### Scrolled Entry Type
105
86
 
106
87
  ##### Published Entry
107
88
 
108
- - Support portrait backdrop videos
109
- ([#1930](https://github.com/codevise/pageflow/pull/1930))
110
- - Clear inlined float
111
- ([#1995](https://github.com/codevise/pageflow/pull/1995))
112
- - Allow placing floated elements side by side
113
- ([#1979](https://github.com/codevise/pageflow/pull/1979))
114
- - Improve blessing media elements for iOS
115
- ([#1928](https://github.com/codevise/pageflow/pull/1928))
116
- - Make feature flag to enforce FullHD videos available for scrolled
117
- ([#1927](https://github.com/codevise/pageflow/pull/1927))
118
- - Upgrade to video.js 7.21 and http-streaming 2.16
119
- ([#1925](https://github.com/codevise/pageflow/pull/1925))- Decrease external link font size on mobile
120
- ([#1926](https://github.com/codevise/pageflow/pull/1926))
121
- - Reduce spacing between list items
122
- ([#1938](https://github.com/codevise/pageflow/pull/1938))
123
- - Make text block spacing more consistent between editor and published entry
124
- ([#1997](https://github.com/codevise/pageflow/pull/1997))
125
- - Improve onVisible/onInvisible callbacks
126
- ([#1947](https://github.com/codevise/pageflow/pull/1947),
127
- [#1950](https://github.com/codevise/pageflow/pull/1950))
128
- - Set text direction attribute for scrolled entries
129
- ([#1975](https://github.com/codevise/pageflow/pull/1975))
130
- - Use Rails fragment cache for scrolled entries
131
- ([#2001](https://github.com/codevise/pageflow/pull/2001))
132
- - Fix two column motif area content measuring
133
- ([#1990](https://github.com/codevise/pageflow/pull/1990))
134
- - Bug fix: Ignore volume setting in Scrolled
135
- ([#1921](https://github.com/codevise/pageflow/pull/1921))
136
- - Bug fix: Prevent line artifact between sections on Chrome
137
- ([#1935](https://github.com/codevise/pageflow/pull/1935))
138
- - Bug fix: Remove legacy clip for revealed sections
139
- ([#1993](https://github.com/codevise/pageflow/pull/1993))
140
-
141
- ##### Content Elements
142
-
143
- - Enable full screen view for inline images
144
- ([#1902](https://github.com/codevise/pageflow/pull/1902))
145
- - Add stand-alone quote element
146
- ([#1931](https://github.com/codevise/pageflow/pull/1931),
147
- [#1932](https://github.com/codevise/pageflow/pull/1932),
148
- [#1958](https://github.com/codevise/pageflow/pull/1958),
149
- [#1982](https://github.com/codevise/pageflow/pull/1982))
150
- - Add counter content element
151
- ([#1934](https://github.com/codevise/pageflow/pull/1934),
152
- [#1940](https://github.com/codevise/pageflow/pull/1940),
153
- [#1943](https://github.com/codevise/pageflow/pull/1943),
154
- [#1984](https://github.com/codevise/pageflow/pull/1984),
155
- [#2007](https://github.com/codevise/pageflow/pull/2007))
156
- - Add image gallery content element
157
- ([#1966](https://github.com/codevise/pageflow/pull/1966),
158
- [#1980](https://github.com/codevise/pageflow/pull/1980),
159
- [#1968](https://github.com/codevise/pageflow/pull/1968),
160
- [#1969](https://github.com/codevise/pageflow/pull/1969),
161
- [#1978](https://github.com/codevise/pageflow/pull/1978))
162
- - Custom margin for image galleries
163
- ([#1971](https://github.com/codevise/pageflow/pull/1971),
164
- [#1972](https://github.com/codevise/pageflow/pull/1972),
165
- [#1973](https://github.com/codevise/pageflow/pull/1973))
166
- - Content element widths
167
- ([#1989](https://github.com/codevise/pageflow/pull/1989))
168
- - Consent opt-in for iframe embed element
169
- ([#2005](https://github.com/codevise/pageflow/pull/2005))
170
- - Bug fix: Prevent white lines around external link image
171
- ([#1994](https://github.com/codevise/pageflow/pull/1994))
172
- - Allow setting portrait version for inline videos
173
- ([#2019](https://github.com/codevise/pageflow/pull/2019))
174
-
175
- ##### Widgets
176
-
177
- - Display rights of all files in credits box
178
- ([#1959](https://github.com/codevise/pageflow/pull/1959))
179
- - Extract scrolled consent bar into widget
180
- ([#1976](https://github.com/codevise/pageflow/pull/1976))
181
-
182
- ##### Editor
183
-
184
- - Display and edit section transitions via outline
185
- ([#2009](https://github.com/codevise/pageflow/pull/2009),
186
- [#2010](https://github.com/codevise/pageflow/pull/2010),
187
- [#2011](https://github.com/codevise/pageflow/pull/2011))
188
- - Duplicating sections
189
- ([#2008](https://github.com/codevise/pageflow/pull/2008))
190
- - Add file type drop down to link dialog
191
- ([#1919](https://github.com/codevise/pageflow/pull/1919))
192
- - File links
193
- ([#1918](https://github.com/codevise/pageflow/pull/1918))
194
- - Introduce palettes
195
- ([#1936](https://github.com/codevise/pageflow/pull/1936),
196
- [#1946](https://github.com/codevise/pageflow/pull/1946))
197
- - Introduce file type priorities to fix text track upload in scrolled
198
- ([#1962](https://github.com/codevise/pageflow/pull/1962))
199
- - Do not display single item position drop down
200
- ([#1996](https://github.com/codevise/pageflow/pull/1996))
201
-
202
- ##### Theme API
203
-
204
- - Improve content color properties
205
- ([#1923](https://github.com/codevise/pageflow/pull/1923))
206
- - Make content text color available in custom property
207
- ([#1937](https://github.com/codevise/pageflow/pull/1937))
208
- - Add theme properties for quote mark font family and color
209
- ([#1977](https://github.com/codevise/pageflow/pull/1977))
210
- - Add list related theme properties
211
- ([#1981](https://github.com/codevise/pageflow/pull/1981))
212
- - Add theme property for marker color of unordered list items
213
- ([#1985](https://github.com/codevise/pageflow/pull/1985))
214
- - Allow changing light and dark text color of headings
215
- ([#1987](https://github.com/codevise/pageflow/pull/1987))
216
- - Allow using SVG data URLs as quote marks
217
- ([#1988](https://github.com/codevise/pageflow/pull/1988))
218
- - Allow coloring SVG quote mark symbol with palette colors
219
- ([#2002](https://github.com/codevise/pageflow/pull/2002))
220
- - Let themes use quote variant with centered quote mark
221
- ([#2014](https://github.com/codevise/pageflow/pull/2014))
89
+ - Inline file rights
90
+ ([#2033](https://github.com/codevise/pageflow/pull/2033))
91
+ ([#2036](https://github.com/codevise/pageflow/pull/2036))
92
+ - Backdrop animations/stand alone position
93
+ ([#2047](https://github.com/codevise/pageflow/pull/2047))
94
+ - Add tagline and subtitle to heading content element
95
+ ([#2022](https://github.com/codevise/pageflow/pull/2022))
96
+ - Add feature flag to enlarge player pool
97
+ ([#2031](https://github.com/codevise/pageflow/pull/2031))
98
+ - Use theme entry font for captions of fullscreen image galleries
99
+ ([#2030](https://github.com/codevise/pageflow/pull/2030))
222
100
 
223
101
  ##### Internal
224
102
 
225
- - Support scopes in storybook theme properties
226
- ([#1986](https://github.com/codevise/pageflow/pull/1986))
227
- - Use different widths in appearance stories
228
- ([#1991](https://github.com/codevise/pageflow/pull/1991))
103
+ - Do not force local Paperclip storage in storybook seeds
104
+ ([#2034](https://github.com/codevise/pageflow/pull/2034))
229
105
 
230
106
  See
231
- [16-0-stable branch](https://github.com/codevise/pageflow/blob/16-0-stable/CHANGELOG.md)
107
+ [16-1-stable branch](https://github.com/codevise/pageflow/blob/16-1-stable/CHANGELOG.md)
232
108
  for previous changes.
data/README.md CHANGED
@@ -49,12 +49,13 @@ Pageflow assumes the following choice of libraries:
49
49
 
50
50
  Pageflow runs in environments with:
51
51
 
52
- * Ruby >= 2.1 (see `.travis.yml` for supported versions)
53
- * Node >= 10.18
54
- * Rails 4.2
52
+ * Ruby >= 3.2
53
+ * Node >= 18
54
+ * Rails 6.1
55
55
  * Redis server (for Resque)
56
56
  * A database server supported by Active Record (tested with MySQL)
57
57
  * ImageMagick
58
+ * [libvips](https://github.com/libvips/ruby-vips)
58
59
  * [Audio Waveform Image Generator](https://github.com/bbc/audiowaveform#installation)
59
60
 
60
61
  Accounts of the following cloud services have to be registered:
@@ -94,8 +95,8 @@ for details.
94
95
 
95
96
  # The install generator sets up Resque as Active Job backend
96
97
  gem 'resque', '~> 1.25'
97
- gem 'resque-scheduler', '~> 2.5'
98
- gem 'ar_after_transaction', '~> 0.5.0'
98
+ gem 'resque-scheduler', '~> 4.10'
99
+ gem 'ar_after_transaction', '~> 0.8.0'
99
100
  gem 'redis', '~> 3.0'
100
101
  gem 'redis-namespace', '~> 1.5'
101
102
 
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="#5d5d5d">
3
+ <path stroke-linecap="round" stroke-linejoin="round" d="M3.98 8.223A10.477 10.477 0 001.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.45 10.45 0 0112 4.5c4.756 0 8.773 3.162 10.065 7.498a10.523 10.523 0 01-4.293 5.774M6.228 6.228L3 3m3.228 3.228l3.65 3.65m7.894 7.894L21 21m-3.228-3.228l-3.65-3.65m0 0a3 3 0 10-4.243-4.243m4.242 4.242L9.88 9.88" />
4
+ </svg>
@@ -2306,6 +2306,7 @@ this.pageflow._uiGlobalInterop = (function (exports, Marionette, _, $, I18n$1, B
2306
2306
  var TextAreaInputView = Marionette.ItemView.extend({
2307
2307
  mixins: [inputView, inputWithPlaceholderText],
2308
2308
  template: template$8,
2309
+ className: 'text_area_input',
2309
2310
  ui: {
2310
2311
  input: 'textarea',
2311
2312
  toolbar: '.toolbar',
@@ -10,7 +10,7 @@
10
10
  display: inline;
11
11
  }
12
12
 
13
- input[type="submit"] {
13
+ [type="submit"] {
14
14
  @include light-button;
15
15
  padding: 12px 17px 10px;
16
16
  margin: 0;
@@ -22,6 +22,10 @@ $pageflow-published-revision-background-color: #beebb8 !default;
22
22
  .publication_state_indicator {
23
23
  height: 17px;
24
24
  }
25
+
26
+ .tooltip_clue {
27
+ display: inline-block;
28
+ }
25
29
  }
26
30
 
27
31
  .legend {
@@ -22,4 +22,8 @@ $pageflow-publication-state-indicator-size: 25px !default;
22
22
  &.published_with_password_protection {
23
23
  background-image: image-url("#{$dir}/published_with_password.svg");
24
24
  }
25
+
26
+ &.published_with_noindex {
27
+ background-image: image-url("#{$dir}/published_with_noindex.svg");
28
+ }
25
29
  }
@@ -77,7 +77,6 @@
77
77
  @import "./info_box";
78
78
  @import "./text_tracks";
79
79
  @import "./static_thumbnails";
80
- @import "./wysihtml5";
81
80
  @import "./notifications";
82
81
  @import "./publish_entry";
83
82
  @import "./other_entry_item";
@@ -50,7 +50,8 @@
50
50
  .drop_down_button_item {
51
51
  a,
52
52
  .label {
53
- padding: 7px 15px;
53
+ padding: 5px 15px;
54
+ line-height: 1.75;
54
55
  }
55
56
 
56
57
  a {
@@ -64,6 +65,11 @@
64
65
 
65
66
  .label {
66
67
  cursor: default;
68
+ font-weight: 500;
69
+ }
70
+
71
+ &.is_hidden {
72
+ display: none;
67
73
  }
68
74
 
69
75
  &.is_selectable {
@@ -84,13 +90,56 @@
84
90
  }
85
91
  }
86
92
 
87
- &.is_checked a {
88
- @include background-icon-left($left: 15px, $font-size: 15px);
89
- @include fa-check-icon;
93
+ &.separated {
94
+ border-top: solid 1px var(--ui-on-surface-color-lighter);
95
+ margin-top: 1px;
96
+ padding-top: 1px;
97
+ }
98
+
99
+ &.has_radio,
100
+ &.has_check_box {
101
+ a {
102
+ display: flex;
103
+ align-items: center;
104
+ justify-content: space-between;
105
+ gap: space(2);
106
+
107
+ &:after {
108
+ content: "";
109
+ flex-shrink: 0;
110
+ display: block;
111
+ box-sizing: border-box;
112
+ border: solid 1px var(--ui-on-surface-color-light);
113
+ width: 1rem;
114
+ height: 1rem;
115
+ }
116
+ }
117
+
118
+ &.is_checked a:after {
119
+ background-color: var(--ui-primary-color);
120
+ background-size: 100% 100%;
121
+ background-position: center;
122
+ }
90
123
  }
91
124
 
92
- .drop_down_button_item a {
93
- padding-left: 39px;
125
+ &.has_check_box {
126
+ a:after {
127
+ border-radius: size(1);
128
+ }
129
+
130
+ &.is_checked a:after {
131
+ background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
132
+ }
133
+ }
134
+
135
+ &.has_radio {
136
+ a:after {
137
+ border-radius: 100%;
138
+ }
139
+
140
+ &.is_checked a:after {
141
+ background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");
142
+ }
94
143
  }
95
144
 
96
145
  ul {
@@ -22,13 +22,24 @@
22
22
  }
23
23
 
24
24
  td {
25
- padding: 5px 5px 5px 0;
25
+ padding: 5px 0;
26
+ max-width: 0;
26
27
  }
27
28
 
28
29
  a {
29
30
  text-decoration: underline;
30
31
  }
31
32
 
33
+ .value_wrapper {
34
+ display: flex;
35
+ }
36
+
37
+ .value {
38
+ flex: 1;
39
+ overflow: hidden;
40
+ text-overflow: ellipsis;
41
+ }
42
+
32
43
  .edit {
33
44
  @include background-icon-center($font-size: 15px,
34
45
  $color: var(--ui-primary-color-light));
@@ -14,7 +14,7 @@ label {
14
14
 
15
15
  /** Make sure the label is on top when an inline help text is displayed */
16
16
  label:hover span.name {
17
- z-index: 4;
17
+ z-index: 5;
18
18
  position: relative;
19
19
  }
20
20
 
@@ -91,7 +91,7 @@ textarea.short {
91
91
 
92
92
  // Make sure the input is on top when an inline help text is displayed
93
93
  &:hover input {
94
- z-index: 4;
94
+ z-index: 5;
95
95
  position: relative;
96
96
  }
97
97
 
@@ -207,7 +207,7 @@ textarea.short {
207
207
  border-radius: rounded(sm);
208
208
  width: 100%;
209
209
  height: auto;
210
- z-index: 3;
210
+ z-index: 4;
211
211
  }
212
212
 
213
213
  font-weight: normal;
@@ -1,4 +1,4 @@
1
- .toolbar {
1
+ .text_area_input .toolbar {
2
2
  margin-left: -2px;
3
3
  margin-top: 3px;
4
4
  position: relative;
@@ -174,4 +174,16 @@
174
174
  border-bottom: solid 9px var(--ui-surface-color);
175
175
  border-left: solid 9px transparent;
176
176
  }
177
+
178
+ // Hide inline help text that only makes sense when editing a
179
+ // Pageflow entry outside the editor
180
+ .open_in_new_tab_section .inline_help {
181
+ display: none;
182
+ }
183
+ }
184
+
185
+ .editor .text_area_input {
186
+ .open_in_new_tab_section .inline_help {
187
+ display: block;
188
+ }
177
189
  }
@@ -19,3 +19,4 @@
19
19
 
20
20
  @import "./ui/input/extended_select_input";
21
21
  @import "./ui/input/check_box_group_input";
22
+ @import "./ui/input/text_area_input";
@@ -39,7 +39,11 @@ module Pageflow
39
39
  end
40
40
 
41
41
  def entry_publication_params
42
- params.fetch(:entry_publication, {}).permit(:published_until, :password, :password_protected)
42
+ params
43
+ .fetch(:entry_publication, {})
44
+ .permit(:published_until,
45
+ :password, :password_protected,
46
+ :noindex)
43
47
  end
44
48
 
45
49
  def published_entries_quota(entry)
@@ -59,7 +59,7 @@ module Pageflow
59
59
  :content_type,
60
60
  :file_size,
61
61
  :url,
62
- configuration: :alt])
62
+ configuration: [:alt, :source_url]])
63
63
  .require(:files)
64
64
  end
65
65
 
@@ -8,7 +8,7 @@ module Pageflow
8
8
  def index
9
9
  site = Site.for_request(request).with_home_url.first!
10
10
 
11
- redirect_to(site.home_url)
11
+ redirect_to(site.home_url, allow_other_host: true)
12
12
  end
13
13
 
14
14
  def show
@@ -73,7 +73,7 @@ module Pageflow
73
73
  def redirect_according_to_entry_redirect(entry)
74
74
  return unless (redirect_location = entry_redirect(entry))
75
75
 
76
- redirect_to(redirect_location, status: :moved_permanently)
76
+ redirect_to(redirect_location, status: :moved_permanently, allow_other_host: true)
77
77
  end
78
78
 
79
79
  def entry_redirect(entry)
@@ -1,6 +1,8 @@
1
1
  module Pageflow
2
2
  module EntriesHelper
3
3
  def pretty_entry_title(entry)
4
+ return entry.title if entry.site.title == ' '
5
+
4
6
  [entry.title,
5
7
  entry.site.title.presence || entry.site.cname_domain.presence].compact.join(' - ')
6
8
  end
@@ -9,7 +9,8 @@ module Pageflow
9
9
  {
10
10
  keywords: entry.keywords,
11
11
  author: entry.author,
12
- publisher: entry.publisher
12
+ publisher: entry.publisher,
13
+ noindex: entry.noindex?
13
14
  }
14
15
  end
15
16
  end
@@ -15,16 +15,16 @@ module Pageflow
15
15
  end
16
16
 
17
17
  def page_type_templates(entry)
18
+ # Required by RevisionFileHelper#find_file_in_entry
19
+ @entry = entry
20
+
18
21
  safe_join(Pageflow.config.page_types.map do |page_type|
19
22
  content_tag(:script,
20
23
  render(template: page_type.template_path,
21
24
  locals: {
22
25
  configuration: {},
23
26
  page: Page.new,
24
- entry: entry,
25
-
26
- # Required by RevisionFileHelper#find_file_in_entry
27
- :@entry => entry
27
+ entry: entry
28
28
  },
29
29
  layout: false).to_str,
30
30
  type: 'text/html', data: {template: "#{page_type.name}_page"})