@chengzhao-dev/dsh-quarto-book 0.4.3 → 0.6.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.
- package/README.en.md +3 -3
- package/README.md +3 -3
- package/lib/tools/render-check.js +5 -2
- package/package.json +5 -2
- package/skills/designing-theme/SKILL.md +3 -2
- package/skills/designing-theme/assets/theme/css/base.css +216 -55
- package/skills/designing-theme/assets/theme/css/callouts.css +32 -23
- package/skills/designing-theme/assets/theme/css/code.css +84 -2
- package/skills/designing-theme/assets/theme/css/content.css +152 -36
- package/skills/designing-theme/assets/theme/css/landing.css +175 -54
- package/skills/designing-theme/assets/theme/css/nav.css +462 -35
- package/skills/designing-theme/assets/theme/css/sidebar.css +76 -31
- package/skills/designing-theme/assets/theme/css/tokens.css +34 -16
- package/skills/designing-theme/assets/theme/includes/fonts.html +1 -1
- package/skills/designing-theme/assets/theme/includes/footer.html +16 -7
- package/skills/designing-theme/assets/theme/includes/palette.html +420 -0
- package/skills/designing-theme/assets/theme/palettes/flexoki/brand-mark.svg +3 -0
- package/skills/designing-theme/assets/theme/palettes/flexoki/favicon-dark.svg +5 -0
- package/skills/designing-theme/assets/theme/palettes/flexoki/favicon-light.svg +5 -0
- package/skills/designing-theme/assets/theme/palettes/flexoki/highlight-dark.theme +214 -0
- package/skills/designing-theme/assets/theme/palettes/flexoki/highlight-light.theme +214 -0
- package/skills/designing-theme/assets/theme/palettes/flexoki/meta.md +53 -0
- package/skills/designing-theme/assets/theme/palettes/flexoki/theme-dark.scss +43 -0
- package/skills/designing-theme/assets/theme/palettes/flexoki/theme-light.scss +40 -0
- package/skills/designing-theme/assets/theme/palettes/flexoki/tokens.css +156 -0
- package/skills/designing-theme/assets/theme/palettes/hill-light/brand-mark.svg +3 -0
- package/skills/designing-theme/assets/theme/palettes/hill-light/favicon-dark.svg +5 -0
- package/skills/designing-theme/assets/theme/palettes/hill-light/favicon-light.svg +5 -0
- package/skills/designing-theme/assets/theme/palettes/hill-light/meta.md +78 -0
- package/skills/designing-theme/assets/theme/palettes/hill-light/syntax.css +150 -0
- package/skills/designing-theme/assets/theme/palettes/hill-light/tokens.css +322 -0
- package/skills/designing-theme/assets/theme/palettes/solarized/brand-mark.svg +3 -0
- package/skills/designing-theme/assets/theme/palettes/solarized/favicon-dark.svg +5 -0
- package/skills/designing-theme/assets/theme/palettes/solarized/favicon-light.svg +5 -0
- package/skills/designing-theme/assets/theme/palettes/solarized/highlight-dark.theme +214 -0
- package/skills/designing-theme/assets/theme/palettes/solarized/highlight-light.theme +214 -0
- package/skills/designing-theme/assets/theme/palettes/solarized/meta.md +66 -0
- package/skills/designing-theme/assets/theme/palettes/solarized/syntax.css +67 -0
- package/skills/designing-theme/assets/theme/palettes/solarized/theme-dark.scss +43 -0
- package/skills/designing-theme/assets/theme/palettes/solarized/theme-light.scss +41 -0
- package/skills/designing-theme/assets/theme/palettes/solarized/tokens.css +154 -0
- package/skills/designing-theme/knowledge/reading-surface.md +27 -15
- package/skills/designing-theme/references/theme-spine.md +2 -2
- package/skills/designing-theme/references/theme-system.md +82 -36
- package/skills/designing-theme/scripts/checking-layout.py +306 -48
- package/skills/designing-theme/scripts/measuring-pages.mjs +40 -3
- package/skills/writing-quarto/examples/01-language-scope.md +3 -3
- package/skills/writing-quarto/examples/02-structure-shape.md +5 -5
- package/skills/writing-quarto/examples/03-block-after.md +2 -2
- package/skills/writing-quarto/examples/03-excerpt-lead.md +6 -6
- package/skills/writing-quarto/examples/03-layout-list.md +15 -15
- package/skills/writing-quarto/examples/03-qmd-elements.md +4 -4
- package/skills/writing-quarto/examples/04-paragraph-cases.md +5 -5
- package/skills/writing-quarto/examples/04-paragraph-opening.md +3 -3
- package/skills/writing-quarto/examples/05-sentence-brevity.md +5 -5
- package/skills/writing-quarto/examples/05-sentence-frame.md +6 -6
- package/skills/writing-quarto/examples/05-sentence-reference.md +5 -5
- package/skills/writing-quarto/examples/06-wording-cases.md +8 -8
- package/skills/writing-quarto/examples/08-appendix.md +4 -4
- package/skills/writing-quarto/quarto/basics.md +24 -2
- package/skills/writing-quarto/quarto/comments.md +43 -0
- package/skills/writing-quarto/quarto/coords.md +4 -4
- package/skills/writing-quarto/quarto/encoding.md +35 -0
- package/skills/writing-quarto/quarto/mermaid.md +1 -1
- package/skills/writing-quarto/quarto/prose.md +86 -0
- package/skills/writing-quarto/quarto/render.md +17 -16
- package/skills/writing-quarto/quarto/terminal.md +3 -3
- package/skills/writing-quarto/scripts/checking-dom.py +20 -8
- package/skills/writing-quarto/scripts/verifying-content.py +12 -3
- package/skills/writing-quarto/steps/01-task.md +6 -6
- package/skills/writing-quarto/steps/02-structure.md +19 -19
- package/skills/writing-quarto/steps/03-blocks.md +40 -40
- package/skills/writing-quarto/steps/04-paragraphs.md +55 -55
- package/skills/writing-quarto/steps/05-sentences.md +42 -43
- package/skills/writing-quarto/steps/06-wording.md +9 -11
- package/skills/writing-quarto/steps/07-layout.md +21 -17
- package/skills/writing-quarto/steps/08-reread.md +9 -13
- package/templates/quarto-book-project/SKILL.md +1 -1
- package/skills/designing-theme/assets/theme/assets/brand-mark.svg +0 -4
- package/skills/designing-theme/assets/theme/assets/favicon.svg +0 -9
- package/skills/designing-theme/assets/theme/palettes/github/highlight-dark.theme +0 -213
- package/skills/designing-theme/assets/theme/palettes/github/highlight-light.theme +0 -213
- package/skills/designing-theme/assets/theme/palettes/github/meta.md +0 -38
- package/skills/designing-theme/assets/theme/palettes/github/theme-dark.scss +0 -35
- package/skills/designing-theme/assets/theme/palettes/github/theme-light.scss +0 -34
- package/skills/designing-theme/assets/theme/palettes/github/tokens.css +0 -160
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
{
|
|
2
|
+
"metadata": {
|
|
3
|
+
"name": "Quarto Book Solarized Dark",
|
|
4
|
+
"revision": 1,
|
|
5
|
+
"license": "SPDX-License-Identifier: MIT",
|
|
6
|
+
"copyright": [
|
|
7
|
+
"SPDX-FileCopyrightText: Ethan Schoonover (Solarized, MIT)",
|
|
8
|
+
"SPDX-FileCopyrightText: 2020 Waqar Ahmed <waqar.17a@gmail.com> (skylighting 结构基础)"
|
|
9
|
+
]
|
|
10
|
+
},
|
|
11
|
+
"background-color": "#073642",
|
|
12
|
+
"editor-colors": {
|
|
13
|
+
"BackgroundColor": "#073642",
|
|
14
|
+
"BracketMatching": "#0a3f4c",
|
|
15
|
+
"CodeFolding": "#073642",
|
|
16
|
+
"CurrentLine": "#073642",
|
|
17
|
+
"CurrentLineNumber": "#93a1a1",
|
|
18
|
+
"IconBorder": "#073642",
|
|
19
|
+
"IndentationLine": "#0a3f4c",
|
|
20
|
+
"LineNumbers": "#93a1a1",
|
|
21
|
+
"MarkBookmark": "#51a0d5",
|
|
22
|
+
"MarkBreakpointActive": "#dc322f",
|
|
23
|
+
"MarkBreakpointDisabled": "#6c71c4",
|
|
24
|
+
"MarkBreakpointReached": "#b58900",
|
|
25
|
+
"MarkError": "#dc322f",
|
|
26
|
+
"MarkExecution": "#6c71c4",
|
|
27
|
+
"MarkWarning": "#cb4b16",
|
|
28
|
+
"ModifiedLines": "#dc322f",
|
|
29
|
+
"ReplaceHighlight": "#859900",
|
|
30
|
+
"SavedLines": "#859900",
|
|
31
|
+
"SearchHighlight": "#b58900",
|
|
32
|
+
"Separator": "#586e75",
|
|
33
|
+
"SpellChecking": "#dc322f",
|
|
34
|
+
"TabMarker": "#586e75",
|
|
35
|
+
"TextSelection": "#0a3f4c",
|
|
36
|
+
"WordWrapMarker": "#586e75"
|
|
37
|
+
},
|
|
38
|
+
"text-styles": {
|
|
39
|
+
"Alert": {
|
|
40
|
+
"bold": true,
|
|
41
|
+
"selected-text-color": "#dc322f",
|
|
42
|
+
"text-color": "#dc322f"
|
|
43
|
+
},
|
|
44
|
+
"Annotation": {
|
|
45
|
+
"selected-text-color": "#93a1a1",
|
|
46
|
+
"text-color": "#93a1a1"
|
|
47
|
+
},
|
|
48
|
+
"Attribute": {
|
|
49
|
+
"selected-text-color": "#b58900",
|
|
50
|
+
"text-color": "#b58900"
|
|
51
|
+
},
|
|
52
|
+
"BaseN": {
|
|
53
|
+
"selected-text-color": "#6c71c4",
|
|
54
|
+
"text-color": "#6c71c4"
|
|
55
|
+
},
|
|
56
|
+
"BuiltIn": {
|
|
57
|
+
"selected-text-color": "#51a0d5",
|
|
58
|
+
"text-color": "#51a0d5"
|
|
59
|
+
},
|
|
60
|
+
"Char": {
|
|
61
|
+
"selected-text-color": "#2aa198",
|
|
62
|
+
"text-color": "#2aa198"
|
|
63
|
+
},
|
|
64
|
+
"Comment": {
|
|
65
|
+
"selected-text-color": "#93a1a1",
|
|
66
|
+
"text-color": "#93a1a1"
|
|
67
|
+
},
|
|
68
|
+
"CommentVar": {
|
|
69
|
+
"selected-text-color": "#93a1a1",
|
|
70
|
+
"text-color": "#93a1a1"
|
|
71
|
+
},
|
|
72
|
+
"Constant": {
|
|
73
|
+
"selected-text-color": "#6c71c4",
|
|
74
|
+
"text-color": "#6c71c4"
|
|
75
|
+
},
|
|
76
|
+
"ControlFlow": {
|
|
77
|
+
"selected-text-color": "#859900",
|
|
78
|
+
"text-color": "#859900"
|
|
79
|
+
},
|
|
80
|
+
"DataType": {
|
|
81
|
+
"selected-text-color": "#b58900",
|
|
82
|
+
"text-color": "#b58900"
|
|
83
|
+
},
|
|
84
|
+
"DecVal": {
|
|
85
|
+
"selected-text-color": "#6c71c4",
|
|
86
|
+
"text-color": "#6c71c4"
|
|
87
|
+
},
|
|
88
|
+
"Documentation": {
|
|
89
|
+
"selected-text-color": "#93a1a1",
|
|
90
|
+
"text-color": "#93a1a1"
|
|
91
|
+
},
|
|
92
|
+
"Error": {
|
|
93
|
+
"selected-text-color": "#dc322f",
|
|
94
|
+
"text-color": "#dc322f",
|
|
95
|
+
"underline": true
|
|
96
|
+
},
|
|
97
|
+
"Extension": {
|
|
98
|
+
"bold": true,
|
|
99
|
+
"selected-text-color": "#dc322f",
|
|
100
|
+
"text-color": "#dc322f"
|
|
101
|
+
},
|
|
102
|
+
"Float": {
|
|
103
|
+
"selected-text-color": "#6c71c4",
|
|
104
|
+
"text-color": "#6c71c4"
|
|
105
|
+
},
|
|
106
|
+
"Function": {
|
|
107
|
+
"selected-text-color": "#51a0d5",
|
|
108
|
+
"text-color": "#51a0d5",
|
|
109
|
+
"bold": true
|
|
110
|
+
},
|
|
111
|
+
"Import": {
|
|
112
|
+
"selected-text-color": "#cb4b16",
|
|
113
|
+
"text-color": "#cb4b16"
|
|
114
|
+
},
|
|
115
|
+
"Information": {
|
|
116
|
+
"selected-text-color": "#93a1a1",
|
|
117
|
+
"text-color": "#93a1a1"
|
|
118
|
+
},
|
|
119
|
+
"Keyword": {
|
|
120
|
+
"selected-text-color": "#859900",
|
|
121
|
+
"text-color": "#859900"
|
|
122
|
+
},
|
|
123
|
+
"Normal": {
|
|
124
|
+
"selected-text-color": "#839496",
|
|
125
|
+
"text-color": "#839496"
|
|
126
|
+
},
|
|
127
|
+
"Operator": {
|
|
128
|
+
"selected-text-color": "#859900",
|
|
129
|
+
"text-color": "#859900"
|
|
130
|
+
},
|
|
131
|
+
"Others": {
|
|
132
|
+
"selected-text-color": "#6c71c4",
|
|
133
|
+
"text-color": "#6c71c4"
|
|
134
|
+
},
|
|
135
|
+
"Preprocessor": {
|
|
136
|
+
"selected-text-color": "#cb4b16",
|
|
137
|
+
"text-color": "#cb4b16"
|
|
138
|
+
},
|
|
139
|
+
"RegionMarker": {
|
|
140
|
+
"selected-text-color": "#93a1a1",
|
|
141
|
+
"text-color": "#93a1a1"
|
|
142
|
+
},
|
|
143
|
+
"SpecialChar": {
|
|
144
|
+
"selected-text-color": "#dc322f",
|
|
145
|
+
"text-color": "#dc322f"
|
|
146
|
+
},
|
|
147
|
+
"SpecialString": {
|
|
148
|
+
"selected-text-color": "#2aa198",
|
|
149
|
+
"text-color": "#2aa198"
|
|
150
|
+
},
|
|
151
|
+
"String": {
|
|
152
|
+
"selected-text-color": "#2aa198",
|
|
153
|
+
"text-color": "#2aa198"
|
|
154
|
+
},
|
|
155
|
+
"Variable": {
|
|
156
|
+
"selected-text-color": "#51a0d5",
|
|
157
|
+
"text-color": "#51a0d5"
|
|
158
|
+
},
|
|
159
|
+
"VerbatimString": {
|
|
160
|
+
"selected-text-color": "#2aa198",
|
|
161
|
+
"text-color": "#2aa198"
|
|
162
|
+
},
|
|
163
|
+
"Warning": {
|
|
164
|
+
"selected-text-color": "#cb4b16",
|
|
165
|
+
"text-color": "#cb4b16"
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
"custom-styles": {
|
|
169
|
+
"INI Files": {
|
|
170
|
+
"Section": {
|
|
171
|
+
"selected-text-color": "#6c71c4",
|
|
172
|
+
"text-color": "#6c71c4"
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
"Python": {
|
|
176
|
+
"Builtin Function": {
|
|
177
|
+
"selected-text-color": "#51a0d5",
|
|
178
|
+
"text-color": "#51a0d5"
|
|
179
|
+
},
|
|
180
|
+
"Import": {
|
|
181
|
+
"selected-text-color": "#cb4b16",
|
|
182
|
+
"text-color": "#cb4b16"
|
|
183
|
+
},
|
|
184
|
+
"Special Variable": {
|
|
185
|
+
"selected-text-color": "#6c71c4",
|
|
186
|
+
"text-color": "#6c71c4"
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
"Rust": {
|
|
190
|
+
"Attribute": {
|
|
191
|
+
"selected-text-color": "#b58900",
|
|
192
|
+
"text-color": "#b58900"
|
|
193
|
+
},
|
|
194
|
+
"Macro": {
|
|
195
|
+
"selected-text-color": "#51a0d5",
|
|
196
|
+
"text-color": "#51a0d5"
|
|
197
|
+
},
|
|
198
|
+
"Self": {
|
|
199
|
+
"selected-text-color": "#d33682",
|
|
200
|
+
"text-color": "#d33682"
|
|
201
|
+
},
|
|
202
|
+
"Trait": {
|
|
203
|
+
"selected-text-color": "#cb4b16",
|
|
204
|
+
"text-color": "#cb4b16"
|
|
205
|
+
}
|
|
206
|
+
},
|
|
207
|
+
"XML": {
|
|
208
|
+
"Element": {
|
|
209
|
+
"selected-text-color": "#51a0d5",
|
|
210
|
+
"text-color": "#51a0d5"
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
{
|
|
2
|
+
"metadata": {
|
|
3
|
+
"name": "Quarto Book Solarized Light",
|
|
4
|
+
"revision": 1,
|
|
5
|
+
"license": "SPDX-License-Identifier: MIT",
|
|
6
|
+
"copyright": [
|
|
7
|
+
"SPDX-FileCopyrightText: Ethan Schoonover (Solarized, MIT)",
|
|
8
|
+
"SPDX-FileCopyrightText: 2020 Waqar Ahmed <waqar.17a@gmail.com> (skylighting 结构基础)"
|
|
9
|
+
]
|
|
10
|
+
},
|
|
11
|
+
"background-color": "#eee8d5",
|
|
12
|
+
"editor-colors": {
|
|
13
|
+
"BackgroundColor": "#eee8d5",
|
|
14
|
+
"BracketMatching": "#e7e0cb",
|
|
15
|
+
"CodeFolding": "#eee8d5",
|
|
16
|
+
"CurrentLine": "#eee8d5",
|
|
17
|
+
"CurrentLineNumber": "#556c73",
|
|
18
|
+
"IconBorder": "#eee8d5",
|
|
19
|
+
"IndentationLine": "#e7e0cb",
|
|
20
|
+
"LineNumbers": "#556c73",
|
|
21
|
+
"MarkBookmark": "#1b6ea3",
|
|
22
|
+
"MarkBreakpointActive": "#dc322f",
|
|
23
|
+
"MarkBreakpointDisabled": "#6c71c4",
|
|
24
|
+
"MarkBreakpointReached": "#b58900",
|
|
25
|
+
"MarkError": "#dc322f",
|
|
26
|
+
"MarkExecution": "#6c71c4",
|
|
27
|
+
"MarkWarning": "#cb4b16",
|
|
28
|
+
"ModifiedLines": "#dc322f",
|
|
29
|
+
"ReplaceHighlight": "#859900",
|
|
30
|
+
"SavedLines": "#859900",
|
|
31
|
+
"SearchHighlight": "#b58900",
|
|
32
|
+
"Separator": "#93a1a1",
|
|
33
|
+
"SpellChecking": "#dc322f",
|
|
34
|
+
"TabMarker": "#93a1a1",
|
|
35
|
+
"TextSelection": "#e7e0cb",
|
|
36
|
+
"WordWrapMarker": "#93a1a1"
|
|
37
|
+
},
|
|
38
|
+
"text-styles": {
|
|
39
|
+
"Alert": {
|
|
40
|
+
"bold": true,
|
|
41
|
+
"selected-text-color": "#dc322f",
|
|
42
|
+
"text-color": "#dc322f"
|
|
43
|
+
},
|
|
44
|
+
"Annotation": {
|
|
45
|
+
"selected-text-color": "#556c73",
|
|
46
|
+
"text-color": "#556c73"
|
|
47
|
+
},
|
|
48
|
+
"Attribute": {
|
|
49
|
+
"selected-text-color": "#b58900",
|
|
50
|
+
"text-color": "#b58900"
|
|
51
|
+
},
|
|
52
|
+
"BaseN": {
|
|
53
|
+
"selected-text-color": "#6c71c4",
|
|
54
|
+
"text-color": "#6c71c4"
|
|
55
|
+
},
|
|
56
|
+
"BuiltIn": {
|
|
57
|
+
"selected-text-color": "#1b6ea3",
|
|
58
|
+
"text-color": "#1b6ea3"
|
|
59
|
+
},
|
|
60
|
+
"Char": {
|
|
61
|
+
"selected-text-color": "#2aa198",
|
|
62
|
+
"text-color": "#2aa198"
|
|
63
|
+
},
|
|
64
|
+
"Comment": {
|
|
65
|
+
"selected-text-color": "#556c73",
|
|
66
|
+
"text-color": "#556c73"
|
|
67
|
+
},
|
|
68
|
+
"CommentVar": {
|
|
69
|
+
"selected-text-color": "#556c73",
|
|
70
|
+
"text-color": "#556c73"
|
|
71
|
+
},
|
|
72
|
+
"Constant": {
|
|
73
|
+
"selected-text-color": "#6c71c4",
|
|
74
|
+
"text-color": "#6c71c4"
|
|
75
|
+
},
|
|
76
|
+
"ControlFlow": {
|
|
77
|
+
"selected-text-color": "#859900",
|
|
78
|
+
"text-color": "#859900"
|
|
79
|
+
},
|
|
80
|
+
"DataType": {
|
|
81
|
+
"selected-text-color": "#b58900",
|
|
82
|
+
"text-color": "#b58900"
|
|
83
|
+
},
|
|
84
|
+
"DecVal": {
|
|
85
|
+
"selected-text-color": "#6c71c4",
|
|
86
|
+
"text-color": "#6c71c4"
|
|
87
|
+
},
|
|
88
|
+
"Documentation": {
|
|
89
|
+
"selected-text-color": "#556c73",
|
|
90
|
+
"text-color": "#556c73"
|
|
91
|
+
},
|
|
92
|
+
"Error": {
|
|
93
|
+
"selected-text-color": "#dc322f",
|
|
94
|
+
"text-color": "#dc322f",
|
|
95
|
+
"underline": true
|
|
96
|
+
},
|
|
97
|
+
"Extension": {
|
|
98
|
+
"bold": true,
|
|
99
|
+
"selected-text-color": "#dc322f",
|
|
100
|
+
"text-color": "#dc322f"
|
|
101
|
+
},
|
|
102
|
+
"Float": {
|
|
103
|
+
"selected-text-color": "#6c71c4",
|
|
104
|
+
"text-color": "#6c71c4"
|
|
105
|
+
},
|
|
106
|
+
"Function": {
|
|
107
|
+
"selected-text-color": "#1b6ea3",
|
|
108
|
+
"text-color": "#1b6ea3",
|
|
109
|
+
"bold": true
|
|
110
|
+
},
|
|
111
|
+
"Import": {
|
|
112
|
+
"selected-text-color": "#cb4b16",
|
|
113
|
+
"text-color": "#cb4b16"
|
|
114
|
+
},
|
|
115
|
+
"Information": {
|
|
116
|
+
"selected-text-color": "#556c73",
|
|
117
|
+
"text-color": "#556c73"
|
|
118
|
+
},
|
|
119
|
+
"Keyword": {
|
|
120
|
+
"selected-text-color": "#859900",
|
|
121
|
+
"text-color": "#859900"
|
|
122
|
+
},
|
|
123
|
+
"Normal": {
|
|
124
|
+
"selected-text-color": "#657b83",
|
|
125
|
+
"text-color": "#657b83"
|
|
126
|
+
},
|
|
127
|
+
"Operator": {
|
|
128
|
+
"selected-text-color": "#859900",
|
|
129
|
+
"text-color": "#859900"
|
|
130
|
+
},
|
|
131
|
+
"Others": {
|
|
132
|
+
"selected-text-color": "#6c71c4",
|
|
133
|
+
"text-color": "#6c71c4"
|
|
134
|
+
},
|
|
135
|
+
"Preprocessor": {
|
|
136
|
+
"selected-text-color": "#cb4b16",
|
|
137
|
+
"text-color": "#cb4b16"
|
|
138
|
+
},
|
|
139
|
+
"RegionMarker": {
|
|
140
|
+
"selected-text-color": "#556c73",
|
|
141
|
+
"text-color": "#556c73"
|
|
142
|
+
},
|
|
143
|
+
"SpecialChar": {
|
|
144
|
+
"selected-text-color": "#dc322f",
|
|
145
|
+
"text-color": "#dc322f"
|
|
146
|
+
},
|
|
147
|
+
"SpecialString": {
|
|
148
|
+
"selected-text-color": "#2aa198",
|
|
149
|
+
"text-color": "#2aa198"
|
|
150
|
+
},
|
|
151
|
+
"String": {
|
|
152
|
+
"selected-text-color": "#2aa198",
|
|
153
|
+
"text-color": "#2aa198"
|
|
154
|
+
},
|
|
155
|
+
"Variable": {
|
|
156
|
+
"selected-text-color": "#1b6ea3",
|
|
157
|
+
"text-color": "#1b6ea3"
|
|
158
|
+
},
|
|
159
|
+
"VerbatimString": {
|
|
160
|
+
"selected-text-color": "#2aa198",
|
|
161
|
+
"text-color": "#2aa198"
|
|
162
|
+
},
|
|
163
|
+
"Warning": {
|
|
164
|
+
"selected-text-color": "#cb4b16",
|
|
165
|
+
"text-color": "#cb4b16"
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
"custom-styles": {
|
|
169
|
+
"INI Files": {
|
|
170
|
+
"Section": {
|
|
171
|
+
"selected-text-color": "#6c71c4",
|
|
172
|
+
"text-color": "#6c71c4"
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
"Python": {
|
|
176
|
+
"Builtin Function": {
|
|
177
|
+
"selected-text-color": "#1b6ea3",
|
|
178
|
+
"text-color": "#1b6ea3"
|
|
179
|
+
},
|
|
180
|
+
"Import": {
|
|
181
|
+
"selected-text-color": "#cb4b16",
|
|
182
|
+
"text-color": "#cb4b16"
|
|
183
|
+
},
|
|
184
|
+
"Special Variable": {
|
|
185
|
+
"selected-text-color": "#6c71c4",
|
|
186
|
+
"text-color": "#6c71c4"
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
"Rust": {
|
|
190
|
+
"Attribute": {
|
|
191
|
+
"selected-text-color": "#b58900",
|
|
192
|
+
"text-color": "#b58900"
|
|
193
|
+
},
|
|
194
|
+
"Macro": {
|
|
195
|
+
"selected-text-color": "#1b6ea3",
|
|
196
|
+
"text-color": "#1b6ea3"
|
|
197
|
+
},
|
|
198
|
+
"Self": {
|
|
199
|
+
"selected-text-color": "#d33682",
|
|
200
|
+
"text-color": "#d33682"
|
|
201
|
+
},
|
|
202
|
+
"Trait": {
|
|
203
|
+
"selected-text-color": "#cb4b16",
|
|
204
|
+
"text-color": "#cb4b16"
|
|
205
|
+
}
|
|
206
|
+
},
|
|
207
|
+
"XML": {
|
|
208
|
+
"Element": {
|
|
209
|
+
"selected-text-color": "#1b6ea3",
|
|
210
|
+
"text-color": "#1b6ea3"
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Palette: solarized
|
|
2
|
+
|
|
3
|
+
运行时可选色板。默认页面是 Flexoki;读者在导航栏选择 Solarized 后,`html[data-palette="solarized"]` 生效,本目录的 `tokens.css` 覆盖语义颜色、`syntax.css` 覆盖语法色。亮色用 Solarized 官方 base3 页面(`#FDF6E3`),暗色用 base03 页面(`#002B36`);正文与注释按 4.5:1 抬一档:亮色正文 `#526C74`、注释 `#556C73`;暗色正文 `#839496`、注释 `#93A1A1`。链接遵循官方 `rebase`:亮色 base01 `#586E75`、暗色 base1 `#93A1A1`,hover 才转官方蓝(亮 `#268BD2` / 暗 `#51A0D5`);语法里的标识符蓝仍用抬过的 `#1B6EA3` / `#51A0D5`。本目录另带一对 skylighting 主题,供「整本按 Solarized 编译」时替换 `highlight-style` 使用。
|
|
4
|
+
|
|
5
|
+
## 接线
|
|
6
|
+
|
|
7
|
+
| 项 | 路径 / 值 |
|
|
8
|
+
| --- | --- |
|
|
9
|
+
| tokens | `palettes/solarized/tokens.css` |
|
|
10
|
+
| syntax 覆盖 | `palettes/solarized/syntax.css` |
|
|
11
|
+
| SCSS light | `palettes/solarized/theme-light.scss` |
|
|
12
|
+
| SCSS dark | `palettes/solarized/theme-dark.scss` |
|
|
13
|
+
| highlight light | `assets/theme/palettes/solarized/highlight-light.theme` |
|
|
14
|
+
| highlight dark | `assets/theme/palettes/solarized/highlight-dark.theme` |
|
|
15
|
+
| brand mark | `palettes/solarized/brand-mark.svg` |
|
|
16
|
+
| favicon light | `palettes/solarized/favicon-light.svg` |
|
|
17
|
+
| favicon dark | `palettes/solarized/favicon-dark.svg` |
|
|
18
|
+
|
|
19
|
+
当前 `_quarto.yml` **不**引用本目录的 SCSS 与 highlight 主题,只挂 `tokens.css` + `syntax.css`:Quarto 只能编译一对高亮样式,编译期保留 Flexoki 那对,Solarized 的语法色由 `syntax.css` 按 `html[data-palette="solarized"]` 覆盖 `code span.*`。当前目录只服务运行时层。若以后要整本编译 Solarized,需要另写不带 `html[data-palette]` 前缀的 tokens 版本,再换 `theme` 与 `highlight-style` 并删掉 `syntax.css` 这层覆盖。
|
|
20
|
+
|
|
21
|
+
## 书标与标签图标
|
|
22
|
+
|
|
23
|
+
两套色板共用同一枚「打开的书」:`brand-mark.svg` 是纯黑剪影、中缝镂空,16px 仍可辨认,顶栏用 mask 取 `--navbar-fg`,一份覆盖该色板明暗;`favicon-light.svg` / `favicon-dark.svg` 是圆角方底加同一枚书,底色/书/中缝分别用该色板的纸色、墨色、动作色。Solarized 亮色 `#FDF6E3`/`#526C74`/`#268BD2`,暗色 `#002B36`/`#839496`/`#51A0D5`。
|
|
24
|
+
|
|
25
|
+
用书项目在 `_quarto.yml` 设 `book.favicon: theme/palettes/flexoki/favicon-light.svg`,并把另外三份 favicon 放进 `resources`。`includes/palette.html` 在 head 内按 `book-palette` 与明暗改 `link[rel=icon]` 的 href,只替换 URL 里的色板名与 `favicon-light|dark`,保留 Quarto 写好的 `./` / `../` 前缀;发布 URL 仍带 `palettes/<name>/`。
|
|
26
|
+
|
|
27
|
+
## 页面分层
|
|
28
|
+
|
|
29
|
+
| 表面 | 亮色 | 暗色 |
|
|
30
|
+
| --- | --- | --- |
|
|
31
|
+
| page / navbar | `#FDF6E3` | `#002B36` |
|
|
32
|
+
| surface-raised / code | `#EEE8D5` | `#073642` |
|
|
33
|
+
| 代码标题条(派生) | `#E7E0CB` | `#0A3F4C` |
|
|
34
|
+
| 代码标题字(派生) | `#4C6166` | `#A9B7B7` |
|
|
35
|
+
| 边框 | `#93A1A1` | `#586E75` |
|
|
36
|
+
| 正文 / 次要文字 | `#526C74` / `#586E75` | `#839496` / `#93A1A1` |
|
|
37
|
+
| 链接常态 / hover | `#586E75` / `#268BD2` | `#93A1A1` / `#51A0D5` |
|
|
38
|
+
|
|
39
|
+
代码标题条不是官方 base 色,是在 base2 / base02 上各压一档得到的派生表面,用来把标题条与代码底分开;其余页面色取官方值。
|
|
40
|
+
|
|
41
|
+
## 对比度记录
|
|
42
|
+
|
|
43
|
+
Solarized 官方正文与注释在各自底色上低于 4.5:1;这里只抬正文与注释,链接回到官方 rebase,页面底色、强调色与 callout 条保持官方值:
|
|
44
|
+
|
|
45
|
+
| 组合 | 比值 |
|
|
46
|
+
| --- | --- |
|
|
47
|
+
| 亮色正文 `#526C74` / `#FDF6E3` | 5.18:1 |
|
|
48
|
+
| 亮色正文 `#526C74` / `#EEE8D5` | 4.56:1 |
|
|
49
|
+
| 亮色链接 `#586E75` / `#FDF6E3` | 4.99:1 |
|
|
50
|
+
| 亮色链接 `#586E75` / `#EEE8D5` | 4.39:1(代码内,正文链接不在代码底) |
|
|
51
|
+
| 亮色注释 `#556C73` / `#EEE8D5` | 4.54:1 |
|
|
52
|
+
| 暗色正文 `#839496` / `#002B36` | 4.75:1 |
|
|
53
|
+
| 暗色链接 `#93A1A1` / `#002B36` | 5.61:1 |
|
|
54
|
+
| 暗色链接 `#93A1A1` / `#073642` | 4.86:1 |
|
|
55
|
+
| 暗色注释 `#93A1A1` / `#073642` | 4.86:1 |
|
|
56
|
+
| 亮色代码标题字 `#4C6166` / `#E7E0CB` | 4.96:1 |
|
|
57
|
+
| 暗色代码标题字 `#A9B7B7` / `#0A3F4C` | 5.55:1 |
|
|
58
|
+
|
|
59
|
+
注释以官方 base01(亮)/ base1(暗)为起点:亮色 base1 `#93A1A1` 在 base2 上只有 2.18:1,不可用;暗色 base01 `#586E75` 在 base02 上只有 2.42:1,也不可用。亮色注释取更深的 `#556C73`(代码底 4.54:1),暗色注释保持官方 base1 `#93A1A1`(代码底 4.86:1)。强调色仍是 base01 `#586E75`(亮,4.99:1);callout 左条用官方语义色(note base01/base1、warning orange `#CB4B16`、tip green `#859900`)。取舍见 `knowledge/reading-surface.md`。
|
|
60
|
+
|
|
61
|
+
## 来源
|
|
62
|
+
|
|
63
|
+
- [Solarized](https://ethanschoonover.com/solarized/)(Ethan Schoonover,MIT)
|
|
64
|
+
- Solarized 官方 palette:base03 `#002B36`、base02 `#073642`、base01 `#586E75`、base00 `#657B83`、base0 `#839496`、base1 `#93A1A1`、base2 `#EEE8D5`、base3 `#FDF6E3`;accent:yellow `#B58900`、orange `#CB4B16`、red `#DC322F`、magenta `#D33682`、violet `#6C71C4`、blue `#268BD2`、cyan `#2AA198`、green `#859900`
|
|
65
|
+
|
|
66
|
+
本目录 10 个文件随主题资产走;项目副本只同步到 `_quarto.yml` 实际引用的那份。
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/* ============================================================
|
|
2
|
+
Palette: solarized · 语法高亮覆盖层
|
|
3
|
+
Quarto 只能按明暗编译一对 highlight-style,默认那对是 Flexoki;
|
|
4
|
+
Solarized 的语法色在这里按 html[data-palette="solarized"] 覆盖。
|
|
5
|
+
只写颜色,不改字号、字重与布局。
|
|
6
|
+
============================================================ */
|
|
7
|
+
|
|
8
|
+
/* 基础文字(无 token 类名的 span 与 sourceCode 容器) */
|
|
9
|
+
html[data-palette="solarized"] code span:not([class]),
|
|
10
|
+
html[data-palette="solarized"] div.sourceCode,
|
|
11
|
+
html[data-palette="solarized"] div.sourceCode pre.sourceCode {
|
|
12
|
+
color: #526C74;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
html[data-palette="solarized"] code span.al { color: #DC322F; font-weight: 600; }
|
|
16
|
+
html[data-palette="solarized"] code span.an { color: #556C73; }
|
|
17
|
+
html[data-palette="solarized"] code span.at { color: #B58900; }
|
|
18
|
+
html[data-palette="solarized"] code span.bn { color: #6C71C4; }
|
|
19
|
+
html[data-palette="solarized"] code span.bu { color: #1B6EA3; }
|
|
20
|
+
html[data-palette="solarized"] code span.cf { color: #859900; }
|
|
21
|
+
html[data-palette="solarized"] code span.ch { color: #2AA198; }
|
|
22
|
+
html[data-palette="solarized"] code span.cn { color: #6C71C4; }
|
|
23
|
+
html[data-palette="solarized"] code span.co { color: #556C73; }
|
|
24
|
+
html[data-palette="solarized"] code span.cv { color: #556C73; }
|
|
25
|
+
html[data-palette="solarized"] code span.do { color: #556C73; }
|
|
26
|
+
html[data-palette="solarized"] code span.dt { color: #B58900; }
|
|
27
|
+
html[data-palette="solarized"] code span.dv { color: #6C71C4; }
|
|
28
|
+
html[data-palette="solarized"] code span.er { color: #DC322F; text-decoration: underline; }
|
|
29
|
+
html[data-palette="solarized"] code span.ex { color: #DC322F; font-weight: 600; }
|
|
30
|
+
html[data-palette="solarized"] code span.fl { color: #6C71C4; }
|
|
31
|
+
html[data-palette="solarized"] code span.fu { color: #1B6EA3; }
|
|
32
|
+
html[data-palette="solarized"] code span.im { color: #CB4B16; }
|
|
33
|
+
html[data-palette="solarized"] code span.in { color: #556C73; }
|
|
34
|
+
html[data-palette="solarized"] code span.kw { color: #859900; }
|
|
35
|
+
html[data-palette="solarized"] code span.op { color: #859900; }
|
|
36
|
+
html[data-palette="solarized"] code span.ot { color: #6C71C4; }
|
|
37
|
+
html[data-palette="solarized"] code span.pp { color: #CB4B16; }
|
|
38
|
+
html[data-palette="solarized"] code span.re { color: #556C73; }
|
|
39
|
+
html[data-palette="solarized"] code span.sc { color: #DC322F; }
|
|
40
|
+
html[data-palette="solarized"] code span.ss { color: #2AA198; }
|
|
41
|
+
html[data-palette="solarized"] code span.st { color: #2AA198; }
|
|
42
|
+
html[data-palette="solarized"] code span.va { color: #1B6EA3; }
|
|
43
|
+
html[data-palette="solarized"] code span.vs { color: #2AA198; }
|
|
44
|
+
html[data-palette="solarized"] code span.wa { color: #CB4B16; }
|
|
45
|
+
|
|
46
|
+
/* 暗色:base03 页面上用 base0 / base1 保持官方明暗关系 */
|
|
47
|
+
html[data-palette="solarized"] body.quarto-dark code span:not([class]),
|
|
48
|
+
html[data-palette="solarized"] body.quarto-dark div.sourceCode,
|
|
49
|
+
html[data-palette="solarized"] body.quarto-dark div.sourceCode pre.sourceCode {
|
|
50
|
+
color: #93A1A1;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
html[data-palette="solarized"] body.quarto-dark code span.an,
|
|
54
|
+
html[data-palette="solarized"] body.quarto-dark code span.co,
|
|
55
|
+
html[data-palette="solarized"] body.quarto-dark code span.cv,
|
|
56
|
+
html[data-palette="solarized"] body.quarto-dark code span.do,
|
|
57
|
+
html[data-palette="solarized"] body.quarto-dark code span.in,
|
|
58
|
+
html[data-palette="solarized"] body.quarto-dark code span.re {
|
|
59
|
+
color: #93A1A1;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/* 暗色语法蓝也要比 base03 上的官方 #268BD2 再亮一档 */
|
|
63
|
+
html[data-palette="solarized"] body.quarto-dark code span.bu,
|
|
64
|
+
html[data-palette="solarized"] body.quarto-dark code span.fu,
|
|
65
|
+
html[data-palette="solarized"] body.quarto-dark code span.va {
|
|
66
|
+
color: #51A0D5;
|
|
67
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/*-- scss:defaults --*/
|
|
2
|
+
|
|
3
|
+
$font-family-sans-serif: "LXGW Bright Medium", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", "Apple Color Emoji", "Segoe UI Emoji", sans-serif !default;
|
|
4
|
+
|
|
5
|
+
$font-family-monospace: "LXGW Bright Code", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", "Courier New", "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", monospace !default;
|
|
6
|
+
|
|
7
|
+
$web-font-path: false !default;
|
|
8
|
+
|
|
9
|
+
$font-size-root: 16px !default;
|
|
10
|
+
$line-height-base: 1.75 !default;
|
|
11
|
+
$font-size-base: 1rem !default;
|
|
12
|
+
|
|
13
|
+
// Solarized Dark:base03 页面 + base0 正文;链接按官方 rebase 取 base1,blue 只作 accent。
|
|
14
|
+
$primary: #51A0D5 !default;
|
|
15
|
+
|
|
16
|
+
$body-color: #839496 !default;
|
|
17
|
+
$link-color: #93A1A1 !default;
|
|
18
|
+
|
|
19
|
+
$code-bg: #073642 !default;
|
|
20
|
+
$code-color: #839496 !default;
|
|
21
|
+
|
|
22
|
+
$body-secondary: #93A1A1 !default;
|
|
23
|
+
|
|
24
|
+
$navbar-fg: #839496 !default;
|
|
25
|
+
|
|
26
|
+
$callout-color-note: #93A1A1 !default;
|
|
27
|
+
$callout-color-tip: #859900 !default;
|
|
28
|
+
$callout-color-warning: #CB4B16 !default;
|
|
29
|
+
$callout-color-important: #6C71C4 !default;
|
|
30
|
+
$callout-color-caution: #DC322F !default;
|
|
31
|
+
$callout-color-danger: #DC322F !default;
|
|
32
|
+
|
|
33
|
+
$border-color: rgba(147, 161, 161, 0.18) !default;
|
|
34
|
+
|
|
35
|
+
// 面包屑用页面底色:清除 darkly 默认灰底与内边距,明暗布局一致
|
|
36
|
+
$breadcrumb-bg: transparent !default;
|
|
37
|
+
$breadcrumb-padding-y: 0 !default;
|
|
38
|
+
$breadcrumb-padding-x: 0 !default;
|
|
39
|
+
$breadcrumb-margin-bottom: 0 !default;
|
|
40
|
+
|
|
41
|
+
$table-bg: transparent !default;
|
|
42
|
+
|
|
43
|
+
/*-- scss:rules --*/
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/*-- scss:defaults --*/
|
|
2
|
+
|
|
3
|
+
$font-family-sans-serif: "LXGW Bright Medium", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", "Apple Color Emoji", "Segoe UI Emoji", sans-serif !default;
|
|
4
|
+
|
|
5
|
+
$font-family-monospace: "LXGW Bright Code", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", "Courier New", "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", monospace !default;
|
|
6
|
+
|
|
7
|
+
$web-font-path: false !default;
|
|
8
|
+
|
|
9
|
+
$font-size-root: 16px !default;
|
|
10
|
+
$line-height-base: 1.75 !default;
|
|
11
|
+
$font-size-base: 1rem !default;
|
|
12
|
+
|
|
13
|
+
// Solarized Light:base3 页面 + 抬到 4.5:1 的 base00 系正文;
|
|
14
|
+
// 链接按官方 rebase 取 base01,蓝色只留作 primary/action。
|
|
15
|
+
$primary: #268BD2 !default;
|
|
16
|
+
|
|
17
|
+
$body-color: #526C74 !default;
|
|
18
|
+
$link-color: #586E75 !default;
|
|
19
|
+
$code-bg: #EEE8D5 !default;
|
|
20
|
+
$code-color: #526C74 !default;
|
|
21
|
+
$border-color: #93A1A1 !default;
|
|
22
|
+
|
|
23
|
+
// 面包屑用页面底色:清除 darkly 默认灰底与内边距,明暗布局一致
|
|
24
|
+
$breadcrumb-bg: transparent !default;
|
|
25
|
+
$breadcrumb-padding-y: 0 !default;
|
|
26
|
+
$breadcrumb-padding-x: 0 !default;
|
|
27
|
+
$breadcrumb-margin-bottom: 0 !default;
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
$navbar-bg: #FDF6E3 !default;
|
|
31
|
+
$navbar-fg: #526C74 !default;
|
|
32
|
+
|
|
33
|
+
// Callout 语义色(与 palettes/solarized/tokens.css --callout-*-border 亮色一致;驱动编译期图标 data URI)
|
|
34
|
+
$callout-color-note: #586E75 !default;
|
|
35
|
+
$callout-color-tip: #859900 !default;
|
|
36
|
+
$callout-color-warning: #CB4B16 !default;
|
|
37
|
+
$callout-color-important: #6C71C4 !default;
|
|
38
|
+
$callout-color-caution: #DC322F !default;
|
|
39
|
+
$callout-color-danger: #DC322F !default;
|
|
40
|
+
|
|
41
|
+
/*-- scss:rules --*/
|