pageflow 13.6.0 → 14.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of pageflow might be problematic. Click here for more details.

Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +72 -5
  3. data/app/assets/javascripts/pageflow/dist/react-client.js +22 -27
  4. data/app/assets/javascripts/pageflow/dist/react-server.js +22 -27
  5. data/app/assets/javascripts/pageflow/editor/collections/files_collection.js +0 -1
  6. data/app/assets/javascripts/pageflow/editor/models/file_uploader.js +3 -1
  7. data/app/assets/javascripts/pageflow/editor/models/hosted_file.js +2 -7
  8. data/app/assets/javascripts/pageflow/editor/models/image_file.js +1 -1
  9. data/app/assets/javascripts/pageflow/editor/models/uploaded_file.js +12 -10
  10. data/app/assets/javascripts/pageflow/editor/views/configuration_editors/groups/general.js +4 -4
  11. data/app/assets/javascripts/pageflow/editor/views/uploader_view.js +18 -27
  12. data/app/assets/javascripts/pageflow/slideshow/page_split_layout.js +8 -8
  13. data/app/assets/javascripts/pageflow/slideshow/page_widget.js +1 -1
  14. data/app/assets/stylesheets/pageflow/delayed_text_fade_in.scss +10 -5
  15. data/app/assets/stylesheets/pageflow/editor/file_stages.scss +0 -4
  16. data/app/assets/stylesheets/pageflow/editor/file_thumbnails.scss +0 -4
  17. data/app/assets/stylesheets/pageflow/hide_text.scss +2 -2
  18. data/app/assets/stylesheets/pageflow/lt_ie9.scss +5 -5
  19. data/app/assets/stylesheets/pageflow/navigation_bar.scss +1 -0
  20. data/app/assets/stylesheets/pageflow/navigation_mobile.scss +4 -0
  21. data/app/assets/stylesheets/pageflow/page.scss +2 -2
  22. data/app/assets/stylesheets/pageflow/page_transitions/crossfade.scss +1 -1
  23. data/app/assets/stylesheets/pageflow/page_transitions/fade.scss +11 -11
  24. data/app/assets/stylesheets/pageflow/page_transitions/fade_to_black.scss +13 -10
  25. data/app/assets/stylesheets/pageflow/page_types/audio.scss +3 -3
  26. data/app/assets/stylesheets/pageflow/page_types/video.scss +9 -9
  27. data/app/assets/stylesheets/pageflow/page_types/video/content_hiding.scss +2 -2
  28. data/app/assets/stylesheets/pageflow/page_types/video/mobile_poster.scss +3 -3
  29. data/app/assets/stylesheets/pageflow/print_view.scss +8 -5
  30. data/app/assets/stylesheets/pageflow/slideshow.scss +6 -5
  31. data/app/assets/stylesheets/pageflow/themes/default/base.scss +1 -1
  32. data/app/assets/stylesheets/pageflow/themes/default/page.scss +3 -168
  33. data/app/assets/stylesheets/pageflow/themes/default/page/anchors.scss +2 -2
  34. data/app/assets/stylesheets/pageflow/themes/default/page/content_text_margin.scss +1 -1
  35. data/app/assets/stylesheets/pageflow/themes/default/page/header.scss +172 -0
  36. data/app/assets/stylesheets/pageflow/themes/default/page/hyphenate.scss +1 -1
  37. data/app/assets/stylesheets/pageflow/themes/default/page/line_lengths.scss +12 -14
  38. data/app/assets/stylesheets/pageflow/themes/default/player_controls/vjs_mapping.scss +6 -6
  39. data/app/assets/stylesheets/pageflow/themes/default/{video_wrapper.scss → uncropped_media_wrapper.scss} +1 -1
  40. data/app/controllers/pageflow/editor/files_controller.rb +11 -8
  41. data/app/helpers/pageflow/background_image_helper.rb +2 -1
  42. data/app/helpers/pageflow/files_helper.rb +1 -0
  43. data/app/helpers/pageflow/pages_helper.rb +31 -0
  44. data/app/helpers/pageflow/video_files_helper.rb +3 -3
  45. data/app/jobs/pageflow/process_file_job.rb +15 -5
  46. data/app/models/concerns/pageflow/hosted_file.rb +42 -33
  47. data/app/models/concerns/pageflow/uploaded_file.rb +10 -0
  48. data/app/models/pageflow/audio_file.rb +1 -1
  49. data/app/models/pageflow/audio_file_url_templates.rb +1 -1
  50. data/app/models/pageflow/draft_entry.rb +1 -1
  51. data/app/models/pageflow/image_file.rb +38 -52
  52. data/app/models/pageflow/image_file_css_background_image_urls.rb +4 -4
  53. data/app/models/pageflow/image_file_url_templates.rb +2 -2
  54. data/app/models/pageflow/positioned_file.rb +1 -1
  55. data/app/models/pageflow/text_track_file.rb +15 -32
  56. data/app/models/pageflow/text_track_file_url_templates.rb +2 -3
  57. data/app/models/pageflow/video_file.rb +1 -1
  58. data/app/models/pageflow/video_file_url_templates.rb +1 -1
  59. data/app/state_machines/pageflow/{image_file_state_machine.rb → processed_file_state_machine.rb} +4 -10
  60. data/app/views/pageflow/editor/files/_file.json.jbuilder +4 -0
  61. data/app/views/pageflow/entries/edit.html.erb +2 -2
  62. data/app/views/pageflow/entries/mobile_navigation/_page.html.erb +1 -0
  63. data/app/views/pageflow/entries/navigation/_page.html.erb +2 -1
  64. data/config/initializers/paperclip.rb +6 -0
  65. data/config/routes.rb +1 -1
  66. data/db/migrate/20181115165746_change_processed_attachment_to_attachment_on_s3_for_images.rb +16 -0
  67. data/db/migrate/20190306161431_copy_file_attributes_of_failed_uploads.rb +25 -0
  68. data/lib/pageflow/configuration.rb +23 -5
  69. data/lib/pageflow/configuration/defaults.rb +2 -9
  70. data/lib/pageflow/version.rb +1 -1
  71. data/spec/factories/audio_files.rb +17 -10
  72. data/spec/factories/hosted_files.rb +13 -11
  73. data/spec/factories/image_files.rb +18 -11
  74. data/spec/factories/text_track_files.rb +30 -10
  75. data/spec/factories/video_files.rb +16 -9
  76. metadata +9 -8
  77. data/app/assets/javascripts/pageflow/dist/react.js +0 -29944
  78. data/app/jobs/pageflow/upload_file_to_s3_job.rb +0 -25
@@ -1,5 +1,5 @@
1
- .js .audioPage.has_text_tracks,
2
- .js .videoPage {
1
+ .js .audio_page.has_text_tracks,
2
+ .js .video_page {
3
3
  .scroller {
4
4
  @include transition(opacity 0.2s linear);
5
5
  }
@@ -1,15 +1,15 @@
1
- .videoPage .background_image {
1
+ .video_page .background_image {
2
2
  display: none;
3
3
  }
4
4
 
5
5
  .has_phone_platform {
6
6
  // Show mobile poster only on phone platform
7
- .videoPage .background_image {
7
+ .video_page .background_image {
8
8
  display: block;
9
9
  }
10
10
 
11
11
  // But not while playing inline (e.g. on Android)
12
- &.has_no_native_video_player .videoPage.should_play .background_image {
12
+ &.has_no_native_video_player .video_page.should_play .background_image {
13
13
  display: none;
14
14
  }
15
15
  }
@@ -71,11 +71,14 @@ body {
71
71
  page-break-inside: avoid !important;
72
72
  }
73
73
 
74
- .contentText, .videoPage .contentText, .audioPage .contentText {
74
+ .page_text,
75
+ .video_page .page_text,
76
+ .audio_page .page_text {
75
77
  margin-bottom: 20px;
76
78
  }
77
79
 
78
- .videoPage .vjs-control-bar, .audioPage .-vjs-control-bar {
80
+ .video_page .vjs-control-bar,
81
+ .audio_page .vjs-control-bar {
79
82
  display: none !important;
80
83
  }
81
84
 
@@ -116,7 +119,7 @@ body {
116
119
  }
117
120
 
118
121
 
119
- .backgroundArea {
122
+ .page_background {
120
123
  width: initial;
121
124
  height: initial;
122
125
  position: absolute;
@@ -147,7 +150,7 @@ body {
147
150
  }
148
151
  }
149
152
 
150
- .blackLayer {
153
+ .black_layer {
151
154
  display: none !important;
152
155
  }
153
156
 
@@ -182,4 +185,4 @@ body {
182
185
  display: none !important;
183
186
  }
184
187
 
185
- }
188
+ }
@@ -8,8 +8,8 @@
8
8
  z-index: 0;
9
9
 
10
10
 
11
- .blackLayer,
12
- .backgroundArea {
11
+ .black_layer,
12
+ .page_background {
13
13
  -webkit-backface-visibility: hidden;
14
14
  position: relative;
15
15
  }
@@ -36,16 +36,17 @@
36
36
  section.active {
37
37
  display: block;
38
38
  -webkit-backface-visibility: hidden;
39
- .backgroundArea {
39
+
40
+ .page_background {
40
41
  opacity: 1;
41
42
  }
42
43
  }
43
44
 
44
- section .videoPage .video-js {
45
+ section .video_page .video-js {
45
46
  background-color: black;
46
47
  }
47
48
 
48
- section.invert .videoPage .video-js {
49
+ section.invert .video_page .video-js {
49
50
  background-color: white;
50
51
  }
51
52
 
@@ -28,7 +28,7 @@
28
28
  @import "./overview";
29
29
  @import "./player_controls";
30
30
  @import "./video_player";
31
- @import "./video_wrapper";
31
+ @import "./uncropped_media_wrapper";
32
32
  @import "./text_track_cues";
33
33
  @import "./slideshow";
34
34
  @import "./probes";
@@ -5,39 +5,6 @@
5
5
  /// Base typography for page.
6
6
  $page-typography: () !default;
7
7
 
8
- /// Typography for header.
9
- $page-header-typography: () !default;
10
-
11
- /// Typography for header tagline.
12
- $page-header-tagline-typography: () !default;
13
-
14
- /// Typography for header tagline in phone layout.
15
- $page-header-tagline-phone-typography: () !default;
16
-
17
- /// Typography for header title.
18
- $page-header-title-typography: () !default;
19
-
20
- /// Typography for header title in phone layout.
21
- $page-header-title-phone-typography: () !default;
22
-
23
- /// Typography for title on first page.
24
- $page-header-first-page-title-typography: () !default;
25
-
26
- /// Typography for title on first page in phone layout.
27
- $page-header-first-page-title-phone-typography: () !default;
28
-
29
- /// Typography for title on first page of chapter.
30
- $page-header-chapter-beginning-title-typography: () !default;
31
-
32
- /// Typography for title on first page of chapter in phone layout.
33
- $page-header-chapter-beginning-title-phone-typography: () !default;
34
-
35
- /// Typography for header subtitle.
36
- $page-header-subtitle-typography: () !default;
37
-
38
- /// Typography for header subtitle in phone layout.
39
- $page-header-subtitle-phone-typography: () !default;
40
-
41
8
  /// Typography for content text.
42
9
  $page-content-text-typography: () !default;
43
10
 
@@ -71,31 +38,12 @@ $page-inverted-background-color: #fff !default;
71
38
 
72
39
  $page-font-family: $standard-font !default;
73
40
  $page-font-size: 16px !default;
74
- $page-header-font-family: $page-font-family !default;
75
- $page-header-font-size: 1.375em !default;
76
- $page-header-font-weight: normal !default;
77
- $page-header-tagline-font-size: 1em !default;
78
- $page-header-tagline-font-weight: $page-header-font-weight !default;
79
- $page-header-tagline-line-height: normal !default;
80
- $page-header-tagline-margin-top: 0 !default;
81
- $page-header-title-font-size: 2.3em !default;
82
- $page-header-title-phone-font-size: 1.8em !default;
83
- $page-header-first-page-title-font-size: 2.5em !default;
84
- $page-header-first-page-title-phone-font-size: 2em !default;
85
- $page-header-title-font-weight: $page-header-font-weight !default;
86
- $page-header-title-line-height: 1em !default;
87
- $page-header-first-page-title-line-height: 1em !default;
88
- $page-header-title-margin-top: 0.4em !default;
89
- $page-header-title-margin-bottom: 0.4em !default;
90
- $page-header-subtitle-font-size: 1em !default;
91
- $page-header-subtitle-font-weight: $page-header-font-weight !default;
92
- $page-header-subtitle-line-height: normal !default;
93
- $page-header-subtitle-margin-bottom: 1.875em !default;
94
41
  $page-content-text-font-family: $page-font-family !default;
95
42
  $page-content-text-font-size: 1.2em !default;
96
43
  $page-content-text-line-height: 1.5em !default;
97
44
 
98
45
  @import "./page/anchors";
46
+ @import "./page/header";
99
47
  @import "./page/hyphenate";
100
48
  @import "./page/paddings";
101
49
  @import "./page/content_text_margin";
@@ -120,7 +68,7 @@ $page-content-text-line-height: 1.5em !default;
120
68
  color: $page-inverted-text-color;
121
69
  background-color: $page-inverted-background-color;
122
70
 
123
- h2 .title {
71
+ .page_header-title {
124
72
  color: $page-inverted-title-color;
125
73
  }
126
74
  }
@@ -133,84 +81,7 @@ $page-content-text-line-height: 1.5em !default;
133
81
  }
134
82
  }
135
83
 
136
- h2 {
137
- @include typography(
138
- $page-header-typography,
139
- (
140
- font-family: $page-header-font-family,
141
- font-size: $page-header-font-size
142
- )
143
- );
144
-
145
- .tagline {
146
- display: block;
147
-
148
- @include typography(
149
- $page-header-tagline-typography,
150
- (
151
- font-size: $page-header-tagline-font-size,
152
- font-weight: $page-header-tagline-font-weight,
153
- line-height: $page-header-tagline-line-height,
154
- margin-top: $page-header-tagline-margin-top,
155
- letter-spacing: 0
156
- )
157
- );
158
-
159
- @include phone {
160
- @include typography(
161
- $page-header-tagline-phone-typography
162
- );
163
- }
164
- }
165
-
166
- .title {
167
- display: block;
168
-
169
- @include typography(
170
- $page-header-title-typography,
171
- (
172
- font-size: $page-header-title-font-size,
173
- font-weight: $page-header-title-font-weight,
174
- line-height: $page-header-title-line-height,
175
- margin-top: $page-header-title-margin-top,
176
- margin-bottom: $page-header-title-margin-bottom,
177
- letter-spacing: 0
178
- )
179
- );
180
-
181
- @include phone {
182
- @include typography(
183
- $page-header-title-phone-typography,
184
- (
185
- font-size: $page-header-title-phone-font-size
186
- )
187
- );
188
- }
189
- }
190
-
191
- .subtitle {
192
- display: block;
193
-
194
- @include typography(
195
- $page-header-subtitle-typography,
196
- (
197
- font-size: $page-header-subtitle-font-size,
198
- font-weight: $page-header-subtitle-font-weight,
199
- line-height: $page-header-subtitle-line-height,
200
- margin-top: 0,
201
- margin-bottom: $page-header-subtitle-margin-bottom
202
- )
203
- );
204
-
205
- @include phone {
206
- @include typography(
207
- $page-header-subtitle-phone-typography
208
- );
209
- }
210
- }
211
- }
212
-
213
- .contentText > * {
84
+ .page_text > * {
214
85
  @include typography(
215
86
  $page-content-text-typography,
216
87
  (
@@ -225,39 +96,3 @@ $page-content-text-line-height: 1.5em !default;
225
96
  margin-top: 0;
226
97
  }
227
98
  }
228
-
229
- .page:first-child {
230
- h2 .title {
231
- @include typography(
232
- $page-header-first-page-title-typography,
233
- (
234
- font-size: $page-header-first-page-title-font-size,
235
- line-height: $page-header-first-page-title-line-height,
236
- letter-spacing: 0
237
- )
238
- );
239
-
240
- @include phone {
241
- @include typography(
242
- $page-header-first-page-title-phone-typography,
243
- (
244
- font-size: $page-header-first-page-title-phone-font-size
245
- )
246
- );
247
- }
248
- }
249
- }
250
-
251
- .emphasize_chapter_beginning .page.chapter_beginning:nth-of-type(n+2) {
252
- h2 .title {
253
- @include typography(
254
- $page-header-chapter-beginning-title-typography
255
- );
256
-
257
- @include phone {
258
- @include typography(
259
- $page-header-chapter-beginning-title-phone-typography
260
- );
261
- }
262
- }
263
- }
@@ -11,13 +11,13 @@ $page-anchor-inverted-color: #000 !default;
11
11
  /// Typography settings of links in page content text
12
12
  $page-anchor-typography: () !default;
13
13
 
14
- .contentText a {
14
+ .page_text a {
15
15
  @extend %anchor;
16
16
  color: $page-anchor-color;
17
17
  pointer-events: all;
18
18
  @include typography($page-anchor-typography)
19
19
  }
20
20
 
21
- .invert .contentText a {
21
+ .invert .page_text a {
22
22
  color: $page-anchor-inverted-color;
23
23
  }
@@ -1,4 +1,4 @@
1
- .contentText {
1
+ .page_text {
2
2
  // This has to be the default behavior since all non-React pages
3
3
  // still do not apply additional modifier classes to the content
4
4
  // text
@@ -0,0 +1,172 @@
1
+ ////
2
+ /// @group page-typography
3
+ ////
4
+
5
+ /// Typography for header.
6
+ $page-header-typography: () !default;
7
+
8
+ /// Typography for header tagline.
9
+ $page-header-tagline-typography: () !default;
10
+
11
+ /// Typography for header tagline in phone layout.
12
+ $page-header-tagline-phone-typography: () !default;
13
+
14
+ /// Typography for header title.
15
+ $page-header-title-typography: () !default;
16
+
17
+ /// Typography for header title in phone layout.
18
+ $page-header-title-phone-typography: () !default;
19
+
20
+ /// Typography for title on first page.
21
+ $page-header-first-page-title-typography: () !default;
22
+
23
+ /// Typography for title on first page in phone layout.
24
+ $page-header-first-page-title-phone-typography: () !default;
25
+
26
+ /// Typography for title on first page of chapter.
27
+ $page-header-chapter-beginning-title-typography: () !default;
28
+
29
+ /// Typography for title on first page of chapter in phone layout.
30
+ $page-header-chapter-beginning-title-phone-typography: () !default;
31
+
32
+ /// Typography for header subtitle.
33
+ $page-header-subtitle-typography: () !default;
34
+
35
+ /// Typography for header subtitle in phone layout.
36
+ $page-header-subtitle-phone-typography: () !default;
37
+
38
+ // Deprecated. Use typography variables above.
39
+
40
+ $page-header-font-family: $page-font-family !default;
41
+ $page-header-font-size: 1.375em !default;
42
+ $page-header-font-weight: normal !default;
43
+ $page-header-tagline-font-size: 1em !default;
44
+ $page-header-tagline-font-weight: $page-header-font-weight !default;
45
+ $page-header-tagline-line-height: normal !default;
46
+ $page-header-tagline-margin-top: 0 !default;
47
+ $page-header-title-font-size: 2.3em !default;
48
+ $page-header-title-phone-font-size: 1.8em !default;
49
+ $page-header-first-page-title-font-size: 2.5em !default;
50
+ $page-header-first-page-title-phone-font-size: 2em !default;
51
+ $page-header-title-font-weight: $page-header-font-weight !default;
52
+ $page-header-title-line-height: 1em !default;
53
+ $page-header-first-page-title-line-height: 1em !default;
54
+ $page-header-title-margin-top: 0.4em !default;
55
+ $page-header-title-margin-bottom: 0.4em !default;
56
+ $page-header-subtitle-font-size: 1em !default;
57
+ $page-header-subtitle-font-weight: $page-header-font-weight !default;
58
+ $page-header-subtitle-line-height: normal !default;
59
+ $page-header-subtitle-margin-bottom: 1.875em !default;
60
+
61
+ .page_header {
62
+ @include typography(
63
+ $page-header-typography,
64
+ (
65
+ font-family: $page-header-font-family,
66
+ font-size: $page-header-font-size
67
+ )
68
+ );
69
+
70
+ &-tagline {
71
+ display: block;
72
+
73
+ @include typography(
74
+ $page-header-tagline-typography,
75
+ (
76
+ font-size: $page-header-tagline-font-size,
77
+ font-weight: $page-header-tagline-font-weight,
78
+ line-height: $page-header-tagline-line-height,
79
+ margin-top: $page-header-tagline-margin-top,
80
+ letter-spacing: 0
81
+ )
82
+ );
83
+
84
+ @include phone {
85
+ @include typography(
86
+ $page-header-tagline-phone-typography
87
+ );
88
+ }
89
+ }
90
+
91
+ &-title {
92
+ display: block;
93
+
94
+ @include typography(
95
+ $page-header-title-typography,
96
+ (
97
+ font-size: $page-header-title-font-size,
98
+ font-weight: $page-header-title-font-weight,
99
+ line-height: $page-header-title-line-height,
100
+ margin-top: $page-header-title-margin-top,
101
+ margin-bottom: $page-header-title-margin-bottom,
102
+ letter-spacing: 0
103
+ )
104
+ );
105
+
106
+ @include phone {
107
+ @include typography(
108
+ $page-header-title-phone-typography,
109
+ (
110
+ font-size: $page-header-title-phone-font-size
111
+ )
112
+ );
113
+ }
114
+ }
115
+
116
+ &-subtitle {
117
+ display: block;
118
+
119
+ @include typography(
120
+ $page-header-subtitle-typography,
121
+ (
122
+ font-size: $page-header-subtitle-font-size,
123
+ font-weight: $page-header-subtitle-font-weight,
124
+ line-height: $page-header-subtitle-line-height,
125
+ margin-top: 0,
126
+ margin-bottom: $page-header-subtitle-margin-bottom
127
+ )
128
+ );
129
+
130
+ @include phone {
131
+ @include typography(
132
+ $page-header-subtitle-phone-typography
133
+ );
134
+ }
135
+ }
136
+ }
137
+
138
+ .page:first-child {
139
+ .page_header-title {
140
+ @include typography(
141
+ $page-header-first-page-title-typography,
142
+ (
143
+ font-size: $page-header-first-page-title-font-size,
144
+ line-height: $page-header-first-page-title-line-height,
145
+ letter-spacing: 0
146
+ )
147
+ );
148
+
149
+ @include phone {
150
+ @include typography(
151
+ $page-header-first-page-title-phone-typography,
152
+ (
153
+ font-size: $page-header-first-page-title-phone-font-size
154
+ )
155
+ );
156
+ }
157
+ }
158
+ }
159
+
160
+ .emphasize_chapter_beginning .page.chapter_beginning:nth-of-type(n+2) {
161
+ .page_header-title {
162
+ @include typography(
163
+ $page-header-chapter-beginning-title-typography
164
+ );
165
+
166
+ @include phone {
167
+ @include typography(
168
+ $page-header-chapter-beginning-title-phone-typography
169
+ );
170
+ }
171
+ }
172
+ }