@canopycanopycanopy/b-ber-theme-serif 2.0.0 → 3.0.2

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.
package/_settings.scss CHANGED
@@ -1,29 +1,4 @@
1
- //
2
1
  // Variables
3
- //
4
-
5
- // Media Queries
6
- $media-mobile: 'only screen \
7
- and (min-width: 320px) \
8
- and (max-width: 680px)' !default;
9
- $media-tablet: 'only screen \
10
- and (min-width: 768px) \
11
- and (min-height: 1024px) \
12
- and (max-width: 768px) \
13
- and (max-height: 768px)' !default;
14
- $media-desktop: 'only screen \
15
- and (min-width: 960px)' !default;
16
- $media-wide: 'only screen \
17
- and (min-width: 1590px)' !default;
18
- $media-tall: 'only screen \
19
- and (min-height: 860px) \
20
- and (min-width: 960px)' !default;
21
- $mobile-short: 'only screen \
22
- and (max-height: 860px) \
23
- and (max-width: 960px)' !default;
24
- $desktop-short: 'only screen \
25
- and (max-height: 860px) \
26
- and (min-width: 960px)' !default;
27
2
 
28
3
  // Colors
29
4
  $white: #fff !default;
@@ -40,45 +15,21 @@ $success: #5050c5 !default;
40
15
  $grey: $black;
41
16
  }
42
17
 
43
- // Layout
44
- $debug: false !default;
18
+ // General text Layout
19
+ // If new paragraphs should be indented, and if so, by how much. The text indent size
20
+ // can be set to a simple relative unit (not calculated based on font size) because
21
+ // it's only applied to paragraph elements, so will remain consistent throughout
22
+ // the document
45
23
  $text-indent: true !default;
46
- $vertical-space: false !default;
47
-
48
- // Font size and view port
49
- // The min-width and max-width sizes set the viewport dimensions for font scaling
50
- // The min-font and max-font is the range that the font will scale within the viewport settings
51
- $min-width: 320px !default;
52
- $max-width: 1980px !default;
53
- $min-font: 17px !default;
54
- $max-font: 21px !default;
55
- $font-size-base: 1em !default;
56
- $line-height-base: 1.3 !default;
24
+ $text-indent-size: two-ems(0) !default;
57
25
 
58
- // Typgraphic Scale
59
- //
60
- // Function Ratio Decimal value
61
- // --- --- ---
62
- // $font-scale: 'phi' ;// 1:1.618 1.618
63
- // $font-scale: 'golden' ;// 1:1.618 1.618
64
- // $font-scale: 'double-octave' ;// 1:4 4
65
- // $font-scale: 'major-twelfth' ;// 1:3 3
66
- // $font-scale: 'major-eleventh' ;// 3:8 2.667
67
- // $font-scale: 'major-tenth' ;// 2:5 2.5
68
- // $font-scale: 'octave' ;// 1:2 2
69
- // $font-scale: 'major-seventh' ;// 8:15 1.875
70
- // $font-scale: 'minor-seventh' ;// 9:16 1.778
71
- // $font-scale: 'major-sixth' ;// 3:5 1.667
72
- // $font-scale: 'minor-sixth' ;// 5:8 1.6
73
- // $font-scale: 'fifth' ;// 2:3 1.5
74
- // $font-scale: 'augmented-fourth' ;// 1:√2 1.414
75
- // $font-scale: 'fourth' ;// 3:4 1.333
76
- // $font-scale: 'major-third' ;// 4:5 1.25
77
- // $font-scale: 'minor-third' ;// 5:6 1.2
78
- // $font-scale: 'major-second' ;// 8:9 1.125
79
- // $font-scale: 'minor-second' ;// 15:16 1.067
26
+ // If paragraphs and header elements should have a margin bottom. Margin bottom size
27
+ // is calculated automatically to retain vertial rhythm
28
+ $vertical-space: false !default;
80
29
 
81
- $font-scale: 'minor-second' !default;
30
+ // Vertical rhythm settings
31
+ $font-size-base: 1.6em !default; // 16px
32
+ $line-height-base: 1.44222 !default; // 20.8px
82
33
 
83
34
  // Font stacks
84
35
  $sans: Helvetica, Arial, sans-serif !default;
@@ -92,28 +43,3 @@ $landscape-image-height: 4 !default;
92
43
  $square-image-height: 4 !default;
93
44
  $portrait-image-height: 5 !default;
94
45
  $portrait-image--high-height: 5 !default;
95
-
96
- // CSS Grid settings for Reader view
97
- $grid-row-count: 2 !default; // Number of rows
98
- $grid-column-count: 12 !default; // Number of columns
99
- $grid-row-gap-percentage: 14 !default; // Height of the gap between rows
100
- $grid-column-gap-percentage: 3 !default; // Width of the gap between columns (the gutter)
101
-
102
- // Grid items' size and location. Declaring both start and end properties will
103
- // result in the following:
104
- //
105
- // $grid-column-start: 1;
106
- // $grid-column-end: 2;
107
- //
108
- // 1 / 2
109
- //
110
- // If only the start property is required, omit the second by setting it to an
111
- // empty string:
112
- //
113
- // $grid-column-start: 'span 1';
114
- // $grid-column-end: '';
115
- //
116
- // span 1
117
- //
118
- $grid-column-start: 'span 4' !default;
119
- $grid-column-end: '' !default;
package/application.scss CHANGED
@@ -1,94 +1,34 @@
1
- // sass-lint:disable mixins-before-declarations
2
-
3
1
  // Declare namespaces
4
2
  @namespace url('http://www.w3.org/1999/xhtml');
5
3
  @namespace epub url('http://www.idpf.org/2007/ops');
6
4
 
7
5
  // Load vendor libs
8
6
  // https://github.com/modularscale/modularscale-sass
9
- @import '~modularscale-sass';
7
+ @import '~modularscale-sass/stylesheets/_modularscale';
8
+ // @import '../../node_modules/modularscale-sass/stylesheets/_modularscale.scss';
9
+
10
+ // For validation while building on CLI, not used in production
11
+ $build: 'epub' !default;
10
12
 
11
13
  @import 'settings';
12
14
  @import 'mixins';
13
- @import 'debug';
14
15
 
15
16
  // for validation while building on CLI, not an actual setting
16
17
  $build: 'epub' !default;
17
18
 
18
- // Font ratio is set by user, but modular-scale isn't available yet in their
19
- // settings, so we map to values once the lib has loaded
20
- $font-scale: 'fifth' !default;
21
-
22
- $font-ratios: (
23
- 'phi': $phi,
24
- 'golden': $golden,
25
- 'double-octave': $double-octave,
26
- 'major-twelfth': $major-twelfth,
27
- 'major-eleventh': $major-eleventh,
28
- 'major-tenth': $major-tenth,
29
- 'octave': $octave,
30
- 'major-seventh': $major-seventh,
31
- 'minor-seventh': $minor-seventh,
32
- 'major-sixth': $major-sixth,
33
- 'minor-sixth': $minor-sixth,
34
- 'fifth': $fifth,
35
- 'augmented-fourth': $augmented-fourth,
36
- 'fourth': $fourth,
37
- 'major-third': $major-third,
38
- 'minor-third': $minor-third,
39
- 'major-second': $major-second,
40
- 'minor-second': $minor-second,
41
- );
42
-
43
- $font-ratio: map-get($font-ratios, $font-scale);
44
-
45
19
  // Initialize Modular Scale
46
20
  //
47
21
  // @demo http://www.modularscale.com/
48
22
  // @repo https://github.com/modularscale/modularscale-sass
49
23
  $modularscale: (
50
24
  base: $font-size-base,
51
- ratio: $font-ratio,
25
+ ratio: $minor-second,
52
26
  );
53
27
 
54
- @import 'typography/typography';
55
- @import 'layout/layout';
56
-
57
- // base styles
58
- //
59
-
60
- html {
61
- font-size: 156.25%; // 25px
62
- }
63
-
64
- @if $build != 'web' {
65
- html {
66
- font-size: 100%; // 16px
67
- }
68
- body {
69
- padding: 0 one-em(0) * 0.5;
70
- }
71
- }
72
-
73
- @if $build == 'web' {
74
- .publication__contents {
75
- font-size: 80%; // 20px
76
- }
77
- @include break('mobile') {
78
- .publication__contents {
79
- font-size: 68%; // 17px
80
- }
81
- }
82
- }
83
-
84
- @if $build == 'reader' {
85
- #layout {
86
- @include fluid-type($min-width, $max-width, $min-font, $max-font);
87
- }
88
- }
28
+ @import 'typography';
29
+ @import 'layout';
89
30
 
90
- @if $debug == true {
91
- img {
92
- background-color: #dcdcdc;
93
- }
31
+ // Set `$grey-0` in case of e-ink readers
32
+ @if $build == 'mobi' {
33
+ $grey-0: $black;
94
34
  }
@@ -1,5 +1,20 @@
1
+ @use 'sass:math';
2
+
3
+ // Set @page margin for e-readers
4
+ @page {
5
+ margin: em-to-px($font-size-base * 2);
6
+ }
7
+
8
+ html {
9
+ @if $build == 'reader' {
10
+ font-size: 62.5%; // 10px
11
+ } @else {
12
+ font-size: 150%; // 24px
13
+ }
14
+ }
15
+
1
16
  body {
2
- @include type-settings(0);
17
+ @include text-large;
3
18
  @include hyphens;
4
19
  @include widows;
5
20
  @include orphans;
@@ -13,7 +28,7 @@ body {
13
28
 
14
29
  blockquote {
15
30
  @include following-element-has-no-top-padding;
16
- @include padding(1, 1, 1, 1, 0);
31
+ @include padding('text-large', 1, 1, 1, 1);
17
32
  margin: 0;
18
33
  font-size: one-em(0);
19
34
  }
@@ -56,14 +71,14 @@ section.bibliography {
56
71
  margin-bottom: 0;
57
72
  }
58
73
  h3 {
59
- @include type-settings(0);
60
- @include padding(0, 0, 1, 0, 0);
74
+ @include text-large;
75
+ @include padding('text-large', 0, 0, 1, 0);
61
76
  }
62
77
  h1 + .subchapter > h3 {
63
78
  padding-top: 0;
64
79
  }
65
80
  p {
66
- @include padding(0, 0, 1, 0, 0);
81
+ @include padding('text-large', 0, 0, 1, 0);
67
82
  text-indent: 0;
68
83
  }
69
84
  }
@@ -71,7 +86,7 @@ section.bibliography {
71
86
  .audio,
72
87
  .video,
73
88
  .vimeo {
74
- @include padding(1, 1, 1, 1, 0);
89
+ @include padding('text-large', 1, 1, 1, 1);
75
90
  text-align: center;
76
91
  .figure__large & {
77
92
  padding: 0;
@@ -91,7 +106,7 @@ section.bibliography {
91
106
  } @else {
92
107
  width: 80%;
93
108
  }
94
- @include break('mobile') {
109
+ @include break-at('xs') {
95
110
  width: 100%;
96
111
  }
97
112
  margin-left: auto;
@@ -124,15 +139,15 @@ video,
124
139
  // Outer container
125
140
 
126
141
  &.vimeo--4x3 .embed.supported {
127
- padding-top: 3 / 4 * 100%;
142
+ padding-top: math.div(3, 4) * 100%;
128
143
  }
129
144
 
130
145
  &.vimeo--16x9 .embed.supported {
131
- padding-top: 9 / 16 * 100%;
146
+ padding-top: math.div(9, 16) * 100%;
132
147
  }
133
148
 
134
149
  &.vimeo--21x9 .embed.supported {
135
- padding-top: 9 / 21 * 100%;
150
+ padding-top: math.div(9, 21) * 100%;
136
151
  }
137
152
 
138
153
  // Inner container
@@ -159,7 +174,7 @@ video,
159
174
  }
160
175
 
161
176
  aside.note {
162
- @include padding(0, 0, 1, 0, 0);
177
+ @include padding('text-large', 0, 0, 1, 0);
163
178
  text-align: left;
164
179
  margin: 0;
165
180
  p {
@@ -171,7 +186,7 @@ aside.note {
171
186
  }
172
187
 
173
188
  .pullquote {
174
- @include padding(0, 1, 1, 1, 0);
189
+ @include padding('text-large', 0, 1, 1, 1);
175
190
  text-indent: 0;
176
191
  font-size: one-em(0);
177
192
 
@@ -185,7 +200,7 @@ aside.note {
185
200
  }
186
201
 
187
202
  .epigraph & {
188
- @include padding(0, 1, 2, 1, 0);
203
+ @include padding('text-large', 0, 1, 2, 1);
189
204
  float: none;
190
205
  margin-top: 0;
191
206
  }
@@ -217,7 +232,7 @@ section.backmatter {
217
232
 
218
233
  section.staff {
219
234
  h3 {
220
- @include type-settings(-1);
235
+ @include text-medium;
221
236
  text-align: left;
222
237
  margin: 0;
223
238
  padding: 0;
@@ -226,7 +241,7 @@ section.staff {
226
241
  }
227
242
 
228
243
  .masthead h2 {
229
- @include type-settings(-1);
244
+ @include text-medium;
230
245
  font-weight: 700;
231
246
  font-family: inherit;
232
247
  padding-top: 0;
@@ -47,7 +47,7 @@ figure {
47
47
 
48
48
  .figure__large {
49
49
  // Space is added in the event that readers don't respect the page-break atrribute.
50
- @include padding(1, 0, 1, 0, 0);
50
+ @include padding('text-large', 1, 0, 1, 0);
51
51
  page-break-before: always;
52
52
  page-break-after: always;
53
53
  }
@@ -102,7 +102,7 @@ figure {
102
102
  &.figure__small--square,
103
103
  &.figure__small--portrait,
104
104
  &.figure__small--portrait-high {
105
- @include padding(1, 0, 1, 0, 0);
105
+ @include padding('text-large', 1, 0, 1, 0);
106
106
  h1 + & {
107
107
  padding-top: 0;
108
108
  }
@@ -0,0 +1,34 @@
1
+ .break-after {
2
+ @if $build == 'reader' {
3
+ @include break-at('md') {
4
+ // Reader: Chrome & Safari
5
+ break-after: column;
6
+
7
+ // FireFox: TBD.
8
+ // `break`ing in the column context in FireFox is unsupported, so shims
9
+ // will need to be added on a per-project basis until we find a reliable
10
+ // way of dealing with this
11
+ @-moz-document url-prefix() {
12
+ }
13
+ }
14
+ } @else {
15
+ // Epub, Mobi, PDF ...
16
+ page-break-after: always;
17
+ }
18
+ }
19
+
20
+ .break-before {
21
+ @if $build == 'reader' {
22
+ @include break-at('md') {
23
+ // Reader: Chrome & Safari
24
+ break-before: column;
25
+
26
+ // FireFox: TBD.
27
+ @-moz-document url-prefix() {
28
+ }
29
+ }
30
+ } @else {
31
+ // Epub, Mobi, PDF ...
32
+ page-break-before: always;
33
+ }
34
+ }
@@ -1,50 +1,10 @@
1
- // Set @page margin for e-readers
2
- @page {
3
- margin: em-to-px($font-size-base * 2);
4
- }
5
-
6
- @import 'base/container';
7
- @import 'base/figure';
8
- @import 'base/layout';
9
- @import 'base/list';
10
- @import 'base/table';
11
- @import 'base/text';
12
- @import 'base/media';
13
- @import 'base/web'; // conditional styles
14
- @import 'base/reader'; // conditional styles
15
- @import 'base/print'; // for print views and PDF generation
16
-
17
- .break-after {
18
- @if $build == 'reader' {
19
- @include break('desktop') {
20
- // Reader: Chrome & Safari
21
- break-after: column;
22
-
23
- // FireFox: TBD.
24
- // `break`ing in the column context in FireFox is unsupported, so shims
25
- // will need to be added on a per-project basis until we find a reliable
26
- // way of dealing with this
27
- @-moz-document url-prefix() {
28
- }
29
- }
30
- } @else {
31
- // Epub, Mobi, PDF ...
32
- page-break-after: always;
33
- }
34
- }
35
-
36
- .break-before {
37
- @if $build == 'reader' {
38
- @include break('desktop') {
39
- // Reader: Chrome & Safari
40
- break-before: column;
41
-
42
- // FireFox: TBD.
43
- @-moz-document url-prefix() {
44
- }
45
- }
46
- } @else {
47
- // Epub, Mobi, PDF ...
48
- page-break-before: always;
49
- }
1
+ hr {
2
+ @include following-paragraph-not-indented;
3
+ @include following-element-has-no-top-padding;
4
+ width: 25%;
5
+ background-color: $grey;
6
+ padding: 0;
7
+ margin: one-line(0) auto;
8
+ height: 1px;
9
+ border: 0;
50
10
  }
@@ -1,5 +1,5 @@
1
1
  ul {
2
- @include type-settings(-2);
2
+ @include text-small;
3
3
  padding: one-line(-2) 0 one-line(-2) two-ems(0);
4
4
  @include following-element-has-no-top-padding; // sass-lint:disable-line mixins-before-declarations
5
5
  list-style: disc;
@@ -31,14 +31,14 @@ ul {
31
31
  }
32
32
 
33
33
  * {
34
- @include type-settings(0);
34
+ @include text-large;
35
35
  line-height: line-height(ms(-2));
36
36
  }
37
37
  }
38
38
 
39
39
  ol,
40
40
  dl {
41
- @include type-settings(-2);
41
+ @include text-small;
42
42
  padding: one-line(-2) 0 one-line(-2) two-ems(0);
43
43
  @include following-element-has-no-top-padding; // sass-lint:disable-line mixins-before-declarations
44
44
  list-style: decimal;
@@ -66,7 +66,7 @@ dl {
66
66
  section.colophon &,
67
67
  section.appendix &,
68
68
  section.backmatter & {
69
- @include padding(0, 1, 0, 1, -1);
69
+ @include padding('text-medium', 0, 1, 0, 1);
70
70
  li {
71
71
  @include following-paragraph-not-indented;
72
72
  font-weight: normal;
@@ -76,7 +76,7 @@ dl {
76
76
  }
77
77
 
78
78
  * {
79
- @include type-settings(0);
79
+ @include text-large;
80
80
  line-height: line-height(ms(-2));
81
81
  }
82
82
  }
File without changes
File without changes
@@ -39,10 +39,9 @@
39
39
 
40
40
  // Gallery Styling This sets up a layout for galleries that contains 12
41
41
  // columns and two rows by default and is responsive.
42
-
43
42
  section.gallery .figure__gallery {
44
43
  .figure__items {
45
- @include grid-layout;
44
+ // @include grid-layout;
46
45
  width: 85vw;
47
46
  height: 75vh;
48
47
  margin-top: 75px;
@@ -54,7 +53,7 @@
54
53
  }
55
54
 
56
55
  // Mobile Overrides for Fullbleed, spreads, and galleries.
57
- @include break('mobile') {
56
+ @include break-at('xs') {
58
57
  // Gallery
59
58
  section.gallery .figure__gallery .figure__items {
60
59
  margin-top: 0;
@@ -3,7 +3,7 @@
3
3
  }
4
4
 
5
5
  table {
6
- @include type-settings(-6);
6
+ @include table-text;
7
7
  page-break-inside: avoid;
8
8
  border-collapse: collapse;
9
9
  border-spacing: 0;
@@ -16,7 +16,7 @@ table {
16
16
  }
17
17
  th,
18
18
  td {
19
- @include type-settings(0);
19
+ @include text-large;
20
20
  font-family: $sans;
21
21
  text-align: left;
22
22
  padding: one-em(0);