asciidoctor-epub3 1.5.0.alpha.16 → 1.5.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.adoc +40 -0
- data/Gemfile +3 -4
- data/LICENSE +2 -2
- data/NOTICE.adoc +1 -1
- data/README.adoc +49 -771
- data/asciidoctor-epub3.gemspec +5 -4
- data/data/fonts/awesome/fa-solid-900.ttf +0 -0
- data/data/fonts/awesome/icons.yml +873 -26
- data/data/styles/color-palette.css +7 -10
- data/data/styles/epub3-css3-only.css +0 -50
- data/data/styles/epub3.css +67 -68
- data/lib/asciidoctor-epub3/converter.rb +238 -148
- data/lib/asciidoctor-epub3/ext/asciidoctor.rb +1 -0
- data/lib/asciidoctor-epub3/ext/asciidoctor/document.rb +19 -0
- data/lib/asciidoctor-epub3/version.rb +1 -1
- metadata +28 -13
@@ -1,14 +1,11 @@
|
|
1
1
|
.palette-grayscale {
|
2
|
-
color: #
|
3
|
-
color: #
|
4
|
-
color: #
|
5
|
-
/*
|
6
|
-
color: #
|
7
|
-
color: #
|
8
|
-
color: #
|
9
|
-
color: #DCDCDE; /* lighter gray :: footer lines, byline text, pre border, masthead bottom line */
|
10
|
-
/* what about DEDEDC instead of DCDCDE? */
|
11
|
-
color: #F2F2F2; /* off white :: pre background, sidebar background */
|
2
|
+
color: #000000; /* black :: body text, heading default */
|
3
|
+
color: #101010; /* off-black :: code, literal, blockquote text */
|
4
|
+
color: #202020; /* deep gray :: h4 */
|
5
|
+
color: #333332; /* dark gray :: h5, visited link, list bullets, abstract, caption, open quote */
|
6
|
+
color: #707070; /* medium gray :: table borders */
|
7
|
+
color: #C8C8C8; /* gray :: footer subtitle, sidebar border */
|
8
|
+
color: #E0E0E0; /* off white :: pre background, sidebar background */
|
12
9
|
color: #FFFFFF; /* white :: chapter subtitle */
|
13
10
|
}
|
14
11
|
|
@@ -75,23 +75,6 @@ body code, body kbd, body pre, pre :not(code) {
|
|
75
75
|
th, td, figcaption, caption {
|
76
76
|
text-rendering: optimizeLegibility;
|
77
77
|
}*/
|
78
|
-
/* hack line height of subtitle using floats on Kindle */
|
79
|
-
h1.chapter-title .subtitle {
|
80
|
-
margin-top: -0.2em;
|
81
|
-
margin-bottom: 0.3em; /* compensate for reduced line height */
|
82
|
-
}
|
83
|
-
|
84
|
-
/* NOTE using b instead of span since Firefox ePubReader applies immutable styles to span */
|
85
|
-
h1.chapter-title .subtitle > b {
|
86
|
-
float: left;
|
87
|
-
display: inline-block;
|
88
|
-
margin-bottom: -0.3em; /* reduce the line height */
|
89
|
-
padding-right: 0.2em; /* spacing between words */
|
90
|
-
}
|
91
|
-
|
92
|
-
h1.chapter-title .subtitle > b:last-child {
|
93
|
-
padding-right: 0;
|
94
|
-
}
|
95
78
|
|
96
79
|
h1.chapter-title .subtitle::after {
|
97
80
|
display: table;
|
@@ -100,39 +83,6 @@ body code, body kbd, body pre, pre :not(code) {
|
|
100
83
|
}
|
101
84
|
}
|
102
85
|
|
103
|
-
/* Use darker font colors on Kindle Paperwhite */
|
104
|
-
@media amzn-kf8 and (device-height: 1024px) and (device-width: 758px), amzn-kf8 and (device-height: 758px) and (device-width: 1024px) {
|
105
|
-
body p,
|
106
|
-
div.abstract > p,
|
107
|
-
ul, ol, li, dl, dt, dd, footer,
|
108
|
-
div.verse .attribution, table.table th, table.table td,
|
109
|
-
figcaption, caption,
|
110
|
-
h1, h2, h3, h4, h5 {
|
111
|
-
color: #000000;
|
112
|
-
}
|
113
|
-
|
114
|
-
body a:link,
|
115
|
-
div.abstract > p a:link {
|
116
|
-
color: #000000;
|
117
|
-
-webkit-text-fill-color: #000000;
|
118
|
-
}
|
119
|
-
|
120
|
-
body a:visited {
|
121
|
-
color: #333332;
|
122
|
-
-webkit-text-fill-color: #333332;
|
123
|
-
}
|
124
|
-
|
125
|
-
.chapter-header {
|
126
|
-
color: #191918;
|
127
|
-
border-bottom-color: #191918;
|
128
|
-
}
|
129
|
-
|
130
|
-
h1.chapter-title .subtitle,
|
131
|
-
.chapter-header p.byline {
|
132
|
-
color: #000000;
|
133
|
-
}
|
134
|
-
}
|
135
|
-
|
136
86
|
.chapter-header p.byline {
|
137
87
|
height: auto; /* Aldiko requires this value to be 0; reset it for all others */
|
138
88
|
}
|
data/data/styles/epub3.css
CHANGED
@@ -17,7 +17,6 @@ html {
|
|
17
17
|
/* set the em base (and relative em anchor) by setting the font-size on html */
|
18
18
|
/* TODO set font-size > 100% except for Kindle */
|
19
19
|
font-size: 100%;
|
20
|
-
-webkit-text-size-adjust: 100%;
|
21
20
|
}
|
22
21
|
|
23
22
|
/* don't set margin on body as that's how many readers frame reading area */
|
@@ -81,8 +80,8 @@ b, strong {
|
|
81
80
|
|
82
81
|
b.button {
|
83
82
|
font-weight: normal;
|
84
|
-
text-shadow: 1px 0 0 #
|
85
|
-
color: #
|
83
|
+
text-shadow: 1px 0 0 #333332;
|
84
|
+
color: #101010;
|
86
85
|
white-space: nowrap;
|
87
86
|
}
|
88
87
|
|
@@ -143,7 +142,7 @@ img {
|
|
143
142
|
|
144
143
|
mark {
|
145
144
|
background-color: #FFC14F;
|
146
|
-
color: #
|
145
|
+
color: #101010;
|
147
146
|
}
|
148
147
|
|
149
148
|
small {
|
@@ -198,14 +197,36 @@ td, th {
|
|
198
197
|
padding: 0;
|
199
198
|
}
|
200
199
|
|
200
|
+
/* We need to apply text-align to <p> too in order to override global text-align:justify */
|
201
|
+
th.halign-left, td.halign-left, th.halign-left > p, td.halign-left > p {
|
202
|
+
text-align: left
|
203
|
+
}
|
204
|
+
|
205
|
+
th.halign-right, td.halign-right, th.halign-right > p, td.halign-right > p {
|
206
|
+
text-align: right
|
207
|
+
}
|
208
|
+
|
209
|
+
th.halign-center, td.halign-center, th.halign-center > p, td.halign-center > p {
|
210
|
+
text-align: center
|
211
|
+
}
|
212
|
+
|
213
|
+
th.valign-top, td.valign-top, th.valign-top > p, td.valign-top > p {
|
214
|
+
vertical-align: top
|
215
|
+
}
|
216
|
+
|
217
|
+
th.valign-bottom, td.valign-bottom, th.valign-bottom > p, td.valign-bottom > p {
|
218
|
+
vertical-align: bottom
|
219
|
+
}
|
220
|
+
|
221
|
+
th.valign-middle, td.valign-middle, th.valign-middle > p, td.valign-middle > p {
|
222
|
+
vertical-align: middle
|
223
|
+
}
|
224
|
+
|
201
225
|
body a:link {
|
202
|
-
color: #333332;
|
203
|
-
/* hack for font color in iBooks and Gitden (though Gitden would accept color !important too) */
|
204
|
-
-webkit-text-fill-color: #333332;
|
205
226
|
/* Kindle requires the !important on text-decoration */
|
206
227
|
/* In night mode, the only indicator of a link is the underline, so we need it or a background image */
|
207
228
|
text-decoration: none !important;
|
208
|
-
border-bottom: 1px dashed #
|
229
|
+
border-bottom: 1px dashed #333332;
|
209
230
|
/* allow URLs to break anywhere if they don't fit on a line; but how do we know it's a URL? */
|
210
231
|
/*
|
211
232
|
word-break: break-all;
|
@@ -221,12 +242,6 @@ body:first-of-type a:link {
|
|
221
242
|
background-position: 0 1.2em;
|
222
243
|
}
|
223
244
|
|
224
|
-
body a:visited {
|
225
|
-
color: #666665;
|
226
|
-
/* hack for font color in iBooks */
|
227
|
-
-webkit-text-fill-color: #666665;
|
228
|
-
}
|
229
|
-
|
230
245
|
code.literal {
|
231
246
|
/* don't let it affect line spacing */
|
232
247
|
/* disable since M+ 1mn won't interrupt line height */
|
@@ -270,7 +285,6 @@ body p,
|
|
270
285
|
ul, ol, li, dl, dt, dd, footer,
|
271
286
|
div.verse .attribution, table.table th, table.table td,
|
272
287
|
figcaption, caption {
|
273
|
-
color: #333332;
|
274
288
|
/* NOTE iBooks will forcefully override font-family of text inside div, p and span elements when font other than Original is selected */
|
275
289
|
/* NOTE iBooks honors Original font for prose text if declared in display-options.xml */
|
276
290
|
font-family: "Noto Serif", serif;
|
@@ -281,7 +295,7 @@ body p, li, dt, dd, footer {
|
|
281
295
|
}
|
282
296
|
|
283
297
|
code, kbd, pre {
|
284
|
-
color: #
|
298
|
+
color: #101010;
|
285
299
|
font-family: "M+ 1mn", monospace;
|
286
300
|
-webkit-hyphens: none; /* disable hyphenation where supported (e.g., iBooks) */
|
287
301
|
}
|
@@ -462,7 +476,7 @@ ul > li::before {
|
|
462
476
|
|
463
477
|
ul > li::before {
|
464
478
|
content: "\25AA"; /* small black square */
|
465
|
-
color: #
|
479
|
+
color: #333332;
|
466
480
|
}
|
467
481
|
|
468
482
|
ul ul > li::before {
|
@@ -472,7 +486,7 @@ ul ul > li::before {
|
|
472
486
|
|
473
487
|
ul ul ul > li::before {
|
474
488
|
content: "\2022"; /* small black circle */
|
475
|
-
color: #
|
489
|
+
color: #333332;
|
476
490
|
}
|
477
491
|
|
478
492
|
ul ul ul ul > li::before {
|
@@ -534,7 +548,6 @@ ul.references > li > span.principal {
|
|
534
548
|
|
535
549
|
/* sized based on the major third modular scale (4:5, 16px, 24px) */
|
536
550
|
h1, h2 {
|
537
|
-
color: #333332;
|
538
551
|
font-size: 1.5em;
|
539
552
|
word-spacing: -0.075em;
|
540
553
|
margin-top: 1em; /* 1.5rem */
|
@@ -542,14 +555,13 @@ h1, h2 {
|
|
542
555
|
}
|
543
556
|
|
544
557
|
h3 {
|
545
|
-
color: #333332;
|
546
558
|
font-size: 1.25em;
|
547
559
|
margin-top: 0.84em; /* 1.05rem */
|
548
560
|
margin-bottom: -0.5em; /* -0.625rem, 0.375rem to content */
|
549
561
|
}
|
550
562
|
|
551
563
|
h4 {
|
552
|
-
color: #
|
564
|
+
color: #202020;
|
553
565
|
font-weight: 200;
|
554
566
|
|
555
567
|
font-size: 1.1em;
|
@@ -564,7 +576,7 @@ h4 {
|
|
564
576
|
}
|
565
577
|
|
566
578
|
h5 {
|
567
|
-
color: #
|
579
|
+
color: #333332;
|
568
580
|
/*
|
569
581
|
font-size: 1em;
|
570
582
|
text-transform: uppercase;
|
@@ -594,7 +606,7 @@ h5 code {
|
|
594
606
|
/*padding: 0.75em 1.5em 0.25em 1.5em;*/
|
595
607
|
padding: 0.25em 0;
|
596
608
|
margin-bottom: 2.5em;
|
597
|
-
border-bottom: 1px solid #
|
609
|
+
border-bottom: 1px solid #333332;
|
598
610
|
/* TODO maybe what we need to get articles to start in left column
|
599
611
|
-webkit-column-break-before: left;
|
600
612
|
page-break-before: left;
|
@@ -607,7 +619,7 @@ h1.chapter-title {
|
|
607
619
|
margin-top: 3.5em; /* 4.2rem - would like to use 9vh */
|
608
620
|
margin-bottom: 0;
|
609
621
|
padding-bottom: 0.8333em; /* 1.2rem */
|
610
|
-
color: #
|
622
|
+
color: #333332;
|
611
623
|
text-transform: uppercase; /* not supported in Adobe Digital Editions */
|
612
624
|
word-spacing: -0.075em;
|
613
625
|
letter-spacing: -0.01em;
|
@@ -615,7 +627,6 @@ h1.chapter-title {
|
|
615
627
|
|
616
628
|
h1.chapter-title .subtitle {
|
617
629
|
font-weight: 400;
|
618
|
-
color: #333332;
|
619
630
|
display: block;
|
620
631
|
font-size: 1.5em;
|
621
632
|
margin: 0 0 0 0.75em; /* would like to use 2vw */
|
@@ -632,7 +643,6 @@ h1.chapter-title b {
|
|
632
643
|
}
|
633
644
|
|
634
645
|
.chapter-header p.byline {
|
635
|
-
color: #333332;
|
636
646
|
/* float left and height 0 takes this line out of the flow */
|
637
647
|
float: left;
|
638
648
|
height: 0;
|
@@ -663,17 +673,11 @@ div.abstract {
|
|
663
673
|
}
|
664
674
|
|
665
675
|
div.abstract > p {
|
666
|
-
color: #
|
676
|
+
color: #333332;
|
667
677
|
font-size: 1.05em; /* or 1.1em? */
|
668
678
|
line-height: 1.75;
|
669
679
|
}
|
670
680
|
|
671
|
-
div.abstract > p a:link {
|
672
|
-
color: #666665;
|
673
|
-
/* hack for font color in iBooks */
|
674
|
-
-webkit-text-fill-color: #666665;
|
675
|
-
}
|
676
|
-
|
677
681
|
div.abstract > p:first-child::first-line {
|
678
682
|
font-weight: bold;
|
679
683
|
-webkit-font-feature-settings: "kern" off;
|
@@ -748,7 +752,7 @@ figcaption,
|
|
748
752
|
caption {
|
749
753
|
font-size: 0.9em;
|
750
754
|
font-style: italic;
|
751
|
-
color: #
|
755
|
+
color: #333332;
|
752
756
|
letter-spacing: -0.01em;
|
753
757
|
line-height: 1.4;
|
754
758
|
text-align: left;
|
@@ -780,10 +784,10 @@ figure.listing > figcaption + pre {
|
|
780
784
|
}
|
781
785
|
|
782
786
|
aside.sidebar {
|
783
|
-
border: 1px solid #
|
787
|
+
border: 1px solid #C8C8C8;
|
784
788
|
padding: 0 1.5em;
|
785
789
|
font-size: 0.9em;
|
786
|
-
background-color: #
|
790
|
+
background-color: #E0E0E0;
|
787
791
|
text-align: right; /* aligns heading to right */
|
788
792
|
/*
|
789
793
|
-webkit-box-shadow: 0px 1px 1px rgba(102, 102, 101, 0.15);
|
@@ -811,7 +815,7 @@ aside.sidebar > h2 {
|
|
811
815
|
letter-spacing: 0;
|
812
816
|
display: inline-block;
|
813
817
|
white-space: nowrap; /* for some reason it's wrapping prematurely */
|
814
|
-
border: 1px solid #
|
818
|
+
border: 1px solid #C8C8C8;
|
815
819
|
padding: 1.5em .75em .5em .75em;
|
816
820
|
margin: -1em 0.5em -0.25em 0.5em;
|
817
821
|
background-color: #FFFFFF;
|
@@ -848,7 +852,7 @@ div[class~="blockquote"] {
|
|
848
852
|
}
|
849
853
|
|
850
854
|
blockquote > p {
|
851
|
-
color: #
|
855
|
+
color: #101010;
|
852
856
|
font-style: italic;
|
853
857
|
|
854
858
|
/*
|
@@ -865,7 +869,7 @@ blockquote > p {
|
|
865
869
|
|
866
870
|
blockquote > p:first-of-type::before {
|
867
871
|
display: inline-block;
|
868
|
-
color: #
|
872
|
+
color: #333332;
|
869
873
|
text-shadow: 0 1px 2px rgba(102, 102, 101, 0.3);
|
870
874
|
|
871
875
|
/* using serif quote from entypo */
|
@@ -898,7 +902,7 @@ blockquote footer {
|
|
898
902
|
blockquote footer .context {
|
899
903
|
font-size: 0.9em;
|
900
904
|
letter-spacing: -0.05em;
|
901
|
-
color: #
|
905
|
+
color: #333332;
|
902
906
|
}
|
903
907
|
|
904
908
|
pre {
|
@@ -909,14 +913,10 @@ pre {
|
|
909
913
|
overflow-wrap: break-word; /* break in middle of long word if no other break opportunities are available */
|
910
914
|
font-size: 0.85em;
|
911
915
|
line-height: 1.4; /* matches what Kindle uses and can't go less */
|
912
|
-
background-color: #
|
916
|
+
background-color: #E0E0E0;
|
913
917
|
padding: 0.6em 0.9em; /* this is supposed to be '0.5rem 0.75rem' but Sony Readers crash when see that (at least, PRS-350, PRS-505, PRS-T1) */
|
914
|
-
|
915
|
-
border-
|
916
|
-
*/
|
917
|
-
/* QUESTION #B3B3B1? */
|
918
|
-
border-top: 1px solid #DCDCDE;
|
919
|
-
border-right: 1px solid #DCDCDE;
|
918
|
+
border-top: 1px solid #C8C8C8;
|
919
|
+
border-right: 1px solid #C8C8C8;
|
920
920
|
}
|
921
921
|
|
922
922
|
body:first-of-type pre {
|
@@ -1109,8 +1109,6 @@ table.table th,
|
|
1109
1109
|
table.table td {
|
1110
1110
|
line-height: 1.4;
|
1111
1111
|
padding: 0.5em 0.5em 1em 0.1em;
|
1112
|
-
vertical-align: top;
|
1113
|
-
text-align: left;
|
1114
1112
|
-webkit-column-break-inside: avoid;
|
1115
1113
|
page-break-inside: avoid;
|
1116
1114
|
}
|
@@ -1120,7 +1118,7 @@ table.table th {
|
|
1120
1118
|
}
|
1121
1119
|
|
1122
1120
|
table.table thead th {
|
1123
|
-
border-bottom: 1px solid #
|
1121
|
+
border-bottom: 1px solid #707070;
|
1124
1122
|
}
|
1125
1123
|
|
1126
1124
|
table.table td > p,
|
@@ -1128,47 +1126,43 @@ table.table div.embed > * {
|
|
1128
1126
|
margin-top: 0;
|
1129
1127
|
}
|
1130
1128
|
|
1131
|
-
table.table td > p {
|
1132
|
-
text-align: left;
|
1133
|
-
}
|
1134
|
-
|
1135
1129
|
/* REVIEW */
|
1136
1130
|
table.table td > p + p,
|
1137
1131
|
table.table div.embed > * + * {
|
1138
1132
|
margin-top: 1em;
|
1139
1133
|
}
|
1140
1134
|
|
1141
|
-
table.table-framed {
|
1135
|
+
table.table-framed-all {
|
1142
1136
|
border-width: 1px;
|
1143
1137
|
border-style: solid;
|
1144
|
-
border-color: #
|
1138
|
+
border-color: #707070;
|
1145
1139
|
}
|
1146
1140
|
|
1147
1141
|
table.table-framed-topbot {
|
1148
1142
|
border-width: 1px 0;
|
1149
1143
|
border-style: solid;
|
1150
|
-
border-color: #
|
1144
|
+
border-color: #707070;
|
1151
1145
|
}
|
1152
1146
|
|
1153
1147
|
table.table-framed-sides {
|
1154
1148
|
border-width: 0 1px;
|
1155
1149
|
border-style: solid;
|
1156
|
-
border-color: #
|
1150
|
+
border-color: #707070;
|
1157
1151
|
}
|
1158
1152
|
|
1159
|
-
table.table-grid th,
|
1160
|
-
table.table-grid td {
|
1161
|
-
border-width:
|
1153
|
+
table.table-grid-all th,
|
1154
|
+
table.table-grid-all td {
|
1155
|
+
border-width: 1px 1px 1px 1px;
|
1162
1156
|
border-style: solid;
|
1163
|
-
border-color: #
|
1157
|
+
border-color: #707070;
|
1164
1158
|
}
|
1165
1159
|
|
1166
|
-
table.table-grid thead tr > *:last-child {
|
1160
|
+
table.table-grid-all thead tr > *:last-child {
|
1167
1161
|
border-right-width: 0;
|
1168
1162
|
}
|
1169
1163
|
|
1170
|
-
table.table-grid tbody tr:last-child > th,
|
1171
|
-
table.table-grid tbody tr:last-child > td {
|
1164
|
+
table.table-grid-all tbody tr:last-child > th,
|
1165
|
+
table.table-grid-all tbody tr:last-child > td {
|
1172
1166
|
border-bottom-width: 0;
|
1173
1167
|
}
|
1174
1168
|
|
@@ -1176,14 +1170,14 @@ table.table-grid-rows tbody th,
|
|
1176
1170
|
table.table-grid-rows tbody td {
|
1177
1171
|
border-width: 1px 0 0 0;
|
1178
1172
|
border-style: solid;
|
1179
|
-
border-color: #
|
1173
|
+
border-color: #707070;
|
1180
1174
|
}
|
1181
1175
|
|
1182
1176
|
table.table-grid-cols th,
|
1183
1177
|
table.table-grid-cols td {
|
1184
1178
|
border-width: 0 1px 0 0;
|
1185
1179
|
border-style: solid;
|
1186
|
-
border-color: #
|
1180
|
+
border-color: #707070;
|
1187
1181
|
}
|
1188
1182
|
|
1189
1183
|
table.table-grid-cols thead th:last-child {
|
@@ -1214,7 +1208,7 @@ hr.pagebreak + * {
|
|
1214
1208
|
|
1215
1209
|
img.headshot {
|
1216
1210
|
float: left;
|
1217
|
-
border: 1px solid #
|
1211
|
+
border: 1px solid #707070;
|
1218
1212
|
padding: 1px;
|
1219
1213
|
margin: 0.35em 1em 0.15em 0;
|
1220
1214
|
height: 5em !important;
|
@@ -1252,6 +1246,11 @@ nav#toc ol {
|
|
1252
1246
|
list-style-type: none;
|
1253
1247
|
}
|
1254
1248
|
|
1249
|
+
/* Calibre doesn't hide <nav hidden="hidden"> for some reason */
|
1250
|
+
nav[hidden~="hidden"] {
|
1251
|
+
display: none;
|
1252
|
+
}
|
1253
|
+
|
1255
1254
|
.icon {
|
1256
1255
|
display: none;
|
1257
1256
|
}
|