pageflow 16.1.0 → 17.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -221
- data/README.md +6 -5
- data/app/assets/images/pageflow/admin/icons/published_with_noindex.svg +4 -0
- data/app/assets/javascripts/pageflow/dist/ui.js +1 -0
- data/app/assets/stylesheets/pageflow/admin/active_admin_patches.scss +1 -1
- data/app/assets/stylesheets/pageflow/admin/entries.scss +4 -0
- data/app/assets/stylesheets/pageflow/admin/publication_state_indicator.scss +4 -0
- data/app/assets/stylesheets/pageflow/editor/base.scss +0 -1
- data/app/assets/stylesheets/pageflow/editor/drop_down_button.scss +55 -6
- data/app/assets/stylesheets/pageflow/editor/file_meta_data.scss +12 -1
- data/app/assets/stylesheets/pageflow/ui/forms.scss +3 -3
- data/app/assets/stylesheets/pageflow/{editor/wysihtml5.scss → ui/input/text_area_input.scss} +13 -1
- data/app/assets/stylesheets/pageflow/ui.scss +1 -0
- data/app/controllers/pageflow/editor/entry_publications_controller.rb +5 -1
- data/app/controllers/pageflow/editor/file_import_controller.rb +1 -1
- data/app/controllers/pageflow/entries_controller.rb +2 -2
- data/app/helpers/pageflow/entries_helper.rb +2 -0
- data/app/helpers/pageflow/meta_tags_helper.rb +2 -1
- data/app/helpers/pageflow/page_types_helper.rb +4 -4
- data/app/helpers/pageflow/revision_file_helper.rb +3 -3
- data/app/helpers/pageflow/social_share_helper.rb +2 -2
- data/app/models/concerns/pageflow/entry_publication_states.rb +9 -0
- data/app/models/concerns/pageflow/feature_target.rb +1 -1
- data/app/models/concerns/pageflow/output_source.rb +1 -1
- data/app/models/concerns/pageflow/serialized_configuration.rb +1 -1
- data/app/models/concerns/pageflow/uploadable_file.rb +5 -0
- data/app/models/pageflow/account.rb +2 -2
- data/app/models/pageflow/entry.rb +7 -5
- data/app/models/pageflow/entry_at_revision.rb +2 -0
- data/app/models/pageflow/entry_template.rb +4 -1
- data/app/models/pageflow/image_file.rb +20 -5
- data/app/models/pageflow/image_file_url_templates.rb +7 -1
- data/app/models/pageflow/revision.rb +7 -5
- data/app/models/pageflow/site.rb +2 -2
- data/app/models/pageflow/sitemaps.rb +1 -0
- data/app/models/pageflow/theme_customization.rb +2 -2
- data/app/models/pageflow/used_file.rb +8 -0
- data/app/views/components/pageflow/admin/extensible_attributes_table.rb +1 -7
- data/app/views/components/pageflow/admin/revisions_tab.rb +8 -0
- data/app/views/pageflow/editor/config/_seeds.json.jbuilder +1 -0
- data/app/views/pageflow/editor/entries/_entry.json.jbuilder +1 -0
- data/app/views/pageflow/editor/entry_publications/check.json.jbuilder +1 -0
- data/app/views/pageflow/image_files/_image_file.json.jbuilder +1 -0
- data/app/views/pageflow/meta_tags/_entry.html.erb +1 -0
- data/config/initializers/features.rb +2 -0
- data/config/initializers/paperclip.rb +4 -0
- data/config/locales/de.yml +50 -0
- data/config/locales/en.yml +49 -0
- data/db/migrate/20231024062501_add_output_presences_to_image_files.rb +5 -0
- data/db/migrate/20231128124523_add_noindex_to_revisions.rb +5 -0
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/editor.js +266 -151
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/frontend.js +8 -2
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-client.js +1 -1
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-server.js +1 -1
- data/entry_types/paged/app/controllers/pageflow_paged/entries_controller.rb +1 -1
- data/entry_types/paged/lib/pageflow_paged/engine.rb +7 -11
- data/entry_types/scrolled/app/controllers/pageflow_scrolled/entries_controller.rb +9 -3
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/editor/seed_html_helper.rb +6 -6
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/packs_helper.rb +21 -37
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/themes_helper.rb +1 -3
- data/entry_types/scrolled/app/views/pageflow_scrolled/editor/entries/_head.html.erb +1 -6
- data/entry_types/scrolled/app/views/pageflow_scrolled/entries/show.html.erb +17 -18
- data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_entry.json.jbuilder +4 -0
- data/entry_types/scrolled/config/locales/de.yml +47 -11
- data/entry_types/scrolled/config/locales/en.yml +42 -10
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/install_generator.rb +22 -89
- data/entry_types/scrolled/lib/pageflow_scrolled/additional_packs.rb +2 -1
- data/entry_types/scrolled/lib/pageflow_scrolled/engine.rb +8 -12
- data/entry_types/scrolled/lib/pageflow_scrolled/plugin.rb +6 -0
- data/entry_types/scrolled/lib/pageflow_scrolled/web_app_manifest.rb +1 -1
- data/entry_types/scrolled/lib/tasks/pageflow_scrolled/dummy.rake +1 -1
- data/entry_types/scrolled/package/config/webpack.js +26 -0
- data/entry_types/scrolled/package/contentElements-editor.js +36 -23
- data/entry_types/scrolled/package/contentElements-frontend.css +1 -1
- data/entry_types/scrolled/package/contentElements-frontend.js +250 -94
- data/entry_types/scrolled/package/editor.js +331 -147
- data/entry_types/scrolled/package/frontend/{EditableInlineText.module-fa9e3aff.js → EditableInlineText.module-6ee0e024.js} +463 -275
- data/entry_types/scrolled/package/frontend/{PhonePlatformContext-10a1d600.js → PhonePlatformContext-b28d991a.js} +1 -1
- data/entry_types/scrolled/package/frontend/{ToggleFullscreenCornerButton-727cce0d.js → ToggleFullscreenCornerButton-8242f213.js} +1 -1
- data/entry_types/scrolled/package/frontend/{Viewer-169e14ca.js → Viewer-32cd1ac1.js} +4 -4
- data/entry_types/scrolled/package/frontend/{Viewer-ee1aa590.js → Viewer-6e4d14ed.js} +4 -4
- data/entry_types/scrolled/package/frontend/{arrowRight-92a34ccc.js → arrowRight-e42e6011.js} +2 -2
- data/entry_types/scrolled/package/frontend/{components-4a09bfa3.js → components-24363f97.js} +7 -6
- data/entry_types/scrolled/package/frontend/{i18n-ddd92820.js → i18n-71c39823.js} +84 -46
- data/entry_types/scrolled/package/frontend/{index-02378634.js → index-fc4b13e6.js} +3 -3
- data/entry_types/scrolled/package/frontend/index.css +1 -1
- data/entry_types/scrolled/package/frontend/index.js +90 -66
- data/entry_types/scrolled/package/frontend/{useContentElementEditorState-63045393.js → useContentElementEditorState-245f1986.js} +1 -1
- data/entry_types/scrolled/package/package.json +4 -3
- data/entry_types/scrolled/package/testHelpers.js +4 -2
- data/entry_types/scrolled/package/widgets/defaultNavigation.css +2 -2
- data/entry_types/scrolled/package/widgets/defaultNavigation.js +39 -4
- data/entry_types/scrolled/package/widgets/iconInlineFileRights.css +1 -0
- data/entry_types/scrolled/package/widgets/iconInlineFileRights.js +49 -0
- data/entry_types/scrolled/package/widgets/textInlineFileRights.css +1 -0
- data/entry_types/scrolled/package/widgets/textInlineFileRights.js +37 -0
- data/lib/generators/pageflow/resque/templates/resque.rake +1 -1
- data/lib/generators/pageflow/resque/templates/resque.rb +1 -1
- data/lib/generators/pageflow/routes/routes_generator.rb +4 -3
- data/lib/pageflow/configuration.rb +8 -1
- data/lib/pageflow/engine.rb +15 -58
- data/lib/pageflow/page_type.rb +1 -1
- data/lib/pageflow/paperclip_processors/webp.rb +63 -0
- data/lib/pageflow/rails_version.rb +2 -2
- data/lib/pageflow/user_mixin.rb +1 -1
- data/lib/pageflow/version.rb +1 -1
- data/package/config/jest/index.js +3 -1
- data/package/editor.js +272 -154
- data/package/frontend.js +8 -2
- data/package/ui.js +1 -0
- data/spec/factories/entries.rb +17 -0
- metadata +78 -56
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eafd887e08e7050d4fe88fce759807f0007060047a6d29e24ca8ebbc10a9e197
|
4
|
+
data.tar.gz: 7ebeaabab4fda81f044a35ff966134e4c412691c1072fc45c1116c174f2f403d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 844b212ce8539256bdbc4736cbf3b8941020f0f984ab011d31b1c1d39dafd00f468e0ff221fef5c081852c392dcaa5540b74f08f51bc467d41585e4c4259f229
|
7
|
+
data.tar.gz: 8e4c04f9da3347d71a0adbca49129e9c07fa9b8f56b16a22e316e5ba10036b26396b1da8fa039875f50886018f10143e28cec0f785adec79d4de7c348aab5c50
|
data/CHANGELOG.md
CHANGED
@@ -1,232 +1,18 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
-
### Version 16.1.0
|
4
3
|
|
5
|
-
2023-10-25
|
6
4
|
|
7
|
-
|
5
|
+
### Version 17.0.0
|
8
6
|
|
9
|
-
|
7
|
+
2024-01-12
|
10
8
|
|
11
|
-
|
9
|
+
[Compare changes](https://github.com/codevise/pageflow/compare/16-x-stable...v17.0.0)
|
12
10
|
|
13
|
-
|
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))
|
11
|
+
#### Breaking Changes
|
25
12
|
|
26
|
-
|
27
|
-
|
28
|
-
- Hide permalink directory drop down with single item
|
29
|
-
([#1917](https://github.com/codevise/pageflow/pull/1917))
|
30
|
-
|
31
|
-
##### Editor
|
32
|
-
|
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))
|
43
|
-
|
44
|
-
##### Rails Engine
|
45
|
-
|
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))
|
54
|
-
|
55
|
-
##### JavaScript API
|
56
|
-
|
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))
|
64
|
-
|
65
|
-
##### Internal
|
66
|
-
|
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))
|
91
|
-
|
92
|
-
#### Paged Entry Type
|
93
|
-
|
94
|
-
##### Published Entry
|
95
|
-
|
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))
|
103
|
-
|
104
|
-
#### Scrolled Entry Type
|
105
|
-
|
106
|
-
##### Published Entry
|
107
|
-
|
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))
|
222
|
-
|
223
|
-
##### Internal
|
224
|
-
|
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))
|
13
|
+
- Require Rails 7
|
14
|
+
([#2051](https://github.com/codevise/pageflow/pull/2051))
|
229
15
|
|
230
16
|
See
|
231
|
-
[16-
|
17
|
+
[16-x-stable branch](https://github.com/codevise/pageflow/blob/16-x-stable/CHANGELOG.md)
|
232
18
|
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
|
53
|
-
* Node >=
|
54
|
-
* Rails
|
52
|
+
* Ruby >= 3.2
|
53
|
+
* Node >= 18
|
54
|
+
* Rails 7.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', '~>
|
98
|
-
gem 'ar_after_transaction', '~> 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',
|
@@ -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
|
}
|
@@ -50,7 +50,8 @@
|
|
50
50
|
.drop_down_button_item {
|
51
51
|
a,
|
52
52
|
.label {
|
53
|
-
padding:
|
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
|
-
&.
|
88
|
-
|
89
|
-
|
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
|
-
|
93
|
-
|
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
|
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:
|
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:
|
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:
|
210
|
+
z-index: 4;
|
211
211
|
}
|
212
212
|
|
213
213
|
font-weight: normal;
|
data/app/assets/stylesheets/pageflow/{editor/wysihtml5.scss → ui/input/text_area_input.scss}
RENAMED
@@ -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
|
}
|
@@ -39,7 +39,11 @@ module Pageflow
|
|
39
39
|
end
|
40
40
|
|
41
41
|
def entry_publication_params
|
42
|
-
params
|
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)
|
@@ -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)
|
@@ -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"})
|
@@ -19,9 +19,9 @@ module Pageflow
|
|
19
19
|
#
|
20
20
|
# @since 15.0
|
21
21
|
# @returns UsedFile
|
22
|
-
def find_file_in_entry(file_type, file_perma_id)
|
23
|
-
raise 'No entry of type PublishedEntry or DraftEntry set.' unless
|
24
|
-
|
22
|
+
def find_file_in_entry(file_type, file_perma_id, entry = @entry)
|
23
|
+
raise 'No entry of type PublishedEntry or DraftEntry set.' unless entry.present?
|
24
|
+
entry.find_file_by_perma_id(file_type, file_perma_id)
|
25
25
|
end
|
26
26
|
end
|
27
27
|
end
|
@@ -8,7 +8,7 @@ module Pageflow
|
|
8
8
|
if target.is_a?(Page)
|
9
9
|
render('pageflow/social_share/page_meta_tags', entry: @entry, page: @entry.share_target)
|
10
10
|
else
|
11
|
-
render('pageflow/social_share/entry_meta_tags', entry:
|
11
|
+
render('pageflow/social_share/entry_meta_tags', entry: target)
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
@@ -55,7 +55,7 @@ module Pageflow
|
|
55
55
|
|
56
56
|
def social_share_entry_image_tags(entry)
|
57
57
|
share_images = []
|
58
|
-
image_file = find_file_in_entry(ImageFile, entry.share_image_id)
|
58
|
+
image_file = find_file_in_entry(ImageFile, entry.share_image_id, entry)
|
59
59
|
|
60
60
|
if image_file
|
61
61
|
image_url = image_file.thumbnail_url(:medium)
|
@@ -11,6 +11,9 @@ module Pageflow
|
|
11
11
|
scope(:published_with_password_protection,
|
12
12
|
-> { published.merge(Revision.with_password_protection) })
|
13
13
|
|
14
|
+
scope(:published_without_noindex,
|
15
|
+
-> { published.merge(Revision.without_noindex) })
|
16
|
+
|
14
17
|
scope(:not_published,
|
15
18
|
lambda do
|
16
19
|
includes(:published_revision)
|
@@ -22,6 +25,8 @@ module Pageflow
|
|
22
25
|
def publication_state
|
23
26
|
if published_with_password_protection?
|
24
27
|
'published_with_password_protection'
|
28
|
+
elsif published? && published_revision.noindex?
|
29
|
+
'published_with_noindex'
|
25
30
|
elsif published?
|
26
31
|
'published_without_password_protection'
|
27
32
|
else
|
@@ -45,6 +50,10 @@ module Pageflow
|
|
45
50
|
published? ? published_revision.published_until : nil
|
46
51
|
end
|
47
52
|
|
53
|
+
def last_published_with_noindex?
|
54
|
+
!!revisions.publications.first&.noindex
|
55
|
+
end
|
56
|
+
|
48
57
|
module ClassMethods
|
49
58
|
def with_publication_state(state)
|
50
59
|
case state
|