bookshop 0.1.4 → 0.1.5
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.
- data/lib/bookshop/commands/build.rb +12 -8
- data/lib/bookshop/generators/bookshop/app/app_generator.rb +16 -20
- data/lib/bookshop/generators/bookshop/app/templates/book/assets/css/stylesheet.epub.css +2 -203
- data/lib/bookshop/generators/bookshop/app/templates/book/assets/css/stylesheet.mobi.css +14 -169
- data/lib/bookshop/generators/bookshop/app/templates/book/bodymatter/ch01/adding_images.html.erb +1 -1
- data/lib/bookshop/generators/bookshop/app/templates/book/bodymatter/ch01/ch01.html.erb +1 -1
- data/lib/bookshop/generators/bookshop/app/templates/book/book.html.erb +6 -6
- data/lib/bookshop/generators/bookshop/app/templates/book/epub/OEBPS/content.opf.erb +17 -13
- data/lib/bookshop/generators/bookshop/app/templates/book/frontmatter/preface.html.erb +1 -1
- data/lib/bookshop/generators/bookshop/app/templates/book/frontmatter/toc.html.erb +5 -1
- data/lib/bookshop/generators/bookshop/app/templates/config/book.yml +2 -2
- data/lib/bookshop/generators/bookshop/app/templates/script/zip/Contents +36 -0
- data/lib/bookshop/generators/bookshop/app/templates/script/zip/LICENSE +60 -0
- data/lib/bookshop/generators/bookshop/app/templates/script/zip/README +234 -0
- data/lib/bookshop/generators/bookshop/app/templates/script/zip/README.CR +119 -0
- data/lib/bookshop/generators/bookshop/app/templates/script/zip/WHATSNEW +333 -0
- data/lib/bookshop/generators/bookshop/app/templates/script/zip/WHERE +266 -0
- data/lib/bookshop/generators/bookshop/app/templates/script/zip/zip.exe +0 -0
- data/lib/bookshop/generators/bookshop/app/templates/script/zip/zip.txt +2027 -0
- data/lib/bookshop/generators/bookshop/app/templates/script/zip/zip30.ann +95 -0
- data/lib/bookshop/generators/bookshop/app/templates/script/zip/zipcloak.exe +0 -0
- data/lib/bookshop/generators/bookshop/app/templates/script/zip/zipcloak.txt +75 -0
- data/lib/bookshop/generators/bookshop/app/templates/script/zip/zipnote.exe +0 -0
- data/lib/bookshop/generators/bookshop/app/templates/script/zip/zipnote.txt +63 -0
- data/lib/bookshop/generators/bookshop/app/templates/script/zip/zipsplit.exe +0 -0
- data/lib/bookshop/generators/bookshop/app/templates/script/zip/zipsplit.txt +53 -0
- data/lib/bookshop/version.rb +1 -1
- metadata +31 -16
|
@@ -21,7 +21,7 @@ module Bookshop
|
|
|
21
21
|
|
|
22
22
|
def self.clean_builds(build_type)
|
|
23
23
|
puts "Deleting any old builds"
|
|
24
|
-
FileUtils.rm_r Dir.glob(
|
|
24
|
+
FileUtils.rm_r Dir.glob("builds/#{build_type}/*"), :verbose => true
|
|
25
25
|
end
|
|
26
26
|
|
|
27
27
|
def self.generate_file(src, dest)
|
|
@@ -75,7 +75,11 @@ module Bookshop
|
|
|
75
75
|
builds/epub/OEBPS/assets/css/stylesheet.mobi.css )
|
|
76
76
|
|
|
77
77
|
puts "Zipping up into epub"
|
|
78
|
-
|
|
78
|
+
if RUBY_PLATFORM =~ /linux|darwin|cygwin/
|
|
79
|
+
cmd = system("cd builds/epub/ && zip -X0 'book.epub' mimetype && zip -rDX9 'book.epub' * -x '*.DS_Store' -x mimetype")
|
|
80
|
+
elsif RUBY_PLATFORM =~ /mingw|mswin32/
|
|
81
|
+
cmd = system("cd builds/epub/ & ..\..\script\zip\zip.exe -X0 'book.epub' mimetype & ..\..\script\zip\zip.exe -rDX9 'book.epub' * -x mimetype")
|
|
82
|
+
end
|
|
79
83
|
|
|
80
84
|
puts "Validating with epubcheck"
|
|
81
85
|
cmd = cmd = system("java -jar script/epubcheck/epubcheck.jar builds/epub/book.epub")
|
|
@@ -92,10 +96,6 @@ module Bookshop
|
|
|
92
96
|
|
|
93
97
|
puts "Generating new html from erb"
|
|
94
98
|
generate_file(BOOK_SOURCE, "builds/mobi/OEBPS/book.html")
|
|
95
|
-
|
|
96
|
-
# Generate the cover.html file
|
|
97
|
-
puts "Generating new cover.html from erb"
|
|
98
|
-
generate_file("frontmatter/cover.html.erb","builds/mobi/OEBPS/cover.html")
|
|
99
99
|
|
|
100
100
|
# Generate the nav.html file
|
|
101
101
|
puts "Generating new toc.html from erb"
|
|
@@ -114,8 +114,12 @@ module Bookshop
|
|
|
114
114
|
builds/mobi/OEBPS/assets/css/stylesheet.html.css
|
|
115
115
|
builds/mobi/OEBPS/assets/css/stylesheet.epub.css )
|
|
116
116
|
|
|
117
|
-
|
|
118
|
-
|
|
117
|
+
puts "Zipping up into epub"
|
|
118
|
+
if RUBY_PLATFORM =~ /linux|darwin|cygwin/
|
|
119
|
+
cmd = system("cd builds/mobi/ && zip -X0 'book.epub' mimetype && zip -rDX9 'book.epub' * -x '*.DS_Store' -x mimetype")
|
|
120
|
+
elsif RUBY_PLATFORM =~ /mingw|mswin32/
|
|
121
|
+
cmd = system("cd builds/mobi/ & ..\..\script\zip\zip.exe -X0 'book.epub' mimetype & ..\..\script\zip\zip.exe -rDX9 'book.epub' * -x mimetype")
|
|
122
|
+
end
|
|
119
123
|
|
|
120
124
|
puts "Validating with epubcheck"
|
|
121
125
|
|
|
@@ -17,27 +17,23 @@ module Bookshop
|
|
|
17
17
|
end
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
# Adds third-party tools
|
|
28
|
-
# def add_tools
|
|
29
|
-
# directory "tools/", "#{app_path}/tools/"
|
|
30
|
-
# end
|
|
20
|
+
# Create the project from templates
|
|
21
|
+
def create_base_project
|
|
22
|
+
raise GeneratorArgumentsError if app_path.nil?
|
|
23
|
+
puts "creating base project"
|
|
24
|
+
directory "templates", "#{app_path}"
|
|
25
|
+
end
|
|
31
26
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
27
|
+
#Change the permissions so tools are executable
|
|
28
|
+
def chmod_tools
|
|
29
|
+
chmod "#{app_path}/script/epubcheck/epubcheck.jar", 0755
|
|
30
|
+
chmod "#{app_path}/script/epubcheck/lib/jing.jar", 0755
|
|
31
|
+
chmod "#{app_path}/script/epubcheck/lib/saxon.jar", 0755
|
|
32
|
+
chmod "#{app_path}/script/kindlegen/kindlegen.exe", 0755
|
|
33
|
+
chmod "#{app_path}/script/kindlegen/kindlegen_mac", 0755
|
|
34
|
+
chmod "#{app_path}/script/kindlegen/kindlegen_linux", 0755
|
|
35
|
+
chmod "#{app_path}/script/zip/zip.exe", 0755
|
|
36
|
+
end
|
|
41
37
|
|
|
42
38
|
|
|
43
39
|
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
/* written by Hakon Wium Lie and Bert Bos, November 2005 */
|
|
3
3
|
/* You may reuse this style sheet for any purpose without any fees */
|
|
4
4
|
|
|
5
|
-
|
|
6
5
|
html {
|
|
7
6
|
margin: 0;
|
|
8
|
-
font:
|
|
7
|
+
font-family: "Gill Sans", sans-serif;
|
|
8
|
+
font-size: 10pt;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
body {
|
|
@@ -88,8 +88,6 @@ div.sidebar {
|
|
|
88
88
|
background: #CCC;
|
|
89
89
|
padding: 0.5em 1em;
|
|
90
90
|
page-break-inside: avoid;
|
|
91
|
-
column-count: 2;
|
|
92
|
-
column-gap: 1.5em;
|
|
93
91
|
}
|
|
94
92
|
|
|
95
93
|
div.sidebar h2 {
|
|
@@ -100,7 +98,6 @@ div.sidebar h2 {
|
|
|
100
98
|
|
|
101
99
|
div.figure {
|
|
102
100
|
margin: 1em 0;
|
|
103
|
-
counter-increment: figure;
|
|
104
101
|
}
|
|
105
102
|
|
|
106
103
|
div.figure .caption, div.table .caption {
|
|
@@ -112,19 +109,8 @@ div.figure .caption, div.table .caption {
|
|
|
112
109
|
margin: 0 0 1.2em -40%;
|
|
113
110
|
}
|
|
114
111
|
|
|
115
|
-
div.figure .caption::before {
|
|
116
|
-
content: "Figure " counter(figure) ": ";
|
|
117
|
-
font-weight: bold;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
div.table .caption::before {
|
|
121
|
-
content: "Table " counter(table) ": ";
|
|
122
|
-
font-weight: bold;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
112
|
div.table {
|
|
126
113
|
margin: 1em 0;
|
|
127
|
-
counter-increment: table;
|
|
128
114
|
}
|
|
129
115
|
|
|
130
116
|
div.table th {
|
|
@@ -143,110 +129,11 @@ table.lined td, table.lined th {
|
|
|
143
129
|
padding-bottom: 0.2em;
|
|
144
130
|
}
|
|
145
131
|
|
|
146
|
-
|
|
147
|
-
@page {
|
|
148
|
-
margin: 27mm 16mm 27mm 16mm;
|
|
149
|
-
size: 7in 9.25in;
|
|
150
|
-
|
|
151
|
-
@footnotes {
|
|
152
|
-
border-top: thin solid black;
|
|
153
|
-
padding-top: 0.3em;
|
|
154
|
-
margin-top: 0.6em;
|
|
155
|
-
margin-left: 30%;
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
/* define default page and names pages: cover, blank, frontmatter */
|
|
161
|
-
|
|
162
|
-
@page :left {
|
|
163
|
-
@top-left {
|
|
164
|
-
font: 11pt "Gill Sans", serif;
|
|
165
|
-
content: "Cascading Style Sheets";
|
|
166
|
-
vertical-align: bottom;
|
|
167
|
-
padding-bottom: 2em;
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
@bottom-left {
|
|
171
|
-
font: 11pt "Gill Sans", serif;
|
|
172
|
-
content: counter(page);
|
|
173
|
-
padding-top: 2em;
|
|
174
|
-
vertical-align: top;
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
@page :right {
|
|
179
|
-
@top-right {
|
|
180
|
-
font: 11pt "Gill Sans", serif;
|
|
181
|
-
content: string(header, first);
|
|
182
|
-
vertical-align: bottom;
|
|
183
|
-
padding-bottom: 2em;
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
@bottom-right {
|
|
187
|
-
font: 11pt "Gill Sans", serif;
|
|
188
|
-
content: counter(page);
|
|
189
|
-
text-align: right;
|
|
190
|
-
vertical-align: top;
|
|
191
|
-
padding-top: 2em;
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
@page frontmatter :left {
|
|
196
|
-
@top-left {
|
|
197
|
-
font: 11pt "Gill Sans", serif;
|
|
198
|
-
content: string(title);
|
|
199
|
-
vertical-align: bottom;
|
|
200
|
-
padding-bottom: 2em;
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
@bottom-left {
|
|
204
|
-
font: 11pt "Gill Sans", serif;
|
|
205
|
-
content: counter(page, lower-roman);
|
|
206
|
-
padding-top: 2em;
|
|
207
|
-
vertical-align: top;
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
@page cover { margin: 0; }
|
|
212
|
-
|
|
213
|
-
@page frontmatter :right {
|
|
214
|
-
@top-right {
|
|
215
|
-
font: 11pt "Gill Sans", serif;
|
|
216
|
-
content: string(header, first);
|
|
217
|
-
vertical-align: bottom;
|
|
218
|
-
padding-bottom: 2em;
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
@bottom-right {
|
|
222
|
-
font: 11pt "Gill Sans", serif;
|
|
223
|
-
content: counter(page, lower-roman);
|
|
224
|
-
text-align: right;
|
|
225
|
-
vertical-align: top;
|
|
226
|
-
padding-top: 2em;
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
@page blank :left {
|
|
231
|
-
@top-left { content: normal }
|
|
232
|
-
@bottom-left { content: normal }
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
@page blank :right {
|
|
236
|
-
@top-right { content: normal }
|
|
237
|
-
@bottom-right { content: normal }
|
|
238
|
-
}
|
|
239
|
-
|
|
240
132
|
/* footnotes */
|
|
241
133
|
|
|
242
134
|
.footnote {
|
|
243
135
|
display: none; /* default rule */
|
|
244
136
|
|
|
245
|
-
display: prince-footnote; /* prince-specific rules */
|
|
246
|
-
position: footnote;
|
|
247
|
-
footnote-style-position: inside;
|
|
248
|
-
|
|
249
|
-
counter-increment: footnote;
|
|
250
137
|
margin-left: 1.4em;
|
|
251
138
|
font-size: 90%;
|
|
252
139
|
line-height: 1.4;
|
|
@@ -289,11 +176,6 @@ table.lined td, table.lined th {
|
|
|
289
176
|
will use all of them.
|
|
290
177
|
*/
|
|
291
178
|
|
|
292
|
-
/* which section uses which named page */
|
|
293
|
-
|
|
294
|
-
div.halftitlepage, div.titlepage, div.imprint, div.dedication { page: blank }
|
|
295
|
-
div.foreword, div.toc, div.preface { page: frontmatter }
|
|
296
|
-
|
|
297
179
|
|
|
298
180
|
/* page breaks */
|
|
299
181
|
|
|
@@ -305,53 +187,6 @@ div.appendix, div.bibliography, div.glossary, div.index, div.colophon {
|
|
|
305
187
|
}
|
|
306
188
|
div.backcover { page-break-before: left }
|
|
307
189
|
|
|
308
|
-
/* the front cover; this code is probably not very reusable by other books */
|
|
309
|
-
|
|
310
|
-
div.frontcover { page: cover; }
|
|
311
|
-
|
|
312
|
-
div.frontcover img {
|
|
313
|
-
position: absolute;
|
|
314
|
-
width: 7in; height: 9.25in;
|
|
315
|
-
left: 0; top: 0;
|
|
316
|
-
z-index: -1;
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
div.frontcover h1 {
|
|
320
|
-
position: absolute;
|
|
321
|
-
left: 2cm; top: 1cm;
|
|
322
|
-
color: white;
|
|
323
|
-
font-size: 44pt;
|
|
324
|
-
font-weight: normal;
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
div.frontcover h2 {
|
|
328
|
-
position: absolute;
|
|
329
|
-
right: 0; top: 5cm;
|
|
330
|
-
color: black;
|
|
331
|
-
background: white;
|
|
332
|
-
font-size: 16pt;
|
|
333
|
-
font-weight: normal;
|
|
334
|
-
padding: 0.2em 5em 0.2em 1em;
|
|
335
|
-
letter-spacing: 0.15em;
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
div.frontcover h3 {
|
|
339
|
-
position: absolute;
|
|
340
|
-
left: 2cm; top: 7cm;
|
|
341
|
-
color: white;
|
|
342
|
-
font-size: 24pt;
|
|
343
|
-
font-weight: normal;
|
|
344
|
-
}
|
|
345
|
-
|
|
346
|
-
div.frontcover p {
|
|
347
|
-
position: absolute;
|
|
348
|
-
left: 2cm; bottom: 1.5cm;
|
|
349
|
-
font-size: 24pt;
|
|
350
|
-
color: black;
|
|
351
|
-
font-weight: bold;
|
|
352
|
-
text-transform: uppercase;
|
|
353
|
-
}
|
|
354
|
-
|
|
355
190
|
|
|
356
191
|
/* titlepage, halftitlepage */
|
|
357
192
|
|
|
@@ -387,26 +222,6 @@ ol.toc > li {
|
|
|
387
222
|
font-weight: bold;
|
|
388
223
|
margin-bottom: 0.5em;
|
|
389
224
|
}
|
|
390
|
-
ol.toc a::after {
|
|
391
|
-
content: leader('.') target-counter(attr(href), page);
|
|
392
|
-
font-style: normal;
|
|
393
|
-
}
|
|
394
|
-
ol.toc > li.frontmatter a::after {
|
|
395
|
-
content: leader('.') target-counter(attr(href), page, lower-roman);
|
|
396
|
-
font-style: normal;
|
|
397
|
-
}
|
|
398
|
-
ol.toc > li.backmatter a::after {
|
|
399
|
-
content: leader('.') target-counter(attr(href), page);
|
|
400
|
-
font-style: normal;
|
|
401
|
-
}
|
|
402
|
-
ol.toc > li.chapter::before {
|
|
403
|
-
content: "Chapter " counter(toc-chapter, decimal);
|
|
404
|
-
display: block;
|
|
405
|
-
margin: 1em 0 0.1em -2.5cm;
|
|
406
|
-
font-weight: normal;
|
|
407
|
-
counter-increment: toc-chapter;
|
|
408
|
-
page-break-after: avoid;
|
|
409
|
-
}
|
|
410
225
|
|
|
411
226
|
/* chapter numbers */
|
|
412
227
|
|
|
@@ -414,7 +229,6 @@ div.chapter { counter-increment: chapter; }
|
|
|
414
229
|
|
|
415
230
|
h1::before {
|
|
416
231
|
white-space: pre;
|
|
417
|
-
margin-left: -2.5cm;
|
|
418
232
|
font-size: 50%;
|
|
419
233
|
content: "\B0 \B0 \B0 \B0 \B0 \A"; /* ornaments */
|
|
420
234
|
}
|
|
@@ -425,20 +239,13 @@ div.frontcover h1::before, div.titlepage h1::before, div.halftitlepage h1::befor
|
|
|
425
239
|
content: normal; /* that is, none */
|
|
426
240
|
}
|
|
427
241
|
|
|
428
|
-
h1 { string-set: header content();}
|
|
429
|
-
div.chapter h1 { string-set: header "Chapter " counter(chapter) ": " content(); }
|
|
430
|
-
|
|
431
242
|
/* index */
|
|
432
243
|
|
|
433
244
|
ol.index {
|
|
434
245
|
list-style-type: none;
|
|
435
246
|
margin: 0; padding: 0;
|
|
436
|
-
column-count: 2;
|
|
437
|
-
column-gap: 1em;
|
|
438
247
|
}
|
|
439
248
|
|
|
440
|
-
ul.index a::after { content: ", " target-counter(attr(href), page); }
|
|
441
|
-
|
|
442
249
|
|
|
443
250
|
span.element, span.attribute {
|
|
444
251
|
text-transform: uppercase;
|
|
@@ -448,12 +255,4 @@ span.element, span.attribute {
|
|
|
448
255
|
span.property { font-weight: bold }
|
|
449
256
|
code, span.css, span.value, span.declaration {
|
|
450
257
|
font: 90% "Lucida Console", "Lucida Sans Typewriter", monospace;
|
|
451
|
-
}
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
@media screen, handheld {
|
|
455
|
-
html { margin: 1em; font: 14px "Gill Sans", sans-serif; }
|
|
456
|
-
h1 { margin-bottom: 0.5em }
|
|
457
|
-
div.frontcover, div.halftitlepage,
|
|
458
|
-
div.dedication, div.foreword, div.toc, div.index { display: none }
|
|
459
258
|
}
|
|
@@ -2,10 +2,20 @@
|
|
|
2
2
|
/* written by Hakon Wium Lie and Bert Bos, November 2005 */
|
|
3
3
|
/* You may reuse this style sheet for any purpose without any fees */
|
|
4
4
|
|
|
5
|
+
/* Font Sets */
|
|
6
|
+
|
|
7
|
+
@font-face {
|
|
8
|
+
font-family: GillSans;
|
|
9
|
+
font-weight: normal;
|
|
10
|
+
font-style: normal;
|
|
11
|
+
src: url(../fonts/GillSans.ttc);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/* Main Styles */
|
|
5
15
|
|
|
6
16
|
html {
|
|
7
17
|
margin: 0;
|
|
8
|
-
font: 10pt/1.26
|
|
18
|
+
font-size: 10pt/1.26;
|
|
9
19
|
}
|
|
10
20
|
|
|
11
21
|
body {
|
|
@@ -13,7 +23,6 @@ body {
|
|
|
13
23
|
}
|
|
14
24
|
|
|
15
25
|
h1, h2, h3, h4, h5, h6 {
|
|
16
|
-
font-family: "Gill Sans", sans-serif;
|
|
17
26
|
margin: 2em 0 0.5em 0;
|
|
18
27
|
page-break-after: avoid;
|
|
19
28
|
}
|
|
@@ -88,8 +97,6 @@ div.sidebar {
|
|
|
88
97
|
background: #CCC;
|
|
89
98
|
padding: 0.5em 1em;
|
|
90
99
|
page-break-inside: avoid;
|
|
91
|
-
column-count: 2;
|
|
92
|
-
column-gap: 1.5em;
|
|
93
100
|
}
|
|
94
101
|
|
|
95
102
|
div.sidebar h2 {
|
|
@@ -100,7 +107,6 @@ div.sidebar h2 {
|
|
|
100
107
|
|
|
101
108
|
div.figure {
|
|
102
109
|
margin: 1em 0;
|
|
103
|
-
counter-increment: figure;
|
|
104
110
|
}
|
|
105
111
|
|
|
106
112
|
div.figure .caption, div.table .caption {
|
|
@@ -124,7 +130,6 @@ div.table .caption::before {
|
|
|
124
130
|
|
|
125
131
|
div.table {
|
|
126
132
|
margin: 1em 0;
|
|
127
|
-
counter-increment: table;
|
|
128
133
|
}
|
|
129
134
|
|
|
130
135
|
div.table th {
|
|
@@ -143,110 +148,14 @@ table.lined td, table.lined th {
|
|
|
143
148
|
padding-bottom: 0.2em;
|
|
144
149
|
}
|
|
145
150
|
|
|
146
|
-
|
|
147
|
-
@page {
|
|
148
|
-
margin: 27mm 16mm 27mm 16mm;
|
|
149
|
-
size: 7in 9.25in;
|
|
150
|
-
|
|
151
|
-
@footnotes {
|
|
152
|
-
border-top: thin solid black;
|
|
153
|
-
padding-top: 0.3em;
|
|
154
|
-
margin-top: 0.6em;
|
|
155
|
-
margin-left: 30%;
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
/* define default page and names pages: cover, blank, frontmatter */
|
|
161
|
-
|
|
162
|
-
@page :left {
|
|
163
|
-
@top-left {
|
|
164
|
-
font: 11pt "Gill Sans", serif;
|
|
165
|
-
content: "Cascading Style Sheets";
|
|
166
|
-
vertical-align: bottom;
|
|
167
|
-
padding-bottom: 2em;
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
@bottom-left {
|
|
171
|
-
font: 11pt "Gill Sans", serif;
|
|
172
|
-
content: counter(page);
|
|
173
|
-
padding-top: 2em;
|
|
174
|
-
vertical-align: top;
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
@page :right {
|
|
179
|
-
@top-right {
|
|
180
|
-
font: 11pt "Gill Sans", serif;
|
|
181
|
-
content: string(header, first);
|
|
182
|
-
vertical-align: bottom;
|
|
183
|
-
padding-bottom: 2em;
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
@bottom-right {
|
|
187
|
-
font: 11pt "Gill Sans", serif;
|
|
188
|
-
content: counter(page);
|
|
189
|
-
text-align: right;
|
|
190
|
-
vertical-align: top;
|
|
191
|
-
padding-top: 2em;
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
@page frontmatter :left {
|
|
196
|
-
@top-left {
|
|
197
|
-
font: 11pt "Gill Sans", serif;
|
|
198
|
-
content: string(title);
|
|
199
|
-
vertical-align: bottom;
|
|
200
|
-
padding-bottom: 2em;
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
@bottom-left {
|
|
204
|
-
font: 11pt "Gill Sans", serif;
|
|
205
|
-
content: counter(page, lower-roman);
|
|
206
|
-
padding-top: 2em;
|
|
207
|
-
vertical-align: top;
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
@page cover { margin: 0; }
|
|
212
|
-
|
|
213
|
-
@page frontmatter :right {
|
|
214
|
-
@top-right {
|
|
215
|
-
font: 11pt "Gill Sans", serif;
|
|
216
|
-
content: string(header, first);
|
|
217
|
-
vertical-align: bottom;
|
|
218
|
-
padding-bottom: 2em;
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
@bottom-right {
|
|
222
|
-
font: 11pt "Gill Sans", serif;
|
|
223
|
-
content: counter(page, lower-roman);
|
|
224
|
-
text-align: right;
|
|
225
|
-
vertical-align: top;
|
|
226
|
-
padding-top: 2em;
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
@page blank :left {
|
|
231
|
-
@top-left { content: normal }
|
|
232
|
-
@bottom-left { content: normal }
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
@page blank :right {
|
|
236
|
-
@top-right { content: normal }
|
|
237
|
-
@bottom-right { content: normal }
|
|
238
|
-
}
|
|
239
|
-
|
|
240
151
|
/* footnotes */
|
|
241
152
|
|
|
242
153
|
.footnote {
|
|
243
154
|
display: none; /* default rule */
|
|
244
155
|
|
|
245
|
-
display: prince-footnote; /* prince-specific rules */
|
|
246
156
|
position: footnote;
|
|
247
157
|
footnote-style-position: inside;
|
|
248
158
|
|
|
249
|
-
counter-increment: footnote;
|
|
250
159
|
margin-left: 1.4em;
|
|
251
160
|
font-size: 90%;
|
|
252
161
|
line-height: 1.4;
|
|
@@ -305,53 +214,6 @@ div.appendix, div.bibliography, div.glossary, div.index, div.colophon {
|
|
|
305
214
|
}
|
|
306
215
|
div.backcover { page-break-before: left }
|
|
307
216
|
|
|
308
|
-
/* the front cover; this code is probably not very reusable by other books */
|
|
309
|
-
|
|
310
|
-
div.frontcover { page: cover; }
|
|
311
|
-
|
|
312
|
-
div.frontcover img {
|
|
313
|
-
position: absolute;
|
|
314
|
-
width: 7in; height: 9.25in;
|
|
315
|
-
left: 0; top: 0;
|
|
316
|
-
z-index: -1;
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
div.frontcover h1 {
|
|
320
|
-
position: absolute;
|
|
321
|
-
left: 2cm; top: 1cm;
|
|
322
|
-
color: white;
|
|
323
|
-
font-size: 44pt;
|
|
324
|
-
font-weight: normal;
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
div.frontcover h2 {
|
|
328
|
-
position: absolute;
|
|
329
|
-
right: 0; top: 5cm;
|
|
330
|
-
color: black;
|
|
331
|
-
background: white;
|
|
332
|
-
font-size: 16pt;
|
|
333
|
-
font-weight: normal;
|
|
334
|
-
padding: 0.2em 5em 0.2em 1em;
|
|
335
|
-
letter-spacing: 0.15em;
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
div.frontcover h3 {
|
|
339
|
-
position: absolute;
|
|
340
|
-
left: 2cm; top: 7cm;
|
|
341
|
-
color: white;
|
|
342
|
-
font-size: 24pt;
|
|
343
|
-
font-weight: normal;
|
|
344
|
-
}
|
|
345
|
-
|
|
346
|
-
div.frontcover p {
|
|
347
|
-
position: absolute;
|
|
348
|
-
left: 2cm; bottom: 1.5cm;
|
|
349
|
-
font-size: 24pt;
|
|
350
|
-
color: black;
|
|
351
|
-
font-weight: bold;
|
|
352
|
-
text-transform: uppercase;
|
|
353
|
-
}
|
|
354
|
-
|
|
355
217
|
|
|
356
218
|
/* titlepage, halftitlepage */
|
|
357
219
|
|
|
@@ -373,7 +235,7 @@ div.imprint img {
|
|
|
373
235
|
width: 200px; height: 157px;
|
|
374
236
|
}
|
|
375
237
|
|
|
376
|
-
/* TOC
|
|
238
|
+
/* TOC
|
|
377
239
|
|
|
378
240
|
ol.toc, ol.toc ol {
|
|
379
241
|
list-style-type: none;
|
|
@@ -407,11 +269,10 @@ ol.toc > li.chapter::before {
|
|
|
407
269
|
counter-increment: toc-chapter;
|
|
408
270
|
page-break-after: avoid;
|
|
409
271
|
}
|
|
272
|
+
*/
|
|
410
273
|
|
|
411
274
|
/* chapter numbers */
|
|
412
275
|
|
|
413
|
-
div.chapter { counter-increment: chapter; }
|
|
414
|
-
|
|
415
276
|
h1::before {
|
|
416
277
|
white-space: pre;
|
|
417
278
|
margin-left: -2.5cm;
|
|
@@ -419,22 +280,14 @@ h1::before {
|
|
|
419
280
|
content: "\B0 \B0 \B0 \B0 \B0 \A"; /* ornaments */
|
|
420
281
|
}
|
|
421
282
|
|
|
422
|
-
div.chapter h1::before { content: "Chapter " counter(chapter) " \A"; }
|
|
423
|
-
|
|
424
|
-
div.frontcover h1::before, div.titlepage h1::before, div.halftitlepage h1::before {
|
|
425
|
-
content: normal; /* that is, none */
|
|
426
|
-
}
|
|
427
|
-
|
|
428
283
|
h1 { string-set: header content();}
|
|
429
|
-
div.chapter h1 { string-set: header "Chapter " counter(chapter) ": " content(); }
|
|
430
284
|
|
|
431
285
|
/* index */
|
|
432
286
|
|
|
433
287
|
ol.index {
|
|
434
288
|
list-style-type: none;
|
|
435
289
|
margin: 0; padding: 0;
|
|
436
|
-
|
|
437
|
-
column-gap: 1em;
|
|
290
|
+
|
|
438
291
|
}
|
|
439
292
|
|
|
440
293
|
ul.index a::after { content: ", " target-counter(attr(href), page); }
|
|
@@ -448,12 +301,4 @@ span.element, span.attribute {
|
|
|
448
301
|
span.property { font-weight: bold }
|
|
449
302
|
code, span.css, span.value, span.declaration {
|
|
450
303
|
font: 90% "Lucida Console", "Lucida Sans Typewriter", monospace;
|
|
451
|
-
}
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
@media screen, handheld {
|
|
455
|
-
html { margin: 1em; font: 14px "Gill Sans", sans-serif; }
|
|
456
|
-
h1 { margin-bottom: 0.5em }
|
|
457
|
-
div.frontcover, div.halftitlepage,
|
|
458
|
-
div.dedication, div.foreword, div.toc, div.index { display: none }
|
|
459
304
|
}
|