bookshop 0.0.21 → 0.0.22

Sign up to get free protection for your applications and to get access to all the features.
Files changed (27) hide show
  1. data/README.rdoc +17 -51
  2. data/lib/bookshop/commands/build.rb +5 -10
  3. data/lib/bookshop/commands/epub/epub_build.rb +61 -37
  4. data/lib/bookshop/commands/epub/templates/OEBPS/.empty_directory +0 -0
  5. data/lib/bookshop/commands/epub/templates/OEBPS/{content.opf.erb → content.opf.tt} +0 -0
  6. data/lib/bookshop/commands/epub/templates/OEBPS/{toc.opf.erb → toc.opf.tt} +0 -0
  7. data/lib/bookshop/generators/bookshop/app/templates/README.rdoc +17 -51
  8. data/lib/bookshop/{commands/epub/templates/OEBPS → generators/bookshop/app/templates/book/assets/css}/page-template.xpgt +0 -0
  9. data/lib/bookshop/generators/bookshop/app/templates/book/{css/stylesheet.css → assets/css/stylesheet.epub.css} +0 -0
  10. data/lib/bookshop/generators/bookshop/app/templates/book/assets/css/stylesheet.html.css +451 -0
  11. data/lib/bookshop/generators/bookshop/app/templates/book/assets/css/stylesheet.mobi.css +451 -0
  12. data/lib/bookshop/generators/bookshop/app/templates/book/assets/css/stylesheet.pdf.css +451 -0
  13. data/lib/bookshop/generators/bookshop/app/templates/book/{images → assets/images}/canvas.jpg +0 -0
  14. data/lib/bookshop/generators/bookshop/app/templates/book/{images → assets/images}/draft.png +0 -0
  15. data/lib/bookshop/generators/bookshop/app/templates/book/{images → assets/images}/html-18.png +0 -0
  16. data/lib/bookshop/generators/bookshop/app/templates/book/assets/js/.empty_directory +0 -0
  17. data/lib/bookshop/generators/bookshop/app/templates/book/book.html.erb +13 -6
  18. data/lib/bookshop/generators/bookshop/app/templates/book/ch01/adding_images.html.erb +1 -1
  19. data/lib/bookshop/generators/bookshop/app/templates/book/cover.html.erb +1 -1
  20. data/lib/bookshop/generators/bookshop/app/templates/builds/epub/META-INF/.empty_directory +0 -0
  21. data/lib/bookshop/generators/bookshop/app/templates/builds/epub/META-INF/container.xml +6 -0
  22. data/lib/bookshop/generators/bookshop/app/templates/builds/epub/OEBPS/.empty_directory +0 -0
  23. data/lib/bookshop/generators/bookshop/app/templates/builds/epub/mimetype +1 -0
  24. data/lib/bookshop/generators/bookshop/app/templates/config/book.yml +2 -2
  25. data/lib/bookshop/generators/bookshop/app/templates/script/bookshop +1 -0
  26. data/lib/bookshop/version.rb +1 -1
  27. metadata +44 -26
@@ -0,0 +1,451 @@
1
+ /* Sample style sheet for boom!, the book microformat */
2
+ /* written by Hakon Wium Lie and Bert Bos, November 2005 */
3
+ /* You may reuse this style sheet for any purpose without any fees */
4
+
5
+
6
+ html {
7
+ margin: 0;
8
+ font: 10pt/1.26 "Gill Sans", sans-serif;
9
+ }
10
+
11
+ body {
12
+ margin: 0 0 0 28%;
13
+ }
14
+
15
+ h1, h2, h3, h4, h5, h6 {
16
+ font-family: "Gill Sans", sans-serif;
17
+ margin: 2em 0 0.5em 0;
18
+ page-break-after: avoid;
19
+ }
20
+
21
+ h1 {
22
+ padding: 2em 0 2em 0;
23
+ margin: 0;
24
+ font-size: 2.4em;
25
+ font-weight: 900;
26
+ }
27
+
28
+ h2 {
29
+ font-size: 1.2em;
30
+ text-transform: uppercase;
31
+ font-weight: bold;
32
+ }
33
+
34
+ h3 {
35
+ font-size: 1em;
36
+ font-weight: bold;
37
+ }
38
+
39
+ q::before {
40
+ content: "\201C";
41
+ }
42
+
43
+ q::after {
44
+ content: "\201D";
45
+ }
46
+
47
+ p { margin: 0 0 .5em 0 }
48
+ p + p { text-indent: 1.3em }
49
+ p.sidenote + p, p.caption, p.art { text-indent: 0; }
50
+
51
+ p.author {
52
+ margin-top: 2em;
53
+ text-indent: 0;
54
+ text-align: right;
55
+ }
56
+
57
+ pre { margin: 1em 1.3em; }
58
+
59
+ a { text-decoration: underline; color: blue }
60
+
61
+ /* cross-references */
62
+
63
+ a.pageref::after { content: " on page " target-counter(attr(href), page); }
64
+ a.chapref::before { content: " Chapter " target-counter(attr(href), chapter) ", "; }
65
+ a.figref { content: " Figure " target-counter(attr(href), figure); }
66
+ a.tableref { content: " Table " target-counter(attr(href), figure); }
67
+
68
+ /* sidenotes */
69
+
70
+ .sidenote {
71
+ float: left;
72
+ clear: left;
73
+ margin: 0 0 1em -41%;
74
+ width: 37%;
75
+ font-size: 0.9em;
76
+ font-style: normal;
77
+ text-indent: 0;
78
+ text-align: right;
79
+ page-break-inside: avoid;
80
+ }
81
+
82
+ /* sidebars */
83
+
84
+ div.sidebar {
85
+ float: top-next;
86
+ margin: 1.2em 0 1.2em 0;
87
+ border: thin solid;
88
+ background: #CCC;
89
+ padding: 0.5em 1em;
90
+ page-break-inside: avoid;
91
+ column-count: 2;
92
+ column-gap: 1.5em;
93
+ }
94
+
95
+ div.sidebar h2 {
96
+ margin-top: 0;
97
+ }
98
+
99
+ /* figures and tables*/
100
+
101
+ div.figure {
102
+ margin: 1em 0;
103
+ counter-increment: figure;
104
+ }
105
+
106
+ div.figure .caption, div.table .caption {
107
+ float: left;
108
+ clear: left;
109
+ width: 37%;
110
+ text-align: right;
111
+ font-size: 0.9em;
112
+ margin: 0 0 1.2em -40%;
113
+ }
114
+
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
+ div.table {
126
+ margin: 1em 0;
127
+ counter-increment: table;
128
+ }
129
+
130
+ div.table th {
131
+ text-align: left;
132
+ }
133
+
134
+ table th, table td {
135
+ text-align: left;
136
+ padding-right: 1em;
137
+ }
138
+
139
+ table.lined td, table.lined th {
140
+ border-top: none;
141
+ border-bottom: thin dotted;
142
+ padding-top: 0.2em;
143
+ padding-bottom: 0.2em;
144
+ }
145
+
146
+
147
+ @page {
148
+ margin: 27mm 25mm 27mm 25mm;
149
+ size: 6in 9in;
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; background-color: grey;}
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
+ /* footnotes */
241
+
242
+ .footnote {
243
+ display: none; /* default rule */
244
+
245
+ display: prince-footnote; /* prince-specific rules */
246
+ position: footnote;
247
+ footnote-style-position: inside;
248
+
249
+ counter-increment: footnote;
250
+ margin-left: 1.4em;
251
+ font-size: 90%;
252
+ line-height: 1.4;
253
+ }
254
+
255
+ .footnote::footnote-call {
256
+ vertical-align: super;
257
+ font-size: 80%;
258
+ }
259
+
260
+ .footnote::footnote-marker {
261
+ vertical-align: super;
262
+ color: green;
263
+ padding-right: 0.4em;
264
+ }
265
+
266
+
267
+ /*
268
+ A book consists of different types of sections. We propose to use
269
+ DIV elements with these class names:
270
+
271
+ frontcover
272
+ halftitlepage: contains the title of the book
273
+ titlepage: contains the title of the book, name of author(s) and publisher
274
+ imprint: left page with copyright, publisher, library printing information
275
+ dedication: right page with short dedication
276
+ foreword: written by someone other than the author(s)
277
+ toc: table of contents
278
+ preface: preface, including acknowledgements
279
+ chapter: each chapter is given its own DIV element
280
+ references: contains list of references
281
+ appendix: each appendix is given its own
282
+ bibliography
283
+ glossary
284
+ index
285
+ colophon: describes how the book was produced
286
+ backcover
287
+
288
+ A book will use several of the types listed above, but few books
289
+ will use all of them.
290
+ */
291
+
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
+
298
+ /* page breaks */
299
+
300
+ div.frontcover, div.halftitlepage, div.titlepage { page-break-before: right }
301
+ div.imprint { page-break-before: always }
302
+ div.dedication, div.foreword, div.toc, div.preface, div.chapter, div.reference,
303
+ div.appendix, div.bibliography, div.glossary, div.index, div.colophon {
304
+ page-break-before: always
305
+ }
306
+ div.backcover { page-break-before: left }
307
+
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
+
356
+ /* titlepage, halftitlepage */
357
+
358
+ div.titlepage h1, div.halftitlepage h1 { margin-bottom: 2em; }
359
+ div.titlepage h2, div.halftitlepage h2 { font-size: 1.2em; margin-bottom: 3em; }
360
+ div.titlepage h3, div.halftitlepage h3 { font-size: 1em; margin-bottom: 3em; }
361
+ div.titlepage p, div.halftitlepage p {
362
+ font-size: 1.4em;
363
+ font-weight: bold;
364
+ margin: 0; padding: 0;
365
+ }
366
+
367
+
368
+ /* TOC */
369
+
370
+ ul.toc, ul.toc ul {
371
+ list-style-type: none;
372
+ margin: 0; padding: 0;
373
+ }
374
+ ul.toc ul {
375
+ margin-left: 1em;
376
+ font-weight: normal;
377
+ }
378
+ ul.toc > li {
379
+ font-weight: bold;
380
+ margin-bottom: 0.5em;
381
+ }
382
+ ul.toc a::after {
383
+ content: leader('.') target-counter(attr(href), page);
384
+ font-style: normal;
385
+ }
386
+ ul.toc > li.frontmatter a::after {
387
+ content: leader('.') target-counter(attr(href), page, lower-roman);
388
+ font-style: normal;
389
+ }
390
+ ul.toc > li.endmatter a::after {
391
+ content: leader('.') target-counter(attr(href), page);
392
+ font-style: normal;
393
+ }
394
+ ul.toc > li.chapter::before {
395
+ content: "Chapter " counter(toc-chapter, decimal);
396
+ display: block;
397
+ margin: 1em 0 0.1em -2.5cm;
398
+ font-weight: normal;
399
+ counter-increment: toc-chapter;
400
+ page-break-after: avoid;
401
+ }
402
+
403
+ /* chapter numbers */
404
+
405
+ div.chapter { counter-increment: chapter; }
406
+
407
+ h1::before {
408
+ white-space: pre;
409
+ margin-left: -2.5cm;
410
+ font-size: 50%;
411
+ content: "\B0 \B0 \B0 \B0 \B0 \A"; /* ornaments */
412
+ }
413
+
414
+ div.chapter h1::before { content: "Chapter " counter(chapter) " \A"; }
415
+
416
+ div.frontcover h1::before, div.titlepage h1::before, div.halftitlepage h1::before {
417
+ content: normal; /* that is, none */
418
+ }
419
+
420
+ h1 { string-set: header content();}
421
+ div.chapter h1 { string-set: header "Chapter " counter(chapter) ": " content(); }
422
+
423
+ /* index */
424
+
425
+ ul.index {
426
+ list-style-type: none;
427
+ margin: 0; padding: 0;
428
+ column-count: 2;
429
+ column-gap: 1em;
430
+ }
431
+
432
+ ul.index a::after { content: ", " target-counter(attr(href), page); }
433
+
434
+
435
+ span.element, span.attribute {
436
+ text-transform: uppercase;
437
+ font-weight: bold;
438
+ font-size: 80%;
439
+ }
440
+ span.property { font-weight: bold }
441
+ code, span.css, span.value, span.declaration {
442
+ font: 90% "Lucida Console", "Lucida Sans Typewriter", monospace;
443
+ }
444
+
445
+
446
+ @media screen, handheld {
447
+ html { margin: 1em; font: 14px "Gill Sans", sans-serif; }
448
+ h1 { margin-bottom: 0.5em }
449
+ div.frontcover, div.halftitlepage, div.titlepage, div.imprint,
450
+ div.dedication, div.foreword, div.toc, div.index { display: none }
451
+ }