pageflow 16.1.0 → 17.0.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.
- 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
|