pageflow 15.7.0 → 15.8.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 +103 -199
- data/README.md +1 -9
- data/Rakefile +4 -1
- data/admins/pageflow/entry.rb +32 -6
- data/admins/pageflow/membership.rb +5 -1
- data/admins/pageflow/user.rb +7 -0
- data/app/assets/javascripts/pageflow/admin/entries.js +40 -0
- data/app/assets/stylesheets/pageflow/admin/permalink_input.scss +65 -0
- data/app/assets/stylesheets/pageflow/admin.scss +1 -0
- data/app/assets/stylesheets/pageflow/editor/base.scss +2 -6
- data/app/assets/stylesheets/pageflow/editor/dialogs.scss +2 -0
- data/app/assets/stylesheets/pageflow/editor/drop_down_button.scss +9 -0
- data/app/assets/stylesheets/pageflow/editor/info_box.scss +13 -3
- data/app/assets/stylesheets/pageflow/mixins/buttons.scss +1 -0
- data/app/assets/stylesheets/pageflow/page.scss +0 -2
- data/app/assets/stylesheets/pageflow/themes/default/page.scss +1 -1
- data/app/assets/stylesheets/pageflow/ui/forms.scss +4 -1
- data/app/controllers/pageflow/editor/file_import_controller.rb +32 -42
- data/app/controllers/pageflow/entries_controller.rb +25 -1
- data/app/helpers/pageflow/admin/permalinks_helper.rb +15 -0
- data/app/helpers/pageflow/entries_helper.rb +9 -1
- data/app/helpers/pageflow/themings_helper.rb +1 -1
- data/app/inputs/pageflow_permalink_input.rb +47 -0
- data/app/models/concerns/pageflow/permalinkable.rb +12 -0
- data/app/models/concerns/pageflow/reusable_file.rb +5 -0
- data/app/models/concerns/pageflow/uploadable_file.rb +4 -0
- data/app/models/pageflow/customized_theme.rb +4 -2
- data/app/models/pageflow/entry.rb +13 -0
- data/app/models/pageflow/entry_at_revision.rb +2 -1
- data/app/models/pageflow/entry_duplicate.rb +7 -0
- data/app/models/pageflow/image_file_url_templates.rb +2 -2
- data/app/models/pageflow/permalink.rb +39 -0
- data/app/models/pageflow/permalink_directory.rb +10 -0
- data/app/models/pageflow/published_entry.rb +17 -0
- data/app/models/pageflow/revision.rb +1 -1
- data/app/models/pageflow/theme_customization_file.rb +6 -1
- data/app/models/pageflow/theming.rb +1 -0
- data/app/views/admin/entries/_form.html.erb +9 -1
- data/app/views/admin/entries/_permalink_inputs.html.erb +6 -0
- data/app/views/admin/entries/permalink_inputs.html.erb +7 -0
- data/app/views/pageflow/editor/file_import/start_import_job.json.jbuilder +10 -0
- data/app/views/pageflow/files/_file.json.jbuilder +1 -0
- data/config/initializers/mime_types.rb +1 -0
- data/config/routes.rb +8 -5
- data/db/migrate/20221024100724_create_pageflow_permalink_directories.rb +10 -0
- data/db/migrate/20221025074049_add_permalink_attributes_to_entries.rb +5 -0
- data/db/migrate/20221027065022_create_pageflow_permalinks.rb +12 -0
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/editor.js +166 -169
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/frontend.js +44 -2
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-client.js +5 -5
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-server.js +1 -1
- data/entry_types/paged/config/initializers/features.rb +2 -0
- data/entry_types/paged/config/locales/{new/help.de.yml → de.yml} +74 -65
- data/entry_types/paged/config/locales/{new/help.en.yml → en.yml} +66 -56
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/favicon_helper.rb +39 -13
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/generated_media_queries_helper.rb +55 -0
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/themes_helper.rb +6 -2
- data/entry_types/scrolled/app/views/pageflow_scrolled/editor/entries/_head.html.erb +2 -0
- data/entry_types/scrolled/app/views/pageflow_scrolled/entries/_manifest.json.jbuilder +16 -0
- data/entry_types/scrolled/app/views/pageflow_scrolled/entries/show.html.erb +9 -3
- data/entry_types/scrolled/app/views/pageflow_scrolled/favicons/_entry.html.erb +16 -10
- data/entry_types/scrolled/config/locales/de.yml +265 -76
- data/entry_types/scrolled/config/locales/en.yml +266 -77
- data/entry_types/scrolled/lib/pageflow_scrolled/configuration.rb +3 -3
- data/entry_types/scrolled/lib/pageflow_scrolled/plugin.rb +14 -0
- data/entry_types/scrolled/lib/pageflow_scrolled/react_widget_type.rb +1 -1
- data/entry_types/scrolled/lib/pageflow_scrolled/web_app_manifest.rb +11 -0
- data/entry_types/scrolled/lib/pageflow_scrolled.rb +39 -1
- data/entry_types/scrolled/lib/tasks/pageflow_scrolled/storybook.rake +3 -2
- data/entry_types/scrolled/package/contentElements-editor.js +124 -38
- data/entry_types/scrolled/package/contentElements-frontend.css +1 -1
- data/entry_types/scrolled/package/contentElements-frontend.js +321 -27
- data/entry_types/scrolled/package/editor.js +1345 -739
- data/entry_types/scrolled/package/frontend/EditableInlineText.module-c6672f27.js +5314 -0
- data/entry_types/scrolled/package/frontend/{PhonePlatformContext-9fb97827.js → PhonePlatformContext-22e65f92.js} +40 -4
- data/entry_types/scrolled/package/frontend/{Viewer-e2290ea0.js → Viewer-6b05522f.js} +6 -40
- data/entry_types/scrolled/package/frontend/arrowRight-7e3d9dd5.js +42 -0
- data/entry_types/scrolled/package/frontend/{components-6ab26015.js → components-487daafa.js} +546 -361
- data/entry_types/scrolled/package/frontend/index.css +1 -1
- data/entry_types/scrolled/package/frontend/index.js +197 -3674
- data/entry_types/scrolled/package/package.json +3 -2
- data/entry_types/scrolled/package/testHelpers.js +12 -2
- data/entry_types/scrolled/package/widgets/defaultNavigation.css +1 -1
- data/entry_types/scrolled/package/widgets/defaultNavigation.js +35 -32
- data/entry_types/scrolled/spec/fixtures/image.ico +0 -0
- data/lib/pageflow/entry_type.rb +6 -2
- data/lib/pageflow/user_mixin.rb +6 -0
- data/lib/pageflow/version.rb +1 -1
- data/package/editor.js +122 -149
- data/package/frontend.js +19 -2
- data/package/testHelpers.js +39 -6
- data/spec/factories/entries.rb +17 -0
- data/spec/factories/permalink_directory.rb +6 -0
- data/spec/factories/permalinks.rb +4 -0
- data/spec/factories/published_entries.rb +2 -0
- metadata +30 -47
- data/entry_types/paged/config/locales/new/video_contain.de.yml +0 -7
- data/entry_types/paged/config/locales/new/video_contain.en.yml +0 -7
- data/entry_types/scrolled/config/locales/new/before_after_slider.de.yml +0 -8
- data/entry_types/scrolled/config/locales/new/before_after_slider.en.yml +0 -8
- data/entry_types/scrolled/config/locales/new/center_ragged.de.yml +0 -8
- data/entry_types/scrolled/config/locales/new/center_ragged.en.yml +0 -9
- data/entry_types/scrolled/config/locales/new/consent.de.yml +0 -25
- data/entry_types/scrolled/config/locales/new/consent.en.yml +0 -24
- data/entry_types/scrolled/config/locales/new/content_element_categories.de.yml +0 -39
- data/entry_types/scrolled/config/locales/new/content_element_categories.en.yml +0 -39
- data/entry_types/scrolled/config/locales/new/default_transition.de.yml +0 -14
- data/entry_types/scrolled/config/locales/new/default_transition.en.yml +0 -14
- data/entry_types/scrolled/config/locales/new/header_line_breaks.de.yml +0 -28
- data/entry_types/scrolled/config/locales/new/header_line_breaks.en.yml +0 -27
- data/entry_types/scrolled/config/locales/new/header_size.de.yml +0 -17
- data/entry_types/scrolled/config/locales/new/header_size.en.yml +0 -17
- data/entry_types/scrolled/config/locales/new/iframe_embed.de.yml +0 -39
- data/entry_types/scrolled/config/locales/new/iframe_embed.en.yml +0 -39
- data/entry_types/scrolled/config/locales/new/inline_loops.de.yml +0 -26
- data/entry_types/scrolled/config/locales/new/inline_loops.en.yml +0 -26
- data/entry_types/scrolled/config/locales/new/portrait_inline_image.de.yml +0 -9
- data/entry_types/scrolled/config/locales/new/portrait_inline_image.en.yml +0 -9
- data/entry_types/scrolled/config/locales/new/section_width.de.yml +0 -10
- data/entry_types/scrolled/config/locales/new/section_width.en.yml +0 -10
- data/entry_types/scrolled/config/locales/new/typography_variants.de.yml +0 -7
- data/entry_types/scrolled/config/locales/new/typography_variants.en.yml +0 -7
- data/entry_types/scrolled/config/locales/new/video_embed_poster.de.yml +0 -8
- data/entry_types/scrolled/config/locales/new/video_embed_poster.en.yml +0 -8
- data/entry_types/scrolled/config/locales/new/waveform_styles.de.yml +0 -11
- data/entry_types/scrolled/config/locales/new/waveform_styles.en.yml +0 -12
- data/entry_types/scrolled/config/locales/new/widgets.de.yml +0 -6
- data/entry_types/scrolled/config/locales/new/widgets.en.yml +0 -6
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/browserconfig.xml +0 -9
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/mstile-150x150.png +0 -0
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/safari-pinned-tab.svg +0 -46
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/site.webmanifest +0 -19
- data/entry_types/scrolled/package/frontend/EditableInlineText.module-b9923660.js +0 -993
- data/entry_types/scrolled/package/frontend/usePhonePlatform-2857c22b.js +0 -34
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f1bbd00f3c57790e6bdeb0ffd65d56fa29eb3c239b31a1b92c11fed242f9423e
|
4
|
+
data.tar.gz: d9d44c5a5273ffd92086d3303bf5806347c16406083ff60ece793b6e09de7e71
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 96f45b7ee97ae6218a92b973b9265437dafc8709587f50035d1a8cfb733022d7dbdfd82a79e3545fa71f5e6d8f45347fcd207c897a2c0cf961c6441045a60381
|
7
|
+
data.tar.gz: 786c1620c4977004d401dcd85ee51868abfb5bb4ce6c48c0131ce4e79fa481e1f8880f05c2a3498bc782b409769eff81d6b7e6c45f496a56901a266b02a4bd59
|
data/CHANGELOG.md
CHANGED
@@ -1,248 +1,152 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
-
### Version 15.
|
3
|
+
### Version 15.8.0
|
4
4
|
|
5
|
-
2022-
|
5
|
+
2022-12-23
|
6
6
|
|
7
|
-
[Compare changes](https://github.com/codevise/pageflow/compare/15-
|
7
|
+
[Compare changes](https://github.com/codevise/pageflow/compare/15-7-stable...v15.8.0)
|
8
8
|
|
9
9
|
#### Core
|
10
10
|
|
11
11
|
##### Rails Engine
|
12
12
|
|
13
|
-
-
|
14
|
-
([#
|
15
|
-
-
|
16
|
-
([#
|
17
|
-
-
|
18
|
-
([#
|
19
|
-
[#1771](https://github.com/codevise/pageflow/pull/1771))
|
20
|
-
- Fix compatibility with JBuilder 2.11.3
|
21
|
-
([#1757](https://github.com/codevise/pageflow/pull/1757))
|
22
|
-
- Prevent exception when reusing file from deleted entry
|
23
|
-
([#1834](https://github.com/codevise/pageflow/pull/1834))
|
13
|
+
- Permalinks
|
14
|
+
([#1883](https://github.com/codevise/pageflow/pull/1883))
|
15
|
+
- Add user_changed hook
|
16
|
+
([#1859](https://github.com/codevise/pageflow/pull/1859))
|
17
|
+
- Allow adding id in data attribute when adding editor main menu item
|
18
|
+
([#1837](https://github.com/codevise/pageflow/pull/1837))
|
24
19
|
|
25
20
|
##### Admin
|
26
21
|
|
27
|
-
- Improve
|
28
|
-
([#
|
29
|
-
- Improve admin styles
|
30
|
-
([#1816](https://github.com/codevise/pageflow/pull/1816))
|
31
|
-
- Remove scrolling attribute from embed iframe snippet
|
32
|
-
([#1759](https://github.com/codevise/pageflow/pull/1759))
|
33
|
-
- Let admin filters entry admin by entry type
|
34
|
-
([#1756](https://github.com/codevise/pageflow/pull/1756))
|
22
|
+
- Improve membership update
|
23
|
+
([#1862](https://github.com/codevise/pageflow/pull/1862))
|
35
24
|
|
36
25
|
##### Editor
|
37
26
|
|
38
|
-
-
|
39
|
-
([#
|
40
|
-
- Improve supported host handling in url input
|
41
|
-
([#1741](https://github.com/codevise/pageflow/pull/1741))
|
27
|
+
- Improve file import controller
|
28
|
+
([#1847](https://github.com/codevise/pageflow/pull/1847))
|
42
29
|
|
43
30
|
##### Published Entry
|
44
31
|
|
45
|
-
-
|
46
|
-
([#
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
([#1705](https://github.com/codevise/pageflow/pull/1705),
|
55
|
-
[#1735](https://github.com/codevise/pageflow/pull/1735),
|
56
|
-
[#1712](https://github.com/codevise/pageflow/pull/1712))
|
32
|
+
- Display opt-out vendors as accepted by default on privacy page
|
33
|
+
([#1899](https://github.com/codevise/pageflow/pull/1899))
|
34
|
+
|
35
|
+
##### JavaScript API
|
36
|
+
|
37
|
+
- Pass alt text in media events
|
38
|
+
([#1901](https://github.com/codevise/pageflow/pull/1901))
|
39
|
+
- Provide more tracking data
|
40
|
+
([#1885](https://github.com/codevise/pageflow/pull/1885))
|
57
41
|
|
58
42
|
##### Internal
|
59
43
|
|
60
|
-
-
|
61
|
-
([#
|
62
|
-
|
63
|
-
([#1721](https://github.com/codevise/pageflow/pull/1721))
|
44
|
+
- Migrate to supported setup-ruby action
|
45
|
+
([#1892](https://github.com/codevise/pageflow/pull/1892))
|
46
|
+
|
64
47
|
|
65
48
|
#### Paged Entry Type
|
66
49
|
|
67
50
|
##### Published Entry
|
68
51
|
|
69
|
-
- Add feature flag to
|
70
|
-
([#
|
71
|
-
- Allow
|
72
|
-
([#
|
73
|
-
-
|
74
|
-
([#
|
75
|
-
- Consent and embed opt-in
|
76
|
-
([#1716](https://github.com/codevise/pageflow/pull/1716),
|
77
|
-
[#1715](https://github.com/codevise/pageflow/pull/1715),
|
78
|
-
[#1714](https://github.com/codevise/pageflow/pull/1714),
|
79
|
-
[#1710](https://github.com/codevise/pageflow/pull/1710))
|
52
|
+
- Add feature flag to enforce usage of FullHD videos
|
53
|
+
([#1879](https://github.com/codevise/pageflow/pull/1879))
|
54
|
+
- Allow enforcing best video quality in Paged entries
|
55
|
+
([#1863](https://github.com/codevise/pageflow/pull/1863))
|
56
|
+
- Ensure scroller content is accessible via OS X Spoken Content
|
57
|
+
([#1870](https://github.com/codevise/pageflow/pull/1870))
|
80
58
|
|
81
|
-
#####
|
59
|
+
##### Internal
|
82
60
|
|
83
|
-
-
|
84
|
-
([#
|
85
|
-
[#1706](https://github.com/codevise/pageflow/pull/1706))
|
86
|
-
- Add theme option to change left position of logo
|
87
|
-
([#1707](https://github.com/codevise/pageflow/pull/1707))
|
61
|
+
- Missing semicolon in themes/default/page.scss
|
62
|
+
([#1898](https://github.com/codevise/pageflow/pull/1898))
|
88
63
|
|
89
64
|
#### Scrolled Entry Type
|
90
65
|
|
91
|
-
##### Rails Engine
|
92
|
-
|
93
|
-
- Additional frontend seed data
|
94
|
-
([#1799](https://github.com/codevise/pageflow/pull/1799),
|
95
|
-
[#1801](https://github.com/codevise/pageflow/pull/1801))
|
96
|
-
- Improve guides for Pageflow Scrolled
|
97
|
-
([#1793](https://github.com/codevise/pageflow/pull/1793))
|
98
|
-
- Move guides for Pageflow Pageflow to entry type directory
|
99
|
-
([#1792](https://github.com/codevise/pageflow/pull/1792))
|
100
|
-
- Allow registering additional frontend/editor packs
|
101
|
-
([#1772](https://github.com/codevise/pageflow/pull/1772))
|
102
|
-
- Make Webpack load chunks via asset host
|
103
|
-
([#1753](https://github.com/codevise/pageflow/pull/1753),
|
104
|
-
[#1754](https://github.com/codevise/pageflow/pull/1754))
|
105
|
-
- Allow transforming theme customizations
|
106
|
-
([#1746](https://github.com/codevise/pageflow/pull/1746))
|
107
|
-
- Allow passing traits to create_used_file
|
108
|
-
([#1742](https://github.com/codevise/pageflow/pull/1742))
|
109
|
-
|
110
66
|
##### Editor
|
111
67
|
|
112
|
-
-
|
113
|
-
([#
|
114
|
-
[#
|
115
|
-
-
|
116
|
-
([#
|
117
|
-
- Allow moving text block ranges
|
118
|
-
([#1739](https://github.com/codevise/pageflow/pull/1739))
|
119
|
-
- Render fade transition check box in Firefox
|
120
|
-
([#1728](https://github.com/codevise/pageflow/pull/1728))
|
68
|
+
- Set correct lang attribute on html element in editor preview iframe
|
69
|
+
([#1867](https://github.com/codevise/pageflow/pull/1867),
|
70
|
+
[#1872](https://github.com/codevise/pageflow/pull/1872))
|
71
|
+
- Bug: Ensure link tooltip is readable in inverted sections
|
72
|
+
([#1849](https://github.com/codevise/pageflow/pull/1849))
|
121
73
|
|
122
74
|
##### Published Entry
|
123
75
|
|
124
|
-
-
|
125
|
-
([#
|
126
|
-
-
|
127
|
-
([#
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
-
|
136
|
-
([#
|
137
|
-
-
|
138
|
-
([#
|
139
|
-
-
|
140
|
-
([#
|
141
|
-
-
|
142
|
-
([#
|
143
|
-
-
|
144
|
-
([#
|
145
|
-
|
146
|
-
|
147
|
-
-
|
148
|
-
([#
|
149
|
-
-
|
150
|
-
([#
|
151
|
-
- Align navigation breakpoints with theme breakpoints
|
152
|
-
([#1770](https://github.com/codevise/pageflow/pull/1770))
|
76
|
+
- Section and chapter inline links
|
77
|
+
([#1886](https://github.com/codevise/pageflow/pull/1886))
|
78
|
+
- Typography variants
|
79
|
+
([#1842](https://github.com/codevise/pageflow/pull/1842),
|
80
|
+
[#1845](https://github.com/codevise/pageflow/pull/1845))
|
81
|
+
- Improve backdrop hiding
|
82
|
+
([#1882](https://github.com/codevise/pageflow/pull/1881),
|
83
|
+
[#1881](https://github.com/codevise/pageflow/pull/1882))
|
84
|
+
- Backdrop effects
|
85
|
+
([#1841](https://github.com/codevise/pageflow/pull/1841),
|
86
|
+
[#1846](https://github.com/codevise/pageflow/pull/1846))
|
87
|
+
- Make border radius of cards appearance configurable
|
88
|
+
([#1838](https://github.com/codevise/pageflow/pull/1838))
|
89
|
+
- Allow using SVG images as backdrops and inline images
|
90
|
+
([#1860](https://github.com/codevise/pageflow/pull/1860))
|
91
|
+
- Improve scrolled favicons
|
92
|
+
([#1858](https://github.com/codevise/pageflow/pull/1858))
|
93
|
+
- Use public translations from pageflow-public-i18n in scrolled
|
94
|
+
([#1853](https://github.com/codevise/pageflow/pull/1853))
|
95
|
+
- Rewrite backdrop/motif area logic based on CSS as experimental feature
|
96
|
+
([#1854](https://github.com/codevise/pageflow/pull/1854),
|
97
|
+
[#1855](https://github.com/codevise/pageflow/pull/1855),
|
98
|
+
[#1856](https://github.com/codevise/pageflow/pull/1856))
|
99
|
+
- Bug: Prevent foreground shadow from overlaying next section
|
100
|
+
([#1900](https://github.com/codevise/pageflow/pull/1900))
|
101
|
+
- Bug: Ensure backdrop covers viewport in iOS in-app browers
|
102
|
+
([#1884](https://github.com/codevise/pageflow/pull/1884))
|
153
103
|
|
154
104
|
##### Content Elements
|
155
105
|
|
156
|
-
-
|
157
|
-
([#
|
158
|
-
-
|
159
|
-
([#
|
160
|
-
-
|
161
|
-
([#
|
162
|
-
-
|
163
|
-
([#
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
- Add iframe embed content element
|
175
|
-
([#1762](https://github.com/codevise/pageflow/pull/1762),
|
176
|
-
[#1765](https://github.com/codevise/pageflow/pull/1765))
|
177
|
-
- Display subtitles at the bottom of the media element
|
178
|
-
([#1764](https://github.com/codevise/pageflow/pull/1764))
|
179
|
-
- Add line break and manual hyphenation support for headings
|
180
|
-
([#1751](https://github.com/codevise/pageflow/pull/1751))
|
181
|
-
- Add feature flag to disable scrolled chart opt-in
|
182
|
-
([#1732](https://github.com/codevise/pageflow/pull/1732))
|
183
|
-
- Prevent interpreting external links as relative
|
184
|
-
([#1727](https://github.com/codevise/pageflow/pull/1727))
|
185
|
-
- Use lazy opt-in consent paradigm for scrolled embeds
|
186
|
-
([#1726](https://github.com/codevise/pageflow/pull/1726))
|
187
|
-
- Make heading text size configurable
|
188
|
-
([#1725](https://github.com/codevise/pageflow/pull/1725))
|
189
|
-
- Make it easier to recognize 360° images
|
190
|
-
([#1724](https://github.com/codevise/pageflow/pull/1724))
|
191
|
-
- Ensure contrast of text in embed opt-in
|
192
|
-
([#1723](https://github.com/codevise/pageflow/pull/1723))
|
193
|
-
- Remove option hide before/after handles
|
194
|
-
([#1719](https://github.com/codevise/pageflow/pull/1719))
|
195
|
-
- Fit viewport without displaying pillar boxes
|
196
|
-
([#1718](https://github.com/codevise/pageflow/pull/1718))
|
197
|
-
- Add missing translation for VR content element
|
198
|
-
([#1711](https://github.com/codevise/pageflow/pull/1711))
|
106
|
+
- Disable automatic hyphenation in text block headings
|
107
|
+
([#1875](https://github.com/codevise/pageflow/pull/1875))
|
108
|
+
- Disable top padding for new headings
|
109
|
+
([#1896](https://github.com/codevise/pageflow/pull/1896))
|
110
|
+
- Remove space before heading in cards appearance
|
111
|
+
([#1851](https://github.com/codevise/pageflow/pull/1851))
|
112
|
+
- Text block line breaks
|
113
|
+
([#1869](https://github.com/codevise/pageflow/pull/1869),
|
114
|
+
[#1871](https://github.com/codevise/pageflow/pull/1871))
|
115
|
+
- Improve mobile block quote size
|
116
|
+
([#1868](https://github.com/codevise/pageflow/pull/1868))
|
117
|
+
- Preserve Tweet hide when unloading
|
118
|
+
([#1864](https://github.com/codevise/pageflow/pull/1864))
|
119
|
+
- Question content element
|
120
|
+
([#1861](https://github.com/codevise/pageflow/pull/1861))
|
121
|
+
- Improve video embed content element
|
122
|
+
([#1848](https://github.com/codevise/pageflow/pull/1848),
|
123
|
+
[#1850](https://github.com/codevise/pageflow/pull/1850))
|
199
124
|
|
200
|
-
#####
|
125
|
+
##### Widgets
|
201
126
|
|
202
|
-
-
|
203
|
-
([#
|
204
|
-
-
|
205
|
-
([#
|
206
|
-
|
207
|
-
|
208
|
-
([#1803](https://github.com/codevise/pageflow/pull/1803))
|
209
|
-
- Restore spacing but make it theme configurable
|
210
|
-
- Allow configuring section widths in theme
|
211
|
-
([#1786](https://github.com/codevise/pageflow/pull/1786),
|
212
|
-
[#1795](https://github.com/codevise/pageflow/pull/1795),
|
213
|
-
[#1796](https://github.com/codevise/pageflow/pull/1796))
|
214
|
-
- Allow targeting different heading sizes via theme typography rules
|
215
|
-
([#1789](https://github.com/codevise/pageflow/pull/1789))
|
216
|
-
- Text variants
|
217
|
-
([#1788](https://github.com/codevise/pageflow/pull/1788))
|
218
|
-
- Allow changing content text color via theme options
|
219
|
-
([#1785](https://github.com/codevise/pageflow/pull/1785))
|
220
|
-
- Allow overriding text block heading margins in typography rules
|
221
|
-
([#1784](https://github.com/codevise/pageflow/pull/1784))
|
222
|
-
- Let themes customize navigation bar icons
|
223
|
-
([#1775](https://github.com/codevise/pageflow/pull/1775),
|
224
|
-
[#1776](https://github.com/codevise/pageflow/pull/1776))
|
225
|
-
- More theme options for scrolled default navigation
|
226
|
-
([#1768](https://github.com/codevise/pageflow/pull/1768))
|
127
|
+
- Fix info box position when all share providers are disabled
|
128
|
+
([#1877](https://github.com/codevise/pageflow/pull/1877))
|
129
|
+
- Add option to prevent collapsing default navigation on desktop
|
130
|
+
([#1891](https://github.com/codevise/pageflow/pull/1891))
|
131
|
+
- Options for scrolled default navigation
|
132
|
+
([#1866](https://github.com/codevise/pageflow/pull/1866))
|
227
133
|
|
228
|
-
#####
|
134
|
+
##### Themes
|
229
135
|
|
230
|
-
-
|
231
|
-
([#
|
136
|
+
- Let themes define external link list variants
|
137
|
+
([#1880](https://github.com/codevise/pageflow/pull/1880))
|
138
|
+
- Text block theme properties
|
139
|
+
([#1873](https://github.com/codevise/pageflow/pull/1873))
|
140
|
+
- Add theme properties for cards colors
|
141
|
+
([#1865](https://github.com/codevise/pageflow/pull/1865))
|
142
|
+
- Pass consistent arguments when transforming theme options
|
143
|
+
([#1844](https://github.com/codevise/pageflow/pull/1844))
|
232
144
|
|
233
145
|
##### Internal
|
234
146
|
|
235
|
-
-
|
236
|
-
([#
|
237
|
-
- Upgrade React minor version used in development
|
238
|
-
([#1773](https://github.com/codevise/pageflow/pull/1773))
|
239
|
-
- Transpile pageflow package in scrolled storybook
|
240
|
-
([#1717](https://github.com/codevise/pageflow/pull/1717))
|
241
|
-
- Update Video.js for SSR fix
|
242
|
-
([#1701](https://github.com/codevise/pageflow/pull/1701))
|
243
|
-
- Do not use import/export keywords in vendored deps
|
244
|
-
([#1700](https://github.com/codevise/pageflow/pull/1700))
|
147
|
+
- Also set Webpack public path for editor JS.
|
148
|
+
([#1874](https://github.com/codevise/pageflow/pull/1874))
|
245
149
|
|
246
150
|
See
|
247
|
-
[15-
|
151
|
+
[15-7-stable branch](https://github.com/codevise/pageflow/blob/15-7-stable/CHANGELOG.md)
|
248
152
|
for previous changes.
|
data/README.md
CHANGED
@@ -171,15 +171,7 @@ If you run into problems during the installation of Pageflow, please refer to th
|
|
171
171
|
|
172
172
|
## Security Policy
|
173
173
|
|
174
|
-
|
175
|
-
last major series will receive patches and new versions.
|
176
|
-
|
177
|
-
Security related announcements will be posted to the
|
178
|
-
[`ruby-security-ann`](https://groups.google.com/forum/#!forum/ruby-security-ann)
|
179
|
-
mailing list.
|
180
|
-
|
181
|
-
If you have found a security related bug, please contact
|
182
|
-
`info(at)codevise.de` instead of creating a publicly visible issue.
|
174
|
+
See [`SECURITY.md`](https://github.com/codevise/pageflow/blob/master/SECURITY.md).
|
183
175
|
|
184
176
|
## Contributing
|
185
177
|
|
data/Rakefile
CHANGED
@@ -21,7 +21,10 @@ end
|
|
21
21
|
require 'semmy'
|
22
22
|
Semmy::Tasks.install do |config|
|
23
23
|
config.github_repository = 'codevise/pageflow'
|
24
|
-
config.source_files_with_docs_tags =
|
24
|
+
config.source_files_with_docs_tags =
|
25
|
+
'{app,lib,packages/*/src,spec/support/pageflow,' \
|
26
|
+
'entry_types/*/{app,lib,package/src,packages/*/src}}' \
|
27
|
+
'/**/*.{js,jsx,rb,scss}'
|
25
28
|
end
|
26
29
|
|
27
30
|
require File.expand_path('spec/support/pageflow/dummy/app', File.dirname(__FILE__))
|
data/admins/pageflow/entry.rb
CHANGED
@@ -151,6 +151,18 @@ module Pageflow
|
|
151
151
|
end
|
152
152
|
end
|
153
153
|
|
154
|
+
collection_action :permalink_inputs do
|
155
|
+
@entry = Entry.new(permitted_params[:entry])
|
156
|
+
|
157
|
+
apply_entry_defaults(@entry)
|
158
|
+
|
159
|
+
if authorized?(:create, @entry)
|
160
|
+
render(layout: false)
|
161
|
+
else
|
162
|
+
head :forbidden
|
163
|
+
end
|
164
|
+
end
|
165
|
+
|
154
166
|
member_action :duplicate, method: :post do
|
155
167
|
entry = Entry.find(params[:id])
|
156
168
|
authorize!(:duplicate, entry)
|
@@ -185,17 +197,18 @@ module Pageflow
|
|
185
197
|
helper FoldersHelper
|
186
198
|
helper EntriesHelper
|
187
199
|
helper EmbedCodeHelper
|
200
|
+
helper ThemingsHelper
|
188
201
|
helper Admin::EntriesHelper
|
189
202
|
helper Admin::FeaturesHelper
|
190
203
|
helper Admin::FormHelper
|
191
204
|
helper Admin::MembershipsHelper
|
205
|
+
helper Admin::PermalinksHelper
|
192
206
|
helper Admin::RevisionsHelper
|
193
207
|
|
194
208
|
helper_method :account_policy_scope
|
195
209
|
|
196
210
|
after_build do |entry|
|
197
|
-
entry
|
198
|
-
entry.theming ||= entry.account.default_theming
|
211
|
+
apply_entry_defaults(entry)
|
199
212
|
|
200
213
|
if action_name == 'new' &&
|
201
214
|
(default_entry_type = Pageflow.config.default_entry_type&.call(entry.account))
|
@@ -217,7 +230,15 @@ module Pageflow
|
|
217
230
|
end
|
218
231
|
|
219
232
|
def scoped_collection
|
220
|
-
result =
|
233
|
+
result =
|
234
|
+
super
|
235
|
+
.includes(:theming,
|
236
|
+
{permalink: :directory},
|
237
|
+
:account,
|
238
|
+
{memberships: :user},
|
239
|
+
:published_revision)
|
240
|
+
.references(:published_revision)
|
241
|
+
|
221
242
|
params.key?(:folder_id) ? result.where(folder_id: params[:folder_id]) : result
|
222
243
|
end
|
223
244
|
|
@@ -233,6 +254,11 @@ module Pageflow
|
|
233
254
|
|
234
255
|
private
|
235
256
|
|
257
|
+
def apply_entry_defaults(entry)
|
258
|
+
entry.account ||= account_policy_scope.entry_creatable.first || Account.first
|
259
|
+
entry.theming ||= entry.account.default_theming
|
260
|
+
end
|
261
|
+
|
236
262
|
def account_policy_scope
|
237
263
|
AccountPolicy::Scope.new(current_user, Account)
|
238
264
|
end
|
@@ -242,7 +268,7 @@ module Pageflow
|
|
242
268
|
end
|
243
269
|
|
244
270
|
def permitted_attributes
|
245
|
-
result = [:title, :type_name]
|
271
|
+
result = [:title, :type_name, {permalink_attributes: [:slug, :directory_id]}]
|
246
272
|
target = if !params[:id] && current_user.admin?
|
247
273
|
Account.first
|
248
274
|
elsif params[:id]
|
@@ -289,7 +315,7 @@ module Pageflow
|
|
289
315
|
end
|
290
316
|
|
291
317
|
def create_or_new_action?
|
292
|
-
[:create, :new].include?(action_name.to_sym)
|
318
|
+
[:create, :new, :permalink_inputs].include?(action_name.to_sym)
|
293
319
|
end
|
294
320
|
|
295
321
|
def theming_in_allowed_themings_for?(accounts)
|
@@ -299,7 +325,7 @@ module Pageflow
|
|
299
325
|
|
300
326
|
def permitted_account_attributes
|
301
327
|
if account_params_present? &&
|
302
|
-
(
|
328
|
+
(create_or_new_action? || legally_moving_entry_to_other_account)
|
303
329
|
[:account_id]
|
304
330
|
else
|
305
331
|
[]
|
@@ -112,7 +112,11 @@ module Pageflow
|
|
112
112
|
private
|
113
113
|
|
114
114
|
def permitted_params
|
115
|
-
|
115
|
+
if [:create, :new].include?(action_name.to_sym)
|
116
|
+
params.permit(membership: [:user_id, :entity_id, :entity_type, :role])
|
117
|
+
else
|
118
|
+
params.permit(membership: [:role])
|
119
|
+
end
|
116
120
|
end
|
117
121
|
|
118
122
|
def redirect_path
|
data/admins/pageflow/user.rb
CHANGED
@@ -101,6 +101,10 @@ module Pageflow
|
|
101
101
|
|
102
102
|
form(partial: 'form')
|
103
103
|
|
104
|
+
after_update do |user|
|
105
|
+
Pageflow.config.hooks.invoke(:user_changed, user)
|
106
|
+
end
|
107
|
+
|
104
108
|
collection_action :invitation, method: [:get, :post] do
|
105
109
|
@page_title = I18n.t('pageflow.admin.users.invite_user')
|
106
110
|
@invitation_form = InvitationForm.new(invitation_form_params.fetch(:invitation_form, {}),
|
@@ -109,6 +113,7 @@ module Pageflow
|
|
109
113
|
|
110
114
|
if request.post?
|
111
115
|
if @invitation_form.save
|
116
|
+
Pageflow.config.hooks.invoke(:user_changed, @invitation_form.target_user)
|
112
117
|
redirect_to(admin_user_path(@invitation_form.target_user))
|
113
118
|
else
|
114
119
|
render status: 422
|
@@ -130,6 +135,8 @@ module Pageflow
|
|
130
135
|
|
131
136
|
if request.patch?
|
132
137
|
if @user.update_with_password(user_profile_params)
|
138
|
+
Pageflow.config.hooks.invoke(:user_changed, @user)
|
139
|
+
|
133
140
|
bypass_sign_in @user, scope: :user
|
134
141
|
redirect_to admin_root_path, notice: I18n.t('pageflow.admin.users.me.updated')
|
135
142
|
end
|
@@ -88,6 +88,8 @@ jQuery(function($) {
|
|
88
88
|
|
89
89
|
$('.admin_entries form.pageflow_entry').each(function() {
|
90
90
|
var accountSelect = $('#entry_account_id', this);
|
91
|
+
var themingSelect = $('#entry_theming_id', this);
|
92
|
+
var titleInput = $('#entry_title', this);
|
91
93
|
|
92
94
|
function updateEntryTypeInput() {
|
93
95
|
var selectedAccountId = accountSelect.val();
|
@@ -100,6 +102,44 @@ jQuery(function($) {
|
|
100
102
|
});
|
101
103
|
}
|
102
104
|
|
105
|
+
function updatePermalinkInput() {
|
106
|
+
fetchPermalinkInput(function(response) {
|
107
|
+
$('#entry_permalink_attributes_permalink_input').replaceWith(response);
|
108
|
+
});
|
109
|
+
}
|
110
|
+
|
111
|
+
function updateSlugPlaceholder() {
|
112
|
+
fetchPermalinkInput(function(response) {
|
113
|
+
$('#entry_permalink_attributes_permalink_input input[placeholder]')
|
114
|
+
.attr('placeholder',
|
115
|
+
$(response).find('input[placeholder]').attr('placeholder'));
|
116
|
+
});
|
117
|
+
}
|
118
|
+
|
119
|
+
function fetchPermalinkInput(callback) {
|
120
|
+
$.get('/admin/entries/permalink_inputs' +
|
121
|
+
'?entry[account_id]=' + accountSelect.val() +
|
122
|
+
(themingSelect.val() ? '&entry[theming_id]=' + themingSelect.val() : '') +
|
123
|
+
'&entry[title]=' + encodeURIComponent(titleInput.val()))
|
124
|
+
.done(callback);
|
125
|
+
}
|
126
|
+
|
103
127
|
accountSelect.on('change', updateEntryTypeInput);
|
128
|
+
|
129
|
+
accountSelect.on('change', updatePermalinkInput);
|
130
|
+
themingSelect.on('change', updatePermalinkInput);
|
131
|
+
|
132
|
+
titleInput.on('change keyup', debounce(updateSlugPlaceholder, 300));
|
104
133
|
});
|
105
134
|
});
|
135
|
+
|
136
|
+
function debounce(func, timeout){
|
137
|
+
var timer;
|
138
|
+
|
139
|
+
return function() {
|
140
|
+
var args = arguments;
|
141
|
+
|
142
|
+
clearTimeout(timer);
|
143
|
+
timer = setTimeout(function() { func.apply(this, args); }, timeout);
|
144
|
+
};
|
145
|
+
}
|
@@ -0,0 +1,65 @@
|
|
1
|
+
$pageflow-permalink-input-padding: 8px 10px 7px !default;
|
2
|
+
$pageflow-permalink-input-line-height: 1.15 !default;
|
3
|
+
$pageflow-permalink-input-border-color: #c9d0d6 !default;
|
4
|
+
$pageflow-permalink-input-border-radius: 3px !default;
|
5
|
+
$pageflow-permalink-input-focus-border-color: #99a2aa !default;
|
6
|
+
$pageflow-permalink-input-focus-box-shadow: 0 0 4px #99a2aa !default;
|
7
|
+
$pageflow-permalink-input-background-color: #fff !default;
|
8
|
+
$pageflow-permalink-input-min-width: 30% !default;
|
9
|
+
|
10
|
+
$pageflow-permalink-input-base-url-background-color: #f4f4f4 !default;
|
11
|
+
$pageflow-permalink-input-base-url-color: null !default;
|
12
|
+
|
13
|
+
$pageflow-permalink-input-directory-padding-left: 7px !default;
|
14
|
+
$pageflow-permalink-input-directory-padding-right: 7px !default;
|
15
|
+
$pageflow-permalink-input-directory-margin-h: 3px !default;
|
16
|
+
$pageflow-permalink-input-directory-background-position: null !default;
|
17
|
+
|
18
|
+
.pageflow_permalink.input {
|
19
|
+
.permalink {
|
20
|
+
display: inline-flex;
|
21
|
+
border: 1px solid $pageflow-permalink-input-border-color;
|
22
|
+
border-radius: $pageflow-permalink-input-border-radius;
|
23
|
+
background-color: $pageflow-permalink-input-background-color;
|
24
|
+
box-sizing: border-box;
|
25
|
+
min-width: $pageflow-permalink-input-min-width;
|
26
|
+
overflow: hidden;
|
27
|
+
width: 100%;
|
28
|
+
|
29
|
+
&:focus-within {
|
30
|
+
border-color: $pageflow-permalink-input-focus-border-color;
|
31
|
+
box-shadow: $pageflow-permalink-input-focus-box-shadow;
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
35
|
+
.permalink_base_url {
|
36
|
+
padding: $pageflow-permalink-input-padding;
|
37
|
+
line-height: $pageflow-permalink-input-line-height;
|
38
|
+
background-color: $pageflow-permalink-input-base-url-background-color;
|
39
|
+
color: $pageflow-permalink-input-base-url-color;
|
40
|
+
}
|
41
|
+
|
42
|
+
select,
|
43
|
+
input {
|
44
|
+
width: auto;
|
45
|
+
border: 0;
|
46
|
+
|
47
|
+
&:focus {
|
48
|
+
border: 0;
|
49
|
+
box-shadow: none;
|
50
|
+
}
|
51
|
+
}
|
52
|
+
|
53
|
+
select {
|
54
|
+
background-color: $pageflow-permalink-input-background-color;
|
55
|
+
background-position: $pageflow-permalink-input-directory-background-position;
|
56
|
+
padding-left: $pageflow-permalink-input-directory-padding-left;
|
57
|
+
padding-right: $pageflow-permalink-input-directory-padding-right;
|
58
|
+
margin: 0 $pageflow-permalink-input-directory-margin-h;
|
59
|
+
}
|
60
|
+
|
61
|
+
input {
|
62
|
+
padding-left: 0;
|
63
|
+
flex: 1;
|
64
|
+
}
|
65
|
+
}
|