pageflow 16.1.0 → 16.2.0

Sign up to get free protection for your applications and to get access to all the features.
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"})