asciidoctor-epub3 2.1.3 → 2.3.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.adoc +20 -0
- data/Gemfile +0 -8
- data/README.adoc +11 -8
- data/asciidoctor-epub3.gemspec +21 -21
- data/data/fonts/awesome/LICENSE.txt +135 -4
- data/data/fonts/awesome/fa-solid-900.ttf +0 -0
- data/data/fonts/awesome/icons.yml +35962 -12381
- data/data/fonts/awesome/shims.yml +449 -101
- data/data/styles/_colors.scss +2 -0
- data/data/styles/_reset.scss +2 -0
- data/data/styles/epub3-css3-only.scss +5 -3
- data/data/styles/epub3-fonts.scss +5 -3
- data/data/styles/epub3.scss +374 -323
- data/lib/asciidoctor-epub3/converter.rb +48 -24
- data/lib/asciidoctor-epub3/ext/core/file.rb +1 -1
- data/lib/asciidoctor-epub3/version.rb +1 -1
- metadata +131 -56
data/data/styles/epub3.scss
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
@charset "UTF-8";
|
2
|
+
|
1
3
|
@import "reset";
|
2
4
|
@import "colors";
|
3
5
|
@import url("epub3-fonts.css");
|
@@ -70,7 +72,7 @@ kbd {
|
|
70
72
|
|
71
73
|
.menuseq .caret {
|
72
74
|
/*
|
73
|
-
font-family: "
|
75
|
+
font-family: "Font Awesome 6 Free Solid", monospace;
|
74
76
|
font-size: 0.7em;
|
75
77
|
line-height: 1;
|
76
78
|
font-weight: bold;
|
@@ -85,7 +87,7 @@ kbd {
|
|
85
87
|
}
|
86
88
|
|
87
89
|
.menuseq .caret::before {
|
88
|
-
font-family: "
|
90
|
+
font-family: "Font Awesome 6 Free Solid", monospace;
|
89
91
|
content: "\f054";
|
90
92
|
font-size: 0.6em;
|
91
93
|
vertical-align: 0.15em;
|
@@ -119,7 +121,7 @@ sup {
|
|
119
121
|
/*
|
120
122
|
display: inline-block;
|
121
123
|
vertical-align: text-top;
|
122
|
-
padding-top: .25em;
|
124
|
+
padding-top: 0.25em;
|
123
125
|
*/
|
124
126
|
/* alternate approach #2 */
|
125
127
|
line-height: 1;
|
@@ -136,38 +138,13 @@ sub {
|
|
136
138
|
/*
|
137
139
|
display: inline-block;
|
138
140
|
vertical-align: text-bottom;
|
139
|
-
padding-bottom: .5em;
|
141
|
+
padding-bottom: 0.5em;
|
140
142
|
*/
|
141
143
|
/* alternate approach #2 */
|
142
144
|
line-height: 1;
|
143
145
|
vertical-align: text-bottom;
|
144
146
|
}
|
145
147
|
|
146
|
-
/* We need to apply text-align to <p> too in order to override global text-align:justify */
|
147
|
-
th.halign-left, td.halign-left, th.halign-left > p, td.halign-left > p {
|
148
|
-
text-align: left
|
149
|
-
}
|
150
|
-
|
151
|
-
th.halign-right, td.halign-right, th.halign-right > p, td.halign-right > p {
|
152
|
-
text-align: right
|
153
|
-
}
|
154
|
-
|
155
|
-
th.halign-center, td.halign-center, th.halign-center > p, td.halign-center > p {
|
156
|
-
text-align: center
|
157
|
-
}
|
158
|
-
|
159
|
-
th.valign-top, td.valign-top, th.valign-top > p, td.valign-top > p {
|
160
|
-
vertical-align: top
|
161
|
-
}
|
162
|
-
|
163
|
-
th.valign-bottom, td.valign-bottom, th.valign-bottom > p, td.valign-bottom > p {
|
164
|
-
vertical-align: bottom
|
165
|
-
}
|
166
|
-
|
167
|
-
th.valign-middle, td.valign-middle, th.valign-middle > p, td.valign-middle > p {
|
168
|
-
vertical-align: middle
|
169
|
-
}
|
170
|
-
|
171
148
|
body a:link {
|
172
149
|
/* Kindle requires the !important on text-decoration */
|
173
150
|
/* In night mode, the only indicator of a link is the underline, so we need it or a background image */
|
@@ -218,10 +195,19 @@ body p {
|
|
218
195
|
orphans: 2;
|
219
196
|
}
|
220
197
|
|
198
|
+
th, td {
|
199
|
+
/* forward-compatible CSS to enable kerning (if we want ligatures, add "liga" and "dlig") */
|
200
|
+
/* WebKits that don't recognize these properties don't kern well, hence why we don't simply enable kerning via text-rendering */
|
201
|
+
-webkit-font-feature-settings: "kern";
|
202
|
+
font-feature-settings: "kern";
|
203
|
+
font-kerning: normal;
|
204
|
+
/* NOTE see Kindle hack in epub3-css3-only.css for additional kerning settings (disabled) */
|
205
|
+
}
|
206
|
+
|
221
207
|
body p,
|
222
208
|
ul, ol, li, dl, dt, dd, footer,
|
223
209
|
div.verse .attribution, table.table th, table.table td,
|
224
|
-
figcaption, caption {
|
210
|
+
figcaption, caption, div.example-title {
|
225
211
|
/* NOTE iBooks will forcefully override font-family of text inside div, p and span elements when font other than Original is selected */
|
226
212
|
/* NOTE iBooks honors Original font for prose text if declared in display-options.xml */
|
227
213
|
font-family: "Noto Serif", serif;
|
@@ -240,7 +226,7 @@ code, kbd, pre {
|
|
240
226
|
/* QUESTION should we kern preformatted text blocks? */
|
241
227
|
h1, h2, h3, h4, h5, h6,
|
242
228
|
body p, li, dd, blockquote > footer,
|
243
|
-
|
229
|
+
figcaption, caption {
|
244
230
|
/* forward-compatible CSS to enable kerning (if we want ligatures, add "liga" and "dlig") */
|
245
231
|
/* WebKits that don't recognize these properties don't kern well, hence why we don't simply enable kerning via text-rendering */
|
246
232
|
-webkit-font-feature-settings: "kern";
|
@@ -252,7 +238,7 @@ th, td, figcaption, caption {
|
|
252
238
|
p.last::after {
|
253
239
|
color: $last-mark-text;
|
254
240
|
display: inline-block;
|
255
|
-
font-family: "
|
241
|
+
font-family: "Font Awesome 6 Free Solid", monospace;
|
256
242
|
font-size: 1em;
|
257
243
|
content: "\f121"; /* i.e., </> */
|
258
244
|
margin-left: 0.25em;
|
@@ -263,6 +249,58 @@ ul li, ol li {
|
|
263
249
|
margin-top: 0.4em;
|
264
250
|
}
|
265
251
|
|
252
|
+
ul {
|
253
|
+
/* QUESTION do we need important here? */
|
254
|
+
margin-left: 1em !important;
|
255
|
+
|
256
|
+
> li::before {
|
257
|
+
float: left;
|
258
|
+
margin-left: -1em;
|
259
|
+
margin-top: -0.05em;
|
260
|
+
padding-left: 0.25em;
|
261
|
+
/* guarantee it's out of the flow */
|
262
|
+
width: 0;
|
263
|
+
display: block;
|
264
|
+
|
265
|
+
content: "▪";
|
266
|
+
color: $list-lvl1;
|
267
|
+
}
|
268
|
+
|
269
|
+
ul {
|
270
|
+
> li::before {
|
271
|
+
content: "◦";
|
272
|
+
color: $list-lvl2;
|
273
|
+
}
|
274
|
+
|
275
|
+
ul {
|
276
|
+
> li::before {
|
277
|
+
content: "•";
|
278
|
+
color: $list-lvl3;
|
279
|
+
}
|
280
|
+
|
281
|
+
ul {
|
282
|
+
> li::before {
|
283
|
+
content: "▫";
|
284
|
+
color: $list-lvl4;
|
285
|
+
}
|
286
|
+
}
|
287
|
+
}
|
288
|
+
}
|
289
|
+
}
|
290
|
+
|
291
|
+
ol {
|
292
|
+
list-style-type: decimal;
|
293
|
+
margin-left: 1.75em !important;
|
294
|
+
|
295
|
+
ol {
|
296
|
+
list-style-type: lower-alpha;
|
297
|
+
|
298
|
+
ol {
|
299
|
+
list-style-type: lower-roman;
|
300
|
+
}
|
301
|
+
}
|
302
|
+
}
|
303
|
+
|
266
304
|
/* use paragraph-size gaps between list items */
|
267
305
|
.complex > ul > li,
|
268
306
|
.complex > ol > li {
|
@@ -274,10 +312,11 @@ dt {
|
|
274
312
|
page-break-inside: avoid;
|
275
313
|
-webkit-column-break-after: avoid;
|
276
314
|
page-break-after: avoid;
|
315
|
+
margin-top: 0.75em; /* balances 0.25em to term */
|
277
316
|
}
|
278
317
|
|
279
318
|
dt > span.term {
|
280
|
-
font-
|
319
|
+
font-weight: bold;
|
281
320
|
}
|
282
321
|
|
283
322
|
/*
|
@@ -286,15 +325,6 @@ dt > span.term > code.literal {
|
|
286
325
|
}
|
287
326
|
*/
|
288
327
|
|
289
|
-
dt {
|
290
|
-
margin-top: 0.75em; /* balances 0.25em to term */
|
291
|
-
}
|
292
|
-
|
293
|
-
dl dd {
|
294
|
-
/* minimum margin in case there is no paragraph content */
|
295
|
-
margin-top: 0.25em;
|
296
|
-
}
|
297
|
-
|
298
328
|
td.hdlist1 {
|
299
329
|
font-weight: bold;
|
300
330
|
padding-right: 0.625em;
|
@@ -333,6 +363,16 @@ div.callout-list li > i.conum {
|
|
333
363
|
width: 1.25em;
|
334
364
|
}
|
335
365
|
|
366
|
+
div.example-title {
|
367
|
+
margin-top: 1em;
|
368
|
+
}
|
369
|
+
|
370
|
+
.example-content > * {
|
371
|
+
margin-top: 0.25em;
|
372
|
+
border: 1px solid $aside-border;
|
373
|
+
padding: 0.25em;
|
374
|
+
}
|
375
|
+
|
336
376
|
div.itemized-list, div.ordered-list, div.description-list {
|
337
377
|
margin-top: 1em;
|
338
378
|
padding-bottom: 0.25em; /* REVIEW maybe, maybe not */
|
@@ -353,7 +393,7 @@ div.description-list div.ordered-list,
|
|
353
393
|
div.description-list div.description-list {
|
354
394
|
}*/
|
355
395
|
|
356
|
-
|
396
|
+
div.list-heading {
|
357
397
|
font-size: 1em;
|
358
398
|
font-family: "Noto Serif", serif;
|
359
399
|
font-weight: bold;
|
@@ -368,74 +408,55 @@ div.stack-subject li strong.subject {
|
|
368
408
|
display: block;
|
369
409
|
}
|
370
410
|
|
371
|
-
ul {
|
372
|
-
/* QUESTION do we need important here? */
|
373
|
-
margin-left: 1em !important;
|
374
|
-
|
375
|
-
> li::before {
|
376
|
-
float: left;
|
377
|
-
margin-left: -1em;
|
378
|
-
margin-top: -0.05em;
|
379
|
-
padding-left: 0.25em;
|
380
|
-
/* guarantee it's out of the flow */
|
381
|
-
width: 0;
|
382
|
-
display: block;
|
383
|
-
|
384
|
-
content: "▪";
|
385
|
-
color: $list-lvl1;
|
386
|
-
}
|
387
|
-
|
388
|
-
ul {
|
389
|
-
> li::before {
|
390
|
-
content: "◦";
|
391
|
-
color: $list-lvl2;
|
392
|
-
}
|
393
|
-
|
394
|
-
ul {
|
395
|
-
> li::before {
|
396
|
-
content: "•";
|
397
|
-
color: $list-lvl3;
|
398
|
-
}
|
399
|
-
|
400
|
-
ul {
|
401
|
-
> li::before {
|
402
|
-
content: "▫";
|
403
|
-
color: $list-lvl4;
|
404
|
-
}
|
405
|
-
}
|
406
|
-
}
|
407
|
-
}
|
408
|
-
}
|
409
|
-
|
410
|
-
ol {
|
411
|
-
list-style-type: decimal;
|
412
|
-
margin-left: 1.75em !important;
|
413
|
-
|
414
|
-
ol {
|
415
|
-
list-style-type: lower-alpha;
|
416
|
-
|
417
|
-
ol {
|
418
|
-
list-style-type: lower-roman;
|
419
|
-
}
|
420
|
-
}
|
421
|
-
}
|
422
|
-
|
423
411
|
/* REVIEW */
|
424
412
|
dd {
|
425
413
|
margin-left: 1.5rem !important;
|
426
414
|
}
|
427
415
|
|
416
|
+
dl dd {
|
417
|
+
/* minimum margin in case there is no paragraph content */
|
418
|
+
margin-top: 0.25em;
|
419
|
+
}
|
420
|
+
|
428
421
|
/* Kindle does not justify list-item element, must wrap in nested block element */
|
429
422
|
li > span.principal, dd > span.principal {
|
430
423
|
display: block;
|
431
424
|
text-align: justify;
|
432
425
|
}
|
433
426
|
|
427
|
+
ol.arabic {
|
428
|
+
list-style-type: decimal
|
429
|
+
}
|
430
|
+
|
434
431
|
ol.brief > li > span.principal,
|
435
432
|
ul.brief > li > span.principal {
|
436
433
|
text-align: left;
|
437
434
|
}
|
438
435
|
|
436
|
+
ol.decimal {
|
437
|
+
list-style-type: decimal-leading-zero
|
438
|
+
}
|
439
|
+
|
440
|
+
ol.loweralpha {
|
441
|
+
list-style-type: lower-alpha
|
442
|
+
}
|
443
|
+
|
444
|
+
ol.lowergreek {
|
445
|
+
list-style-type: lower-greek
|
446
|
+
}
|
447
|
+
|
448
|
+
ol.lowerroman {
|
449
|
+
list-style-type: lower-roman
|
450
|
+
}
|
451
|
+
|
452
|
+
ol.upperalpha {
|
453
|
+
list-style-type: upper-alpha
|
454
|
+
}
|
455
|
+
|
456
|
+
ol.upperroman {
|
457
|
+
list-style-type: upper-roman
|
458
|
+
}
|
459
|
+
|
439
460
|
/* REVIEW still considering keeping this one */
|
440
461
|
/* disable justify within a link */
|
441
462
|
/*
|
@@ -456,6 +477,16 @@ ul.references > li > span.principal {
|
|
456
477
|
text-align: left;
|
457
478
|
}
|
458
479
|
|
480
|
+
figure.image {
|
481
|
+
-webkit-column-break-inside: avoid;
|
482
|
+
page-break-inside: avoid;
|
483
|
+
}
|
484
|
+
|
485
|
+
figure.image img {
|
486
|
+
display: block;
|
487
|
+
margin: 0 auto;
|
488
|
+
}
|
489
|
+
|
459
490
|
/* sized based on the major third modular scale (4:5, 16px, 24px) */
|
460
491
|
h1, h2 {
|
461
492
|
font-size: 1.5em;
|
@@ -474,12 +505,15 @@ h4 {
|
|
474
505
|
color: $h4-header-text;
|
475
506
|
font-weight: 200;
|
476
507
|
|
477
|
-
|
478
|
-
|
479
|
-
margin-
|
508
|
+
/* Removed due to multiple definitions, assuming only the last one will be considered by interpreters */
|
509
|
+
/* font-size: 1.1em; */
|
510
|
+
/* margin-top: 1em; */
|
511
|
+
/* 1.1rem */
|
512
|
+
/* margin-bottom: -0.818em; */
|
513
|
+
/* -0.9rem, 0.1rem to content */
|
480
514
|
|
481
515
|
font-size: 1.2em;
|
482
|
-
margin-top: .917em; /* 1.1rem */
|
516
|
+
margin-top: 0.917em; /* 1.1rem */
|
483
517
|
margin-top: 0.875em; /* 1.05rem */
|
484
518
|
/*margin-bottom: -0.75em;*/
|
485
519
|
/* -0.9rem, 0.1rem to content */
|
@@ -579,88 +613,218 @@ h1.chapter-title b {
|
|
579
613
|
width: 2em !important;
|
580
614
|
}
|
581
615
|
|
582
|
-
div.
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
div.abstract > p {
|
587
|
-
color: $abstract-text;
|
588
|
-
font-size: 1.05em; /* or 1.1em? */
|
589
|
-
line-height: 1.75;
|
616
|
+
div.blockquote {
|
617
|
+
padding: 0 1em;
|
618
|
+
margin: 1.25em auto;
|
590
619
|
}
|
591
620
|
|
592
|
-
|
593
|
-
|
594
|
-
|
595
|
-
font-feature-settings: "kern" off;
|
596
|
-
font-kerning: none;
|
597
|
-
/* and for Kindle... */
|
598
|
-
text-rendering: optimizeSpeed;
|
621
|
+
/* display: table causes quotes to be repeated in Aldiko, so we hide this part */
|
622
|
+
div[class~="blockquote"] {
|
623
|
+
display: table;
|
599
624
|
}
|
600
625
|
|
601
|
-
|
602
|
-
|
626
|
+
blockquote > p {
|
627
|
+
color: $blockquote-text;
|
603
628
|
font-style: italic;
|
604
|
-
}
|
605
629
|
|
606
|
-
|
607
|
-
font-size: 1.
|
630
|
+
/*
|
631
|
+
font-size: 1.2em;
|
632
|
+
word-spacing: 0.1em;
|
633
|
+
*/
|
634
|
+
|
635
|
+
font-size: 1.15em;
|
636
|
+
word-spacing: 0.1em;
|
637
|
+
|
638
|
+
margin-top: 0;
|
608
639
|
line-height: 1.75;
|
609
640
|
}
|
610
641
|
|
611
|
-
|
612
|
-
display:
|
613
|
-
|
642
|
+
blockquote > p:first-of-type::before {
|
643
|
+
display: inline-block;
|
644
|
+
color: $para-first-text;
|
645
|
+
text-shadow: 0 1px 2px rgba(102, 102, 101, 0.3);
|
614
646
|
|
615
|
-
|
616
|
-
|
617
|
-
}
|
647
|
+
/* using serif quote from entypo */
|
648
|
+
font-family: "FontIcons", monospace;
|
618
649
|
|
619
|
-
/*
|
620
|
-
|
621
|
-
|
622
|
-
|
650
|
+
/*content: "\f10e";*/
|
651
|
+
/* quote-right from Entypo */
|
652
|
+
/*
|
653
|
+
-webkit-transform: rotate(180deg);
|
654
|
+
transform: rotate(180deg);
|
655
|
+
padding-left: 0.3em;
|
656
|
+
padding-right: 0.2em;
|
657
|
+
*/
|
623
658
|
|
624
|
-
|
625
|
-
|
626
|
-
|
659
|
+
content: "\f10d"; /* quote-left, a flipped version of the quote-right from Entypo */
|
660
|
+
padding-right: 0.5em;
|
661
|
+
font-size: 1.5em;
|
662
|
+
line-height: 1.3;
|
663
|
+
margin-top: -0.5em;
|
664
|
+
vertical-align: text-bottom;
|
627
665
|
}
|
628
666
|
|
629
|
-
|
667
|
+
blockquote footer {
|
630
668
|
font-size: 0.9em;
|
669
|
+
font-style: italic;
|
670
|
+
|
671
|
+
margin-top: 0.5rem;
|
672
|
+
text-align: right;
|
631
673
|
}
|
632
674
|
|
633
|
-
|
634
|
-
|
635
|
-
|
675
|
+
blockquote footer .context {
|
676
|
+
font-size: 0.9em;
|
677
|
+
letter-spacing: -0.05em;
|
678
|
+
color: $footer-context;
|
636
679
|
}
|
637
680
|
|
638
|
-
|
639
|
-
|
681
|
+
pre {
|
682
|
+
text-align: left; /* fix for Namo */
|
683
|
+
margin-top: 1em; /* 0.85rem */
|
684
|
+
/*margin-top: 1.176em;*/
|
685
|
+
/* 1rem */
|
686
|
+
white-space: pre-wrap;
|
687
|
+
overflow-wrap: break-word; /* break in middle of long word if no other break opportunities are available */
|
688
|
+
font-size: 0.85em;
|
689
|
+
line-height: 1.4; /* matches what Kindle uses and can't go less */
|
690
|
+
background-color: $pre-background;
|
691
|
+
padding: 8px 12px; /* this is supposed to be '0.5rem 0.75rem' but Sony Readers crash when see that (at least, PRS-350, PRS-505, PRS-T1) */
|
692
|
+
border-top: 1px solid $pre-border;
|
693
|
+
border-right: 1px solid $pre-border;
|
694
|
+
}
|
695
|
+
|
696
|
+
/* TODO what we really want is for pre w/o caption to be unbreakable */
|
697
|
+
pre.screen {
|
698
|
+
/*
|
640
699
|
-webkit-column-break-inside: avoid;
|
641
700
|
page-break-inside: avoid;
|
642
|
-
|
643
|
-
|
701
|
+
*/
|
702
|
+
orphans: 3;
|
703
|
+
widows: 3; /* widows doesn't seem to work here */
|
644
704
|
}
|
645
|
-
*/
|
646
705
|
|
647
|
-
|
706
|
+
pre.source {
|
707
|
+
orphans: 3;
|
708
|
+
widows: 3; /* widows doesn't seem to work here */
|
709
|
+
}
|
710
|
+
|
711
|
+
div.abstract {
|
712
|
+
margin: 5% 1.5em 2.5em 1.5em;
|
713
|
+
}
|
714
|
+
|
715
|
+
div.abstract > p {
|
716
|
+
color: $abstract-text;
|
717
|
+
font-size: 1.05em; /* or 1.1em? */
|
718
|
+
line-height: 1.75;
|
719
|
+
}
|
720
|
+
|
721
|
+
div.abstract > p:first-child::first-line {
|
722
|
+
font-weight: bold;
|
723
|
+
-webkit-font-feature-settings: "kern" off;
|
724
|
+
font-feature-settings: "kern" off;
|
725
|
+
font-kerning: none;
|
726
|
+
/* and for Kindle... */
|
727
|
+
text-rendering: optimizeSpeed;
|
728
|
+
}
|
729
|
+
|
730
|
+
div.abstract p strong {
|
731
|
+
font-weight: inherit;
|
732
|
+
font-style: italic;
|
733
|
+
}
|
734
|
+
|
735
|
+
p.lead {
|
736
|
+
font-size: 1.05em;
|
737
|
+
line-height: 1.75;
|
738
|
+
}
|
739
|
+
|
740
|
+
hr.thematicbreak {
|
741
|
+
display: none;
|
742
|
+
}
|
743
|
+
|
744
|
+
hr.thematicbreak + p {
|
745
|
+
margin-top: 1.5em;
|
746
|
+
}
|
747
|
+
|
748
|
+
/* TODO finish layout of first-letter */
|
749
|
+
hr.thematicbreak + p::first-letter {
|
750
|
+
font-size: 200%;
|
751
|
+
}
|
752
|
+
|
753
|
+
p.stack > strong.head,
|
754
|
+
p.stack-head > strong.head {
|
755
|
+
display: block;
|
756
|
+
}
|
757
|
+
|
758
|
+
p.signature {
|
759
|
+
font-size: 0.9em;
|
760
|
+
}
|
761
|
+
|
762
|
+
/* We need to apply text-align to <p> too in order to override global text-align:justify */
|
763
|
+
th.halign-left, td.halign-left, th.halign-left > p, td.halign-left > p {
|
764
|
+
text-align: left;
|
765
|
+
}
|
766
|
+
|
767
|
+
th.halign-right, td.halign-right, th.halign-right > p, td.halign-right > p {
|
768
|
+
text-align: right;
|
769
|
+
}
|
770
|
+
|
771
|
+
th.halign-center, td.halign-center, th.halign-center > p, td.halign-center > p {
|
772
|
+
text-align: center;
|
773
|
+
}
|
774
|
+
|
775
|
+
th.valign-top, td.valign-top, th.valign-top > p, td.valign-top > p {
|
776
|
+
vertical-align: top;
|
777
|
+
}
|
778
|
+
|
779
|
+
th.valign-bottom, td.valign-bottom, th.valign-bottom > p, td.valign-bottom > p {
|
780
|
+
vertical-align: bottom;
|
781
|
+
}
|
782
|
+
|
783
|
+
th.valign-middle, td.valign-middle, th.valign-middle > p, td.valign-middle > p {
|
784
|
+
vertical-align: middle;
|
785
|
+
}
|
786
|
+
|
787
|
+
div.verse {
|
648
788
|
-webkit-column-break-inside: avoid;
|
649
789
|
page-break-inside: avoid;
|
650
790
|
}
|
651
791
|
|
652
|
-
|
792
|
+
/* TODO we may want to reenable hyphens here */
|
793
|
+
div.verse > pre {
|
794
|
+
font-family: "M+ 1p", sans-serif;
|
795
|
+
background-color: transparent;
|
796
|
+
border: none;
|
797
|
+
font-size: 1.2em;
|
798
|
+
text-align: center;
|
799
|
+
}
|
800
|
+
|
801
|
+
div.verse .attribution {
|
653
802
|
display: block;
|
654
|
-
margin:
|
803
|
+
margin-top: 1.4em;
|
655
804
|
}
|
656
805
|
|
806
|
+
figure,
|
807
|
+
aside.sidebar {
|
808
|
+
margin-top: 1em;
|
809
|
+
}
|
810
|
+
|
811
|
+
/*
|
812
|
+
aside.sidebar {
|
813
|
+
-webkit-column-break-inside: avoid;
|
814
|
+
page-break-inside: avoid;
|
815
|
+
float: left;
|
816
|
+
margin-bottom: 1em;
|
817
|
+
}
|
818
|
+
*/
|
819
|
+
|
657
820
|
figure.coalesce {
|
658
821
|
-webkit-column-break-inside: avoid;
|
659
822
|
page-break-inside: avoid;
|
660
823
|
}
|
661
824
|
|
662
825
|
figcaption,
|
663
|
-
caption
|
826
|
+
caption,
|
827
|
+
div.example-title {
|
664
828
|
font-size: 0.9em;
|
665
829
|
font-style: italic;
|
666
830
|
color: $caption-text;
|
@@ -678,6 +842,7 @@ figure.image figcaption {
|
|
678
842
|
margin-top: 0.2em;
|
679
843
|
-webkit-column-break-after: auto;
|
680
844
|
page-break-after: auto;
|
845
|
+
text-align: center;
|
681
846
|
}
|
682
847
|
|
683
848
|
p + figure.listing,
|
@@ -722,7 +887,7 @@ aside.sidebar > h2 {
|
|
722
887
|
display: inline-block;
|
723
888
|
white-space: nowrap; /* for some reason it's wrapping prematurely */
|
724
889
|
border: 1px solid $aside-border;
|
725
|
-
padding: 1.5em .75em .5em .75em;
|
890
|
+
padding: 1.5em 0.75em 0.5em 0.75em;
|
726
891
|
margin: -1em 0.5em -0.25em 0.5em;
|
727
892
|
background-color: $body-background;
|
728
893
|
/*
|
@@ -741,120 +906,6 @@ aside.sidebar > div.content > div.itemized-list > ul {
|
|
741
906
|
margin-left: 0.5em !important;
|
742
907
|
}
|
743
908
|
|
744
|
-
div.blockquote {
|
745
|
-
padding: 0 1em;
|
746
|
-
margin: 1.25em auto;
|
747
|
-
}
|
748
|
-
|
749
|
-
/* display: table causes quotes to be repeated in Aldiko, so we hide this part */
|
750
|
-
div[class~="blockquote"] {
|
751
|
-
display: table;
|
752
|
-
}
|
753
|
-
|
754
|
-
blockquote > p {
|
755
|
-
color: $blockquote-text;
|
756
|
-
font-style: italic;
|
757
|
-
|
758
|
-
/*
|
759
|
-
font-size: 1.2em;
|
760
|
-
word-spacing: 0.1em;
|
761
|
-
*/
|
762
|
-
|
763
|
-
font-size: 1.15em;
|
764
|
-
word-spacing: 0.1em;
|
765
|
-
|
766
|
-
margin-top: 0;
|
767
|
-
line-height: 1.75;
|
768
|
-
}
|
769
|
-
|
770
|
-
blockquote > p:first-of-type::before {
|
771
|
-
display: inline-block;
|
772
|
-
color: $para-first-text;
|
773
|
-
text-shadow: 0 1px 2px rgba(102, 102, 101, 0.3);
|
774
|
-
|
775
|
-
/* using serif quote from entypo */
|
776
|
-
font-family: "FontIcons";
|
777
|
-
|
778
|
-
/*content: "\f10e";*/
|
779
|
-
/* quote-right from Entypo */
|
780
|
-
/*
|
781
|
-
-webkit-transform: rotate(180deg);
|
782
|
-
transform: rotate(180deg);
|
783
|
-
padding-left: .3em;
|
784
|
-
padding-right: .2em;
|
785
|
-
*/
|
786
|
-
|
787
|
-
content: "\f10d"; /* quote-left, a flipped version of the quote-right from Entypo */
|
788
|
-
padding-right: .5em;
|
789
|
-
font-size: 1.5em;
|
790
|
-
line-height: 1.3;
|
791
|
-
margin-top: -0.5em;
|
792
|
-
vertical-align: text-bottom;
|
793
|
-
}
|
794
|
-
|
795
|
-
blockquote footer {
|
796
|
-
font-size: 0.9em;
|
797
|
-
font-style: italic;
|
798
|
-
|
799
|
-
margin-top: 0.5rem;
|
800
|
-
text-align: right;
|
801
|
-
}
|
802
|
-
|
803
|
-
blockquote footer .context {
|
804
|
-
font-size: 0.9em;
|
805
|
-
letter-spacing: -0.05em;
|
806
|
-
color: $footer-context;
|
807
|
-
}
|
808
|
-
|
809
|
-
pre {
|
810
|
-
text-align: left; /* fix for Namo */
|
811
|
-
margin-top: 1em; /* 0.85rem */
|
812
|
-
/*margin-top: 1.176em;*/
|
813
|
-
/* 1rem */
|
814
|
-
white-space: pre-wrap;
|
815
|
-
overflow-wrap: break-word; /* break in middle of long word if no other break opportunities are available */
|
816
|
-
font-size: 0.85em;
|
817
|
-
line-height: 1.4; /* matches what Kindle uses and can't go less */
|
818
|
-
background-color: $pre-background;
|
819
|
-
padding: 8px 12px; /* this is supposed to be '0.5rem 0.75rem' but Sony Readers crash when see that (at least, PRS-350, PRS-505, PRS-T1) */
|
820
|
-
border-top: 1px solid $pre-border;
|
821
|
-
border-right: 1px solid $pre-border;
|
822
|
-
}
|
823
|
-
|
824
|
-
/* TODO what we really want is for pre w/o caption to be unbreakable */
|
825
|
-
pre.screen {
|
826
|
-
/*
|
827
|
-
-webkit-column-break-inside: avoid;
|
828
|
-
page-break-inside: avoid;
|
829
|
-
*/
|
830
|
-
orphans: 3;
|
831
|
-
widows: 3; /* widows doesn't seem to work here */
|
832
|
-
}
|
833
|
-
|
834
|
-
pre.source {
|
835
|
-
orphans: 3;
|
836
|
-
widows: 3; /* widows doesn't seem to work here */
|
837
|
-
}
|
838
|
-
|
839
|
-
div.verse {
|
840
|
-
-webkit-column-break-inside: avoid;
|
841
|
-
page-break-inside: avoid;
|
842
|
-
}
|
843
|
-
|
844
|
-
/* TODO we may want to reenable hyphens here */
|
845
|
-
div.verse > pre {
|
846
|
-
font-family: "M+ 1p", sans-serif;
|
847
|
-
background-color: transparent;
|
848
|
-
border: none;
|
849
|
-
font-size: 1.2em;
|
850
|
-
text-align: center;
|
851
|
-
}
|
852
|
-
|
853
|
-
div.verse .attribution {
|
854
|
-
display: block;
|
855
|
-
margin-top: 1.4em;
|
856
|
-
}
|
857
|
-
|
858
909
|
aside.admonition {
|
859
910
|
margin-top: 1em;
|
860
911
|
padding: 1em;
|
@@ -898,7 +949,7 @@ aside.important {
|
|
898
949
|
|
899
950
|
aside.admonition::before {
|
900
951
|
display: block;
|
901
|
-
font-family: "
|
952
|
+
font-family: "Font Awesome 6 Free Solid", monospace;
|
902
953
|
font-size: 2em;
|
903
954
|
line-height: 1;
|
904
955
|
width: 1em;
|
@@ -989,6 +1040,27 @@ aside[class~="admonition"] > h2 {
|
|
989
1040
|
margin-bottom: 0;
|
990
1041
|
}
|
991
1042
|
|
1043
|
+
div.footnotes {
|
1044
|
+
margin-top: 1em;
|
1045
|
+
}
|
1046
|
+
|
1047
|
+
div.footnotes p {
|
1048
|
+
font-size: 0.8rem;
|
1049
|
+
margin-top: 0.4rem;
|
1050
|
+
}
|
1051
|
+
|
1052
|
+
div.footnotes sup.noteref {
|
1053
|
+
font-weight: bold;
|
1054
|
+
font-size: 0.9em;
|
1055
|
+
}
|
1056
|
+
|
1057
|
+
/*div.footnotes sup.noteref a {*/
|
1058
|
+
sup.noteref a {
|
1059
|
+
/* Kindle wants to underline these links */
|
1060
|
+
text-decoration: none !important;
|
1061
|
+
background-image: none;
|
1062
|
+
}
|
1063
|
+
|
992
1064
|
div.table {
|
993
1065
|
margin-top: 1em;
|
994
1066
|
}
|
@@ -1015,6 +1087,38 @@ table.table th {
|
|
1015
1087
|
font-weight: bold;
|
1016
1088
|
}
|
1017
1089
|
|
1090
|
+
table.table-grid-all th,
|
1091
|
+
table.table-grid-all td {
|
1092
|
+
border-width: 1px 1px 1px 1px;
|
1093
|
+
border-style: solid;
|
1094
|
+
border-color: $table-border;
|
1095
|
+
}
|
1096
|
+
|
1097
|
+
hr.pagebreak {
|
1098
|
+
-webkit-column-break-after: always;
|
1099
|
+
page-break-after: always;
|
1100
|
+
border: none;
|
1101
|
+
margin: 0;
|
1102
|
+
}
|
1103
|
+
|
1104
|
+
/* REVIEW */
|
1105
|
+
hr.pagebreak + * {
|
1106
|
+
margin-top: 0 !important;
|
1107
|
+
}
|
1108
|
+
|
1109
|
+
#_about_the_author {
|
1110
|
+
-webkit-column-break-before: always;
|
1111
|
+
page-break-before: always;
|
1112
|
+
border-bottom: 1px solid $about-author-border;
|
1113
|
+
}
|
1114
|
+
|
1115
|
+
table.table-grid-cols th,
|
1116
|
+
table.table-grid-cols td {
|
1117
|
+
border-width: 0 1px 0 0;
|
1118
|
+
border-style: solid;
|
1119
|
+
border-color: $table-border;
|
1120
|
+
}
|
1121
|
+
|
1018
1122
|
table.table thead th {
|
1019
1123
|
border-bottom: 1px solid $table-border;
|
1020
1124
|
}
|
@@ -1048,22 +1152,6 @@ table.table-framed-sides {
|
|
1048
1152
|
border-color: $table-border;
|
1049
1153
|
}
|
1050
1154
|
|
1051
|
-
table.table-grid-all th,
|
1052
|
-
table.table-grid-all td {
|
1053
|
-
border-width: 1px 1px 1px 1px;
|
1054
|
-
border-style: solid;
|
1055
|
-
border-color: $table-border;
|
1056
|
-
}
|
1057
|
-
|
1058
|
-
table.table-grid-all thead tr > *:last-child {
|
1059
|
-
border-right-width: 0;
|
1060
|
-
}
|
1061
|
-
|
1062
|
-
table.table-grid-all tbody tr:last-child > th,
|
1063
|
-
table.table-grid-all tbody tr:last-child > td {
|
1064
|
-
border-bottom-width: 0;
|
1065
|
-
}
|
1066
|
-
|
1067
1155
|
table.table-grid-rows tbody th,
|
1068
1156
|
table.table-grid-rows tbody td {
|
1069
1157
|
border-width: 1px 0 0 0;
|
@@ -1071,13 +1159,6 @@ table.table-grid-rows tbody td {
|
|
1071
1159
|
border-color: $table-border;
|
1072
1160
|
}
|
1073
1161
|
|
1074
|
-
table.table-grid-cols th,
|
1075
|
-
table.table-grid-cols td {
|
1076
|
-
border-width: 0 1px 0 0;
|
1077
|
-
border-style: solid;
|
1078
|
-
border-color: $table-border;
|
1079
|
-
}
|
1080
|
-
|
1081
1162
|
table.table-grid-cols thead th:last-child {
|
1082
1163
|
border-right-width: 0;
|
1083
1164
|
}
|
@@ -1086,28 +1167,19 @@ table.table-grid-cols tbody tr > td:last-child {
|
|
1086
1167
|
border-right-width: 0;
|
1087
1168
|
}
|
1088
1169
|
|
1089
|
-
|
1090
|
-
|
1091
|
-
display: inline-block;
|
1092
|
-
margin-right: 0.75em;
|
1093
|
-
}
|
1094
|
-
|
1095
|
-
hr.pagebreak {
|
1096
|
-
-webkit-column-break-after: always;
|
1097
|
-
page-break-after: always;
|
1098
|
-
border: none;
|
1099
|
-
margin: 0;
|
1170
|
+
table.table-grid-all thead tr > *:last-child {
|
1171
|
+
border-right-width: 0;
|
1100
1172
|
}
|
1101
1173
|
|
1102
|
-
|
1103
|
-
|
1104
|
-
|
1174
|
+
table.table-grid-all tbody tr:last-child > th,
|
1175
|
+
table.table-grid-all tbody tr:last-child > td {
|
1176
|
+
border-bottom-width: 0;
|
1105
1177
|
}
|
1106
1178
|
|
1107
|
-
|
1108
|
-
|
1109
|
-
|
1110
|
-
|
1179
|
+
pre.pygments span.linenos,
|
1180
|
+
pre.rouge span.linenos {
|
1181
|
+
display: inline-block;
|
1182
|
+
margin-right: 0.75em;
|
1111
1183
|
}
|
1112
1184
|
|
1113
1185
|
img.headshot {
|
@@ -1125,27 +1197,6 @@ img.headshot {
|
|
1125
1197
|
page-break-before: always;
|
1126
1198
|
}
|
1127
1199
|
|
1128
|
-
div.footnotes {
|
1129
|
-
margin-top: 1em;
|
1130
|
-
}
|
1131
|
-
|
1132
|
-
div.footnotes p {
|
1133
|
-
font-size: 0.8rem;
|
1134
|
-
margin-top: 0.4rem;
|
1135
|
-
}
|
1136
|
-
|
1137
|
-
div.footnotes sup.noteref {
|
1138
|
-
font-weight: bold;
|
1139
|
-
font-size: 0.9em;
|
1140
|
-
}
|
1141
|
-
|
1142
|
-
/*div.footnotes sup.noteref a {*/
|
1143
|
-
sup.noteref a {
|
1144
|
-
/* Kindle wants to underline these links */
|
1145
|
-
text-decoration: none !important;
|
1146
|
-
background-image: none;
|
1147
|
-
}
|
1148
|
-
|
1149
1200
|
nav#toc ol {
|
1150
1201
|
list-style-type: none;
|
1151
1202
|
}
|