asciibook 0.0.2 → 0.0.3
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/README.adoc +18 -48
- data/lib/asciibook/book.rb +14 -11
- data/lib/asciibook/page.rb +38 -1
- data/lib/asciibook/version.rb +1 -1
- data/templates/admonition.html +1 -0
- data/templates/inline_break.html +1 -0
- data/theme/html/html.css +346 -45
- data/theme/html/html.js +134 -4
- data/theme/html/icon.png +0 -0
- data/theme/html/layout.html +137 -38
- data/theme/pdf/pdf.css +2 -1
- data/theme/share/default.css +24 -30
- metadata +4 -8
- data/theme/share/fontawesome/fa-solid-900.eot +0 -0
- data/theme/share/fontawesome/fa-solid-900.ttf +0 -0
- data/theme/share/fontawesome/fa-solid-900.woff +0 -0
- data/theme/share/fontawesome/fa-solid-900.woff2 +0 -0
- data/theme/share/fontawesome/fontawesome.css +0 -4429
- data/theme/share/fontawesome/solid.css +0 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ac1b2f6cc55318830a04ebb0c2051e075ead0a2cd24a66ae9b77a97f04e8727e
|
4
|
+
data.tar.gz: af327832e1592d2b99f455e41f4d3c32370988d20adc3b6c05b54146e3416343
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c7a0ea1bd7f7e059f26f339083d11bea1795defd89e8ab06401deb3e0708abdc78a51b87712d45d1e23848d98b7a68311bcbef0fb6f3abfeca85f345182551a2
|
7
|
+
data.tar.gz: 811f7da4d3876bd5a76ceb5f63ccb61bbc31e13baaeaf6bcfde1177ef435487ea897c9c879451cd027821a9c90f60fe633d3c5b774f844b9fdc9fdc2d1d84e78
|
data/README.adoc
CHANGED
@@ -5,88 +5,58 @@ Asciibook is an Ebook generator for converting AsciiDoc to HTML, PDF, EPUB and M
|
|
5
5
|
|
6
6
|
== Installation
|
7
7
|
|
8
|
-
|
8
|
+
Asciibook uses docker as distribution tool. Docker helps deal with dependencies, keeps the local environment clean, and works well with CI / CD tools.
|
9
9
|
|
10
|
-
|
10
|
+
You can download and install docker in https://www.docker.com/products/docker-desktop .
|
11
11
|
|
12
|
-
|
13
|
-
=== Manual installation
|
14
|
-
|
15
|
-
Install by rubygems:
|
16
|
-
|
17
|
-
[source, console]
|
18
|
-
----
|
19
|
-
$ gem install asciibook
|
20
|
-
----
|
21
|
-
|
22
|
-
For PDF generate, download and install wkhtmltopdf in https://wkhtmltopdf.org/downloads.html .
|
23
|
-
|
24
|
-
For Mobi generate, download and install kindlegen in https://www.amazon.com/gp/feature.html?ie=UTF8&docId=1000765211 .
|
25
|
-
|
26
|
-
|
27
|
-
[[docker-installation]]
|
28
|
-
=== Docker Installation
|
29
|
-
|
30
|
-
Pull docker image:
|
12
|
+
After installed docker, Pull the docker image:
|
31
13
|
|
32
14
|
[source, consle]
|
33
15
|
----
|
34
16
|
$ docker pull asciibook/asciibook
|
35
17
|
----
|
36
18
|
|
37
|
-
Then use asciibook CLI in this way:
|
38
|
-
|
39
|
-
[source, console]
|
40
|
-
----
|
41
|
-
$ docker run -v $(pwd):/asciibook asciibook/asciibook asciibook build mybook.adoc
|
42
|
-
----
|
43
|
-
|
44
|
-
Or enter the container environment to avoid repeating lengthy commands:
|
45
|
-
|
46
|
-
[source, console]
|
47
|
-
----
|
48
|
-
$ docker run -v $(pwd):/asciibook asciibook/asciibook bash
|
49
|
-
/asciibook $ asciibook build mybook.adoc
|
50
|
-
----
|
51
|
-
|
52
19
|
== Usage
|
53
20
|
|
54
|
-
|
21
|
+
First, enter container enviroment in your AsciiDoc file diretory:
|
55
22
|
|
56
23
|
[source, console]
|
57
24
|
----
|
58
|
-
$
|
25
|
+
$ docker run -it -v $(pwd):/asciibook asciibook/asciibook bash
|
26
|
+
/asciibook #
|
59
27
|
----
|
60
28
|
|
61
|
-
|
29
|
+
Following command is executed inside the container environment.
|
62
30
|
|
63
|
-
|
31
|
+
For a existing AsciiDoc file, run this command to build all formats:
|
64
32
|
|
65
33
|
[source, console]
|
66
34
|
----
|
67
|
-
|
68
|
-
$ asciibook build mybook.adoc --format pdf,mobi
|
35
|
+
/asciibook # ascibook build mybook.adoc
|
69
36
|
----
|
70
37
|
|
71
|
-
|
38
|
+
Generated results will be placed in the `build` folder.
|
39
|
+
|
40
|
+
Or generate partial formats:
|
72
41
|
|
73
42
|
[source, console]
|
74
43
|
----
|
75
|
-
|
44
|
+
/asciibook # asciibook build mybook.adoc --format html
|
45
|
+
/asciibook # asciibook build mybook.adoc --format pdf,mobi
|
76
46
|
----
|
77
47
|
|
78
|
-
|
48
|
+
If you don't want to type the parameters repeatedly, you can create a configuration file for the document:
|
79
49
|
|
80
50
|
[source, console]
|
81
51
|
----
|
82
|
-
|
52
|
+
/asciibook # asciibook init mybook.adoc
|
83
53
|
----
|
84
54
|
|
85
|
-
|
55
|
+
It will create a config file named `asciibook.yml` in the same directory, edit config for your need, then use this command to build next time:
|
86
56
|
|
87
57
|
[source, console]
|
88
58
|
----
|
89
|
-
|
59
|
+
/asciibook # asciibook build
|
90
60
|
----
|
91
61
|
|
92
62
|
== Development
|
data/lib/asciibook/book.rb
CHANGED
@@ -46,21 +46,24 @@ module Asciibook
|
|
46
46
|
doc.attributes['cover-image']
|
47
47
|
end
|
48
48
|
|
49
|
-
def
|
50
|
-
|
49
|
+
def outline
|
50
|
+
outline_node(doc)
|
51
51
|
end
|
52
52
|
|
53
|
-
|
53
|
+
# book outline only list sections that split as page
|
54
|
+
def outline_node(node)
|
54
55
|
data = []
|
55
56
|
node.sections.each do |section|
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
57
|
+
if section.page
|
58
|
+
section_data = {
|
59
|
+
'title' => section.xreftext,
|
60
|
+
'path' => section.page.path
|
61
|
+
}
|
62
|
+
if section.sections.count > 0 and section.level < @page_level
|
63
|
+
section_data['items'] = outline_node(section)
|
64
|
+
end
|
65
|
+
data << section_data
|
62
66
|
end
|
63
|
-
data << section_data
|
64
67
|
end
|
65
68
|
data
|
66
69
|
end
|
@@ -79,7 +82,7 @@ module Asciibook
|
|
79
82
|
{
|
80
83
|
'title' => doc.attributes['doctitle'],
|
81
84
|
'attributes' => doc.attributes,
|
82
|
-
'
|
85
|
+
'outline' => outline
|
83
86
|
}
|
84
87
|
end
|
85
88
|
|
data/lib/asciibook/page.rb
CHANGED
@@ -14,7 +14,41 @@ module Asciibook
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def content
|
17
|
-
node.convert
|
17
|
+
@content ||= node.convert
|
18
|
+
end
|
19
|
+
|
20
|
+
def doc
|
21
|
+
@doc ||= Nokogiri::HTML.fragment(content)
|
22
|
+
end
|
23
|
+
|
24
|
+
def image_url
|
25
|
+
doc.css('img').first&.attr('src')
|
26
|
+
end
|
27
|
+
|
28
|
+
def description
|
29
|
+
doc.css('p').first&.text
|
30
|
+
end
|
31
|
+
|
32
|
+
def outline
|
33
|
+
outline_node(@node)
|
34
|
+
end
|
35
|
+
|
36
|
+
# page outline only list sections that not split as page
|
37
|
+
def outline_node(node)
|
38
|
+
data = []
|
39
|
+
node.sections.each do |section|
|
40
|
+
if !section.page
|
41
|
+
section_data = {
|
42
|
+
'title' => section.xreftext,
|
43
|
+
'path' => "##{section.id}"
|
44
|
+
}
|
45
|
+
if section.sections.count > 0
|
46
|
+
section_data['items'] = outline_node(section)
|
47
|
+
end
|
48
|
+
data << section_data
|
49
|
+
end
|
50
|
+
end
|
51
|
+
data
|
18
52
|
end
|
19
53
|
|
20
54
|
def to_hash
|
@@ -22,6 +56,9 @@ module Asciibook
|
|
22
56
|
'path' => path,
|
23
57
|
'title' => title,
|
24
58
|
'content' => content,
|
59
|
+
'image_url' => image_url,
|
60
|
+
'description' => description,
|
61
|
+
'outline' => outline,
|
25
62
|
'prev_page' => prev_page && { 'path' => prev_page.path, 'title' => prev_page.title },
|
26
63
|
'next_page' => next_page && { 'path' => next_page.path, 'title' => next_page.title }
|
27
64
|
}
|
data/lib/asciibook/version.rb
CHANGED
data/templates/admonition.html
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
<div class="admonition admonition-{{ node.attributes.name }}" {% if node.id %}id="{{ node.id }}"{% endif %}>
|
2
2
|
<div class="admonition-icon">
|
3
|
+
<b>{{ node.attributes.name | upcase }}</b>
|
3
4
|
</div>
|
4
5
|
<div class="admonition-content">
|
5
6
|
{% if node.title %}<h5>{{ node.title }}</h5>{% endif %}
|
@@ -0,0 +1 @@
|
|
1
|
+
{{ node.text }}<br/>
|
data/theme/html/html.css
CHANGED
@@ -1,16 +1,97 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
html,
|
2
|
+
body {
|
3
|
+
height: 100%;
|
4
|
+
}
|
5
|
+
|
6
|
+
.preload * {
|
7
|
+
-webkit-transition: none !important;
|
8
|
+
-moz-transition: none !important;
|
9
|
+
-ms-transition: none !important;
|
10
|
+
-o-transition: none !important;
|
11
|
+
}
|
12
|
+
|
13
|
+
.drawer .drawer-content {
|
14
|
+
width: 240px;
|
15
|
+
position: absolute;
|
3
16
|
top: 0;
|
17
|
+
left: -240px;
|
18
|
+
bottom: 0;
|
19
|
+
overflow-y: auto;
|
20
|
+
transition: left 0.15s;
|
21
|
+
background: #fafafa;
|
22
|
+
border-right: 1px solid #eee;
|
23
|
+
box-sizing: border-box;
|
24
|
+
}
|
25
|
+
|
26
|
+
.drawer.open .drawer-content {
|
4
27
|
left: 0;
|
28
|
+
}
|
29
|
+
|
30
|
+
.drawer-menu ol {
|
31
|
+
list-style: none;
|
32
|
+
padding: 0;
|
33
|
+
margin: 0;
|
34
|
+
}
|
35
|
+
|
36
|
+
.drawer-menu-item {
|
37
|
+
padding: 10px 16px;
|
38
|
+
display: block;
|
39
|
+
text-decoration: none;
|
40
|
+
color: #555;
|
41
|
+
font-size: 14px;
|
42
|
+
line-height: 20px;
|
43
|
+
}
|
44
|
+
|
45
|
+
.drawer-menu-item:hover {
|
46
|
+
background: rgba(0, 0, 0, 0.05);
|
47
|
+
color: #333;
|
48
|
+
}
|
49
|
+
|
50
|
+
.drawer-menu-item.active {
|
51
|
+
background: rgba(0, 0, 0, 0.05);
|
52
|
+
color: #3f51b5;
|
53
|
+
}
|
54
|
+
|
55
|
+
.drawer-menu ol ol .drawer-menu-item {
|
56
|
+
padding-left: 32px;
|
57
|
+
}
|
58
|
+
|
59
|
+
.main {
|
60
|
+
position: absolute;
|
61
|
+
top: 0;
|
5
62
|
right: 0;
|
6
|
-
|
63
|
+
left: 0;
|
64
|
+
bottom: 0;
|
65
|
+
transition: left 0.15s;
|
66
|
+
}
|
67
|
+
|
68
|
+
.drawer.open + .main {
|
69
|
+
left: 240px;
|
70
|
+
}
|
71
|
+
|
72
|
+
.main-content {
|
73
|
+
position: absolute;
|
74
|
+
top: 56px;
|
75
|
+
left: 0;
|
76
|
+
right: 0;
|
77
|
+
bottom: 0;
|
78
|
+
overflow-y: auto;
|
79
|
+
padding: 32px;
|
80
|
+
outline: 0;
|
81
|
+
}
|
82
|
+
|
83
|
+
.container {
|
84
|
+
max-width: 768px;
|
85
|
+
margin: 0 auto;
|
86
|
+
}
|
87
|
+
|
88
|
+
.toolbar {
|
89
|
+
padding: 4px;
|
7
90
|
display: flex;
|
8
|
-
background: white;
|
9
|
-
z-index: 100;
|
10
91
|
}
|
11
92
|
|
12
93
|
.toolbar-title {
|
13
|
-
padding:
|
94
|
+
padding: 12px;
|
14
95
|
flex-grow: 1;
|
15
96
|
font-weight: bold;
|
16
97
|
}
|
@@ -25,7 +106,7 @@
|
|
25
106
|
}
|
26
107
|
|
27
108
|
.toolbar-action {
|
28
|
-
padding:
|
109
|
+
padding: 4px;
|
29
110
|
}
|
30
111
|
|
31
112
|
.button {
|
@@ -41,24 +122,44 @@
|
|
41
122
|
line-height: 1;
|
42
123
|
border: none;
|
43
124
|
padding: 0;
|
125
|
+
color: #999;
|
126
|
+
}
|
127
|
+
|
128
|
+
.button:hover {
|
129
|
+
color: #555;
|
130
|
+
}
|
131
|
+
|
132
|
+
.button:active,
|
133
|
+
.button.active {
|
134
|
+
color: #333;
|
135
|
+
}
|
136
|
+
|
137
|
+
.button:disabled,
|
138
|
+
.button.disabled {
|
139
|
+
pointer-events: none;
|
140
|
+
opacity: 0.5;
|
141
|
+
}
|
142
|
+
|
143
|
+
.button-text {
|
144
|
+
padding: 8px 16px;
|
44
145
|
}
|
45
146
|
|
46
147
|
.button-icon {
|
47
|
-
padding:
|
148
|
+
padding: 8px;
|
149
|
+
border-radius: 50%;
|
48
150
|
}
|
49
151
|
|
50
152
|
.button-icon {
|
51
|
-
|
153
|
+
fill: #999;
|
52
154
|
}
|
53
155
|
|
54
156
|
.button-icon:hover {
|
55
|
-
|
157
|
+
fill: #555;
|
56
158
|
}
|
57
159
|
|
58
|
-
.button-icon
|
59
|
-
|
60
|
-
|
61
|
-
line-height: 1.2em;
|
160
|
+
.button-icon {
|
161
|
+
width: 40px;
|
162
|
+
height: 40px;
|
62
163
|
text-align: center;
|
63
164
|
}
|
64
165
|
|
@@ -69,7 +170,7 @@
|
|
69
170
|
.dropdown-menu {
|
70
171
|
display: none;
|
71
172
|
position: absolute;
|
72
|
-
min-width:
|
173
|
+
min-width: 240px;
|
73
174
|
max-width: 90%;
|
74
175
|
max-height: 480px;
|
75
176
|
top: 100%;
|
@@ -79,6 +180,7 @@
|
|
79
180
|
z-index: 10;
|
80
181
|
overflow-y: auto;
|
81
182
|
background: white;
|
183
|
+
font-size: 14px;
|
82
184
|
}
|
83
185
|
|
84
186
|
.dropdown.open .dropdown-menu {
|
@@ -93,9 +195,10 @@
|
|
93
195
|
|
94
196
|
.dropdown-menu-item {
|
95
197
|
display: block;
|
96
|
-
padding: 12px;
|
198
|
+
padding: 10px 12px;
|
97
199
|
text-decoration: none;
|
98
200
|
color: #555;
|
201
|
+
line-height: 20px;
|
99
202
|
}
|
100
203
|
|
101
204
|
.dropdown-menu-item:hover {
|
@@ -111,10 +214,54 @@
|
|
111
214
|
padding-left: 24px;
|
112
215
|
}
|
113
216
|
|
114
|
-
.
|
115
|
-
|
116
|
-
|
117
|
-
|
217
|
+
.dropdown-group {
|
218
|
+
margin: 16px;
|
219
|
+
}
|
220
|
+
|
221
|
+
.dropdown-group label {
|
222
|
+
display: block;
|
223
|
+
margin-bottom: 8px;
|
224
|
+
font-weight: bold;
|
225
|
+
color: #777;
|
226
|
+
}
|
227
|
+
|
228
|
+
.dropdown-options {
|
229
|
+
display: flex;
|
230
|
+
justify-content: space-between;
|
231
|
+
align-items: center;
|
232
|
+
}
|
233
|
+
|
234
|
+
.font-family-options .button {
|
235
|
+
justify-content: center;
|
236
|
+
flex-grow: 1;
|
237
|
+
}
|
238
|
+
|
239
|
+
.background-options .button {
|
240
|
+
border: 1px solid #ccc;
|
241
|
+
}
|
242
|
+
|
243
|
+
.background-options .button svg {
|
244
|
+
display: none;
|
245
|
+
}
|
246
|
+
|
247
|
+
.background-options .button.active svg {
|
248
|
+
display: block;
|
249
|
+
}
|
250
|
+
|
251
|
+
.background-options .button[data-value="white"] {
|
252
|
+
background: white;
|
253
|
+
}
|
254
|
+
|
255
|
+
.background-options .button[data-value="warm"] {
|
256
|
+
background: #fff8e1;
|
257
|
+
}
|
258
|
+
|
259
|
+
.background-options .button[data-value="dim"] {
|
260
|
+
background: #424242;
|
261
|
+
}
|
262
|
+
|
263
|
+
.background-options .button[data-value="black"] {
|
264
|
+
background: black;
|
118
265
|
}
|
119
266
|
|
120
267
|
.paginator {
|
@@ -122,19 +269,15 @@
|
|
122
269
|
|
123
270
|
.paginator a {
|
124
271
|
padding: 32px;
|
125
|
-
|
272
|
+
fill: #999;
|
126
273
|
text-decoration: none;
|
127
274
|
}
|
128
275
|
|
129
|
-
.paginator a
|
130
|
-
font-size: 1.25em;
|
131
|
-
width: 1.2em;
|
132
|
-
line-height: 1.2em;
|
133
|
-
text-align: center;
|
276
|
+
.paginator a svg {
|
134
277
|
}
|
135
278
|
|
136
279
|
.paginator a:hover {
|
137
|
-
|
280
|
+
fill: #555;
|
138
281
|
}
|
139
282
|
|
140
283
|
.paginator a.disabled {
|
@@ -145,8 +288,9 @@
|
|
145
288
|
display: flex;
|
146
289
|
flex-direction: column;
|
147
290
|
justify-content: center;
|
148
|
-
|
149
|
-
|
291
|
+
align-items: center;
|
292
|
+
position: absolute;
|
293
|
+
top: 56px;
|
150
294
|
bottom: 0;
|
151
295
|
left: 0;
|
152
296
|
}
|
@@ -155,23 +299,188 @@
|
|
155
299
|
display: flex;
|
156
300
|
flex-direction: column;
|
157
301
|
justify-content: center;
|
158
|
-
|
159
|
-
|
302
|
+
align-items: center;
|
303
|
+
position: absolute;
|
304
|
+
top: 56px;
|
160
305
|
bottom: 0;
|
161
306
|
right: 0;
|
162
307
|
}
|
163
308
|
|
164
|
-
|
165
|
-
|
309
|
+
/* Theme */
|
310
|
+
|
311
|
+
body[data-font-size="50"] .main-content {
|
312
|
+
font-size: 50%;
|
313
|
+
}
|
314
|
+
|
315
|
+
body[data-font-size="67"] .main-content {
|
316
|
+
font-size: 67%;
|
317
|
+
}
|
318
|
+
|
319
|
+
body[data-font-size="75"] .main-content {
|
320
|
+
font-size: 75%;
|
321
|
+
}
|
322
|
+
|
323
|
+
body[data-font-size="80"] .main-content {
|
324
|
+
font-size: 80%;
|
325
|
+
}
|
326
|
+
|
327
|
+
body[data-font-size="90"] .main-content {
|
328
|
+
font-size: 90%;
|
329
|
+
}
|
330
|
+
|
331
|
+
body[data-font-size="100"] .main-content {
|
332
|
+
font-size: 100%;
|
333
|
+
}
|
334
|
+
|
335
|
+
body[data-font-size="110"] .main-content {
|
336
|
+
font-size: 110%;
|
337
|
+
}
|
338
|
+
|
339
|
+
body[data-font-size="125"] .main-content {
|
340
|
+
font-size: 125%;
|
341
|
+
}
|
342
|
+
|
343
|
+
body[data-font-size="150"] .main-content {
|
344
|
+
font-size: 150%;
|
345
|
+
}
|
346
|
+
|
347
|
+
body[data-font-size="175"] .main-content {
|
348
|
+
font-size: 175%;
|
349
|
+
}
|
350
|
+
|
351
|
+
body[data-font-size="200"] .main-content {
|
352
|
+
font-size: 200%;
|
353
|
+
}
|
354
|
+
|
355
|
+
body[data-font-family="serif"] .main-content {
|
356
|
+
font-family: serif;
|
357
|
+
}
|
358
|
+
|
359
|
+
body[data-font-family="sans-serif"] .main-content {
|
360
|
+
font-family: sans-serif;
|
361
|
+
}
|
362
|
+
|
363
|
+
body[data-background="white"] {
|
364
|
+
background: white;
|
365
|
+
}
|
366
|
+
|
367
|
+
body[data-background="warm"] {
|
368
|
+
background: #fff8e1;
|
369
|
+
}
|
370
|
+
|
371
|
+
body[data-background="dim"] {
|
372
|
+
background: #424242;
|
373
|
+
}
|
374
|
+
|
375
|
+
body[data-background="dim"] .main-content,
|
376
|
+
body[data-background="dim"] .main-content h1,
|
377
|
+
body[data-background="dim"] .main-content h2,
|
378
|
+
body[data-background="dim"] .main-content h3,
|
379
|
+
body[data-background="dim"] .main-content h4,
|
380
|
+
body[data-background="dim"] .main-content h5,
|
381
|
+
body[data-background="dim"] .main-content h6 {
|
382
|
+
color: #ddd;
|
383
|
+
}
|
384
|
+
|
385
|
+
body[data-background="dim"] .main-content pre,
|
386
|
+
body[data-background="dim"] .main-content *:not(pre) code,
|
387
|
+
body[data-background="dim"] .main-content .example,
|
388
|
+
body[data-background="dim"] .main-content .sidebar,
|
389
|
+
body[data-background="dim"] .main-content blockquote {
|
390
|
+
background: transparent;
|
391
|
+
}
|
392
|
+
|
393
|
+
body[data-background="dim"] .main-content pre span {
|
394
|
+
color: #ddd;
|
395
|
+
}
|
396
|
+
|
397
|
+
body[data-background="dim"] .main-content a {
|
398
|
+
color: #81d4fa;
|
399
|
+
}
|
400
|
+
|
401
|
+
body[data-background="dim"] .main-content a.callout {
|
402
|
+
color: #ddd;
|
403
|
+
}
|
404
|
+
|
405
|
+
body[data-background="black"] {
|
406
|
+
background: black;
|
407
|
+
}
|
408
|
+
|
409
|
+
body[data-background="black"] .main-content,
|
410
|
+
body[data-background="black"] .main-content h1,
|
411
|
+
body[data-background="black"] .main-content h2,
|
412
|
+
body[data-background="black"] .main-content h3,
|
413
|
+
body[data-background="black"] .main-content h4,
|
414
|
+
body[data-background="black"] .main-content h5,
|
415
|
+
body[data-background="black"] .main-content h6 {
|
416
|
+
color: #ddd;
|
417
|
+
}
|
418
|
+
|
419
|
+
body[data-background="black"] .main-content pre,
|
420
|
+
body[data-background="black"] .main-content *:not(pre) code,
|
421
|
+
body[data-background="black"] .main-content .example,
|
422
|
+
body[data-background="black"] .main-content .sidebar,
|
423
|
+
body[data-background="black"] .main-content blockquote {
|
424
|
+
background: transparent;
|
166
425
|
}
|
167
426
|
|
168
|
-
|
427
|
+
body[data-background="black"] .main-content pre span {
|
428
|
+
color: #ddd;
|
429
|
+
}
|
430
|
+
|
431
|
+
body[data-background="black"] .main-content a {
|
432
|
+
color: #81d4fa;
|
433
|
+
}
|
434
|
+
|
435
|
+
body[data-background="black"] .main-content a.callout {
|
436
|
+
color: #ddd;
|
437
|
+
}
|
438
|
+
/* responsive */
|
439
|
+
|
440
|
+
@media (max-width: 1280px) {
|
441
|
+
.drawer.open .drawer-content {
|
442
|
+
z-index: 20;
|
443
|
+
background: white;
|
444
|
+
}
|
445
|
+
|
446
|
+
.drawer .drawer-backdrop {
|
447
|
+
display: none;
|
448
|
+
}
|
449
|
+
|
450
|
+
.drawer.open .drawer-backdrop {
|
451
|
+
display: block;
|
452
|
+
position: absolute;
|
453
|
+
top: 0;
|
454
|
+
left: 0;
|
455
|
+
right: 0;
|
456
|
+
bottom: 0;
|
457
|
+
z-index: 10;
|
458
|
+
background: rgba(0, 0, 0, 0.15);
|
459
|
+
}
|
460
|
+
|
461
|
+
.drawer.open + .main {
|
462
|
+
left: 0;
|
463
|
+
}
|
464
|
+
|
465
|
+
.drawer.open .drawer-content {
|
466
|
+
border: none;
|
467
|
+
box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
|
468
|
+
}
|
469
|
+
|
470
|
+
.main-content {
|
471
|
+
bottom: 56px;
|
472
|
+
}
|
473
|
+
|
169
474
|
.paginator {
|
170
475
|
display: flex;
|
476
|
+
position: absolute;
|
477
|
+
bottom: 0;
|
478
|
+
left: 0;
|
479
|
+
right: 0;
|
171
480
|
}
|
172
481
|
|
173
482
|
.paginator a {
|
174
|
-
padding:
|
483
|
+
padding: 16px;
|
175
484
|
}
|
176
485
|
|
177
486
|
.paginator-prev {
|
@@ -188,15 +497,7 @@
|
|
188
497
|
}
|
189
498
|
|
190
499
|
@media (max-width: 480px) {
|
191
|
-
.
|
192
|
-
padding:
|
193
|
-
}
|
194
|
-
|
195
|
-
.content {
|
196
|
-
padding: 1em;
|
197
|
-
}
|
198
|
-
|
199
|
-
.paginator a {
|
200
|
-
padding: 0.25em;
|
500
|
+
.main-content {
|
501
|
+
padding: 16px;
|
201
502
|
}
|
202
503
|
}
|