flexoki-zensical 0.1.0__tar.gz

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.
@@ -0,0 +1,20 @@
1
+ __pycache__/
2
+ *.py[cod]
3
+ *$py.class
4
+ .venv/
5
+ venv/
6
+ build/
7
+ dist/
8
+ *.egg-info/
9
+ pip-wheel-metadata/
10
+ .coverage
11
+ .coverage.*
12
+ coverage.xml
13
+ htmlcov/
14
+ .pytest_cache/
15
+ .mypy_cache/
16
+ .ruff_cache/
17
+ .cache/
18
+ site/
19
+ .DS_Store
20
+ .prettierrc
@@ -0,0 +1,20 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Leighton Payne
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
6
+ this software and associated documentation files (the "Software"), to deal in
7
+ the Software without restriction, including without limitation the rights to
8
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
+ the Software, and to permit persons to whom the Software is furnished to do so,
10
+ subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17
+ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18
+ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,72 @@
1
+ Metadata-Version: 2.4
2
+ Name: flexoki-zensical
3
+ Version: 0.1.0
4
+ Summary: Flexoki theme extension for Zensical.
5
+ Project-URL: Homepage, https://leightonpayne.github.io/flexoki-zensical
6
+ Project-URL: Repository, https://github.com/leightonpayne/flexoki-zensical
7
+ Author-email: Leighton Payne <leightonpayne98@gmail.com>
8
+ License-Expression: MIT
9
+ License-File: LICENSE
10
+ Keywords: documentation,flexoki,theme,zensical
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Classifier: Programming Language :: Python :: 3.13
19
+ Classifier: Programming Language :: Python :: 3.14
20
+ Classifier: Topic :: Documentation
21
+ Requires-Python: >=3.10
22
+ Requires-Dist: zensical>=0.0.43
23
+ Description-Content-Type: text/markdown
24
+
25
+ # Flexoki for Zensical
26
+
27
+ [![Support](https://img.shields.io/pypi/status/flexoki-zensical?label=support&color=f3c539)](https://pypi.org/project/flexoki-zensical/)
28
+ [![PyPI](https://img.shields.io/pypi/v/flexoki-zensical?label=pypi&color=107cb8)](https://pypi.org/project/flexoki-zensical/)
29
+
30
+ Flexoki for Zensical (`flexoki-zensical`) is a packaged
31
+ [Flexoki](https://stephango.com/flexoki) theme for use with
32
+ [Zensical](https://zensical.org/).
33
+
34
+ [Read the docs](https://leightonpayne.github.io/flexoki-zensical) for more
35
+ information.
36
+
37
+ ## Quick start
38
+
39
+ Install the package and point your theme config at `flexoki`:
40
+
41
+ ```bash
42
+ uv add flexoki-zensical
43
+ ```
44
+
45
+ ```toml
46
+ [project.theme]
47
+ name = "flexoki"
48
+
49
+ [[project.theme.palette]]
50
+ media = "(prefers-color-scheme: light)"
51
+ scheme = "default"
52
+ toggle.icon = "lucide/moon"
53
+ toggle.name = "Switch to dark mode"
54
+
55
+ [[project.theme.palette]]
56
+ media = "(prefers-color-scheme: dark)"
57
+ scheme = "slate"
58
+ toggle.icon = "lucide/sun"
59
+ toggle.name = "Switch to light mode"
60
+ ```
61
+
62
+ ## Attribution
63
+
64
+ Flexoki was created by [Steph Ango](https://stephango.com/) and is available at
65
+ https://stephango.com/flexoki and https://github.com/kepano/flexoki
66
+
67
+ ## License
68
+
69
+ Flexoki is
70
+ [MIT licensed](https://raw.githubusercontent.com/kepano/flexoki/refs/heads/main/LICENSE).
71
+ Flexoki for Zensical is
72
+ [MIT licensed](https://raw.githubusercontent.com/leightonpayne/flexoki-zensical/refs/heads/main/LICENSE).
@@ -0,0 +1,48 @@
1
+ # Flexoki for Zensical
2
+
3
+ [![Support](https://img.shields.io/pypi/status/flexoki-zensical?label=support&color=f3c539)](https://pypi.org/project/flexoki-zensical/)
4
+ [![PyPI](https://img.shields.io/pypi/v/flexoki-zensical?label=pypi&color=107cb8)](https://pypi.org/project/flexoki-zensical/)
5
+
6
+ Flexoki for Zensical (`flexoki-zensical`) is a packaged
7
+ [Flexoki](https://stephango.com/flexoki) theme for use with
8
+ [Zensical](https://zensical.org/).
9
+
10
+ [Read the docs](https://leightonpayne.github.io/flexoki-zensical) for more
11
+ information.
12
+
13
+ ## Quick start
14
+
15
+ Install the package and point your theme config at `flexoki`:
16
+
17
+ ```bash
18
+ uv add flexoki-zensical
19
+ ```
20
+
21
+ ```toml
22
+ [project.theme]
23
+ name = "flexoki"
24
+
25
+ [[project.theme.palette]]
26
+ media = "(prefers-color-scheme: light)"
27
+ scheme = "default"
28
+ toggle.icon = "lucide/moon"
29
+ toggle.name = "Switch to dark mode"
30
+
31
+ [[project.theme.palette]]
32
+ media = "(prefers-color-scheme: dark)"
33
+ scheme = "slate"
34
+ toggle.icon = "lucide/sun"
35
+ toggle.name = "Switch to light mode"
36
+ ```
37
+
38
+ ## Attribution
39
+
40
+ Flexoki was created by [Steph Ango](https://stephango.com/) and is available at
41
+ https://stephango.com/flexoki and https://github.com/kepano/flexoki
42
+
43
+ ## License
44
+
45
+ Flexoki is
46
+ [MIT licensed](https://raw.githubusercontent.com/kepano/flexoki/refs/heads/main/LICENSE).
47
+ Flexoki for Zensical is
48
+ [MIT licensed](https://raw.githubusercontent.com/leightonpayne/flexoki-zensical/refs/heads/main/LICENSE).
@@ -0,0 +1,50 @@
1
+ [build-system]
2
+ requires = ["hatchling"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "flexoki-zensical"
7
+ version = "0.1.0"
8
+ description = "Flexoki theme extension for Zensical."
9
+ readme = "README.md"
10
+ license = "MIT"
11
+ authors = [
12
+ { name = "Leighton Payne", email = "leightonpayne98@gmail.com" }
13
+ ]
14
+ requires-python = ">=3.10"
15
+ dependencies = ["zensical>=0.0.43"]
16
+ keywords = ["zensical", "theme", "flexoki", "documentation"]
17
+ classifiers = [
18
+ "Development Status :: 4 - Beta",
19
+ "Intended Audience :: Developers",
20
+ "License :: OSI Approved :: MIT License",
21
+ "Programming Language :: Python :: 3",
22
+ "Programming Language :: Python :: 3.10",
23
+ "Programming Language :: Python :: 3.11",
24
+ "Programming Language :: Python :: 3.12",
25
+ "Programming Language :: Python :: 3.13",
26
+ "Programming Language :: Python :: 3.14",
27
+ "Topic :: Documentation",
28
+ ]
29
+
30
+ [project.urls]
31
+ Homepage = "https://leightonpayne.github.io/flexoki-zensical"
32
+ Repository = "https://github.com/leightonpayne/flexoki-zensical"
33
+
34
+ [project.entry-points."mkdocs.themes"]
35
+ flexoki = "flexoki_zensical"
36
+
37
+ [tool.uv]
38
+ default-groups = ["docs"]
39
+
40
+ [dependency-groups]
41
+ docs = [
42
+ "pymdown-extensions>=10.15",
43
+ "zensical>=0.0.43",
44
+ ]
45
+
46
+ [tool.hatch.build.targets.wheel]
47
+ packages = ["src/flexoki_zensical"]
48
+
49
+ [tool.hatch.build.targets.sdist]
50
+ include = ["src/flexoki_zensical", "README.md"]
@@ -0,0 +1 @@
1
+ """Flexoki theme extension for Zensical."""
@@ -0,0 +1,753 @@
1
+ :root {
2
+ --flexoki-paper: #fffcf0;
3
+ --flexoki-black: #100f0f;
4
+ --flexoki-base-50: #f2f0e5;
5
+ --flexoki-base-100: #e6e4d9;
6
+ --flexoki-base-150: #dad8ce;
7
+ --flexoki-base-200: #cecdc3;
8
+ --flexoki-base-300: #b7b5ac;
9
+ --flexoki-base-400: #9f9d96;
10
+ --flexoki-base-500: #878580;
11
+ --flexoki-base-600: #6f6e69;
12
+ --flexoki-base-700: #575653;
13
+ --flexoki-base-800: #403e3c;
14
+ --flexoki-base-850: #343331;
15
+ --flexoki-base-900: #282726;
16
+ --flexoki-base-950: #1c1b1a;
17
+
18
+ --flexoki-red-50: #ffe1d5;
19
+ --flexoki-red-100: #ffcabb;
20
+ --flexoki-red-150: #fdb2a2;
21
+ --flexoki-red-200: #f89a8a;
22
+ --flexoki-red-300: #e8705f;
23
+ --flexoki-red-400: #d14d41;
24
+ --flexoki-red-500: #c03e35;
25
+ --flexoki-red-600: #af3029;
26
+ --flexoki-red-700: #942822;
27
+ --flexoki-red-800: #6c201c;
28
+ --flexoki-red-850: #551b18;
29
+ --flexoki-red-900: #3e1715;
30
+ --flexoki-red-950: #261312;
31
+
32
+ --flexoki-orange-50: #ffe7ce;
33
+ --flexoki-orange-100: #fed3af;
34
+ --flexoki-orange-150: #fcc192;
35
+ --flexoki-orange-200: #f9ae77;
36
+ --flexoki-orange-300: #ec8b49;
37
+ --flexoki-orange-400: #da702c;
38
+ --flexoki-orange-500: #cb6120;
39
+ --flexoki-orange-600: #bc5215;
40
+ --flexoki-orange-700: #9d4310;
41
+ --flexoki-orange-800: #71320d;
42
+ --flexoki-orange-850: #59290d;
43
+ --flexoki-orange-900: #40200d;
44
+ --flexoki-orange-950: #27180e;
45
+
46
+ --flexoki-yellow-50: #faeec6;
47
+ --flexoki-yellow-100: #f6e2a0;
48
+ --flexoki-yellow-150: #f1d67e;
49
+ --flexoki-yellow-200: #eccb60;
50
+ --flexoki-yellow-300: #dfb431;
51
+ --flexoki-yellow-400: #d0a215;
52
+ --flexoki-yellow-500: #be9207;
53
+ --flexoki-yellow-600: #ad8301;
54
+ --flexoki-yellow-700: #8e6b01;
55
+ --flexoki-yellow-800: #664d01;
56
+ --flexoki-yellow-850: #503d02;
57
+ --flexoki-yellow-900: #3a2d04;
58
+ --flexoki-yellow-950: #241e08;
59
+
60
+ --flexoki-green-50: #edeecf;
61
+ --flexoki-green-100: #dde2b2;
62
+ --flexoki-green-150: #cdd597;
63
+ --flexoki-green-200: #bec97e;
64
+ --flexoki-green-300: #a0af54;
65
+ --flexoki-green-400: #879a39;
66
+ --flexoki-green-500: #768d21;
67
+ --flexoki-green-600: #66800b;
68
+ --flexoki-green-700: #536907;
69
+ --flexoki-green-800: #3d4c07;
70
+ --flexoki-green-850: #313d07;
71
+ --flexoki-green-900: #252d09;
72
+ --flexoki-green-950: #1a1e0c;
73
+
74
+ --flexoki-cyan-50: #ddf1e4;
75
+ --flexoki-cyan-100: #bfe8d9;
76
+ --flexoki-cyan-150: #a2dece;
77
+ --flexoki-cyan-200: #87d3c3;
78
+ --flexoki-cyan-300: #5abdac;
79
+ --flexoki-cyan-400: #3aa99f;
80
+ --flexoki-cyan-500: #2f968d;
81
+ --flexoki-cyan-600: #24837b;
82
+ --flexoki-cyan-700: #1c6c66;
83
+ --flexoki-cyan-800: #164f4a;
84
+ --flexoki-cyan-850: #143f3c;
85
+ --flexoki-cyan-900: #122f2c;
86
+ --flexoki-cyan-950: #101f1d;
87
+
88
+ --flexoki-blue-50: #e1eceb;
89
+ --flexoki-blue-100: #c6dde8;
90
+ --flexoki-blue-150: #abcfe2;
91
+ --flexoki-blue-200: #92bfdb;
92
+ --flexoki-blue-300: #66a0c8;
93
+ --flexoki-blue-400: #4385be;
94
+ --flexoki-blue-500: #3171b2;
95
+ --flexoki-blue-600: #205ea6;
96
+ --flexoki-blue-700: #1a4f8c;
97
+ --flexoki-blue-800: #163b66;
98
+ --flexoki-blue-850: #133051;
99
+ --flexoki-blue-900: #12253b;
100
+ --flexoki-blue-950: #101a24;
101
+
102
+ --flexoki-purple-50: #f0eaec;
103
+ --flexoki-purple-100: #e2d9e9;
104
+ --flexoki-purple-150: #d3cae6;
105
+ --flexoki-purple-200: #c4b9e0;
106
+ --flexoki-purple-300: #a699d0;
107
+ --flexoki-purple-400: #8b7ec8;
108
+ --flexoki-purple-500: #735eb5;
109
+ --flexoki-purple-600: #5e409d;
110
+ --flexoki-purple-700: #4f3685;
111
+ --flexoki-purple-800: #3c2a62;
112
+ --flexoki-purple-850: #31234e;
113
+ --flexoki-purple-900: #261c39;
114
+ --flexoki-purple-950: #1a1623;
115
+
116
+ --flexoki-magenta-50: #fee4e5;
117
+ --flexoki-magenta-100: #fccfda;
118
+ --flexoki-magenta-150: #f9b9cf;
119
+ --flexoki-magenta-200: #f4a4c2;
120
+ --flexoki-magenta-300: #e47da8;
121
+ --flexoki-magenta-400: #ce5d97;
122
+ --flexoki-magenta-500: #b74583;
123
+ --flexoki-magenta-600: #a02f6f;
124
+ --flexoki-magenta-700: #87285e;
125
+ --flexoki-magenta-800: #641f46;
126
+ --flexoki-magenta-850: #4f1b39;
127
+ --flexoki-magenta-900: #39172b;
128
+ --flexoki-magenta-950: #24131d;
129
+ --flexoki-linkout-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="lucide lucide-arrow-up-right" viewBox="0 0 24 24"><path d="M7 7h10v10"/><path d="M7 17 17 7"/></svg>');
130
+ }
131
+
132
+ [data-md-color-scheme="default"] {
133
+ --md-default-fg-color: var(--flexoki-black);
134
+ --md-default-fg-color--light: var(--flexoki-base-600);
135
+ --md-default-fg-color--lighter: var(--flexoki-base-300);
136
+ --md-default-fg-color--lightest: var(--flexoki-base-200);
137
+
138
+ --md-default-bg-color: var(--flexoki-paper);
139
+ --md-default-bg-color--light: color-mix(in srgb, var(--flexoki-paper) 72%, transparent);
140
+ --md-default-bg-color--lighter: var(--flexoki-base-50);
141
+ --md-default-bg-color--lightest: var(--flexoki-base-100);
142
+
143
+ --md-primary-fg-color: var(--flexoki-black);
144
+ --md-primary-fg-color--light: var(--flexoki-base-900);
145
+ --md-primary-fg-color--dark: var(--flexoki-black);
146
+ --md-primary-bg-color: var(--flexoki-paper);
147
+ --md-primary-bg-color--light: var(--flexoki-base-50);
148
+
149
+ --md-accent-fg-color: var(--flexoki-cyan-600);
150
+ --md-accent-fg-color--transparent: var(--flexoki-cyan-50);
151
+ --md-accent-bg-color: var(--flexoki-paper);
152
+ --md-accent-bg-color--light: var(--flexoki-base-50);
153
+
154
+ --md-code-fg-color: var(--flexoki-base-900);
155
+ --md-code-bg-color: var(--flexoki-base-50);
156
+ --md-code-bg-color--light: var(--flexoki-base-100);
157
+ --md-code-bg-color--lighter: var(--flexoki-base-150);
158
+ --flexoki-syntax-plain: var(--flexoki-base-900);
159
+ --flexoki-syntax-plain-soft: var(--flexoki-base-600);
160
+ --flexoki-syntax-comment: var(--flexoki-base-600);
161
+ --flexoki-syntax-keyword: var(--flexoki-green-600);
162
+ --flexoki-syntax-type: var(--flexoki-yellow-600);
163
+ --flexoki-syntax-string: var(--flexoki-cyan-600);
164
+ --flexoki-syntax-number: var(--flexoki-purple-600);
165
+ --flexoki-syntax-function: var(--flexoki-orange-600);
166
+ --flexoki-syntax-blue: var(--flexoki-blue-600);
167
+ --flexoki-syntax-red: var(--flexoki-red-600);
168
+ --flexoki-syntax-magenta: var(--flexoki-magenta-600);
169
+ --md-code-hl-color: var(--flexoki-blue-600);
170
+ --md-code-hl-color--light: var(--flexoki-blue-50);
171
+ --md-code-hl-number-color: var(--flexoki-syntax-number);
172
+ --md-code-hl-special-color: var(--flexoki-syntax-magenta);
173
+ --md-code-hl-function-color: var(--flexoki-syntax-function);
174
+ --md-code-hl-constant-color: var(--flexoki-syntax-plain);
175
+ --md-code-hl-keyword-color: var(--flexoki-syntax-keyword);
176
+ --md-code-hl-string-color: var(--flexoki-syntax-string);
177
+ --md-code-hl-name-color: var(--flexoki-syntax-plain);
178
+ --md-code-hl-operator-color: var(--flexoki-syntax-red);
179
+ --md-code-hl-punctuation-color: var(--flexoki-syntax-plain-soft);
180
+ --md-code-hl-comment-color: var(--flexoki-syntax-comment);
181
+ --md-code-hl-generic-color: var(--flexoki-syntax-plain-soft);
182
+ --md-code-hl-variable-color: var(--flexoki-syntax-plain);
183
+
184
+ --md-typeset-color: var(--flexoki-black);
185
+ --md-typeset-a-color: var(--flexoki-base-900);
186
+ --md-typeset-del-color: var(--flexoki-red-50);
187
+ --md-typeset-ins-color: var(--flexoki-green-50);
188
+ --md-typeset-kbd-color: var(--flexoki-base-50);
189
+ --md-typeset-kbd-accent-color: var(--flexoki-paper);
190
+ --md-typeset-kbd-border-color: var(--flexoki-base-200);
191
+ --md-typeset-mark-color: var(--flexoki-yellow-50);
192
+ --md-typeset-table-color: var(--flexoki-base-200);
193
+ --md-typeset-table-color--light: var(--flexoki-base-100);
194
+ --md-tag-icon-color: var(--md-typeset-color);
195
+ --md-mermaid-edge-color: var(--md-default-fg-color--light);
196
+ --md-mermaid-node-bg-color: color-mix(in srgb, var(--md-primary-fg-color) 16%, var(--md-default-bg-color));
197
+ --md-mermaid-node-fg-color: var(--md-primary-fg-color);
198
+ --md-mermaid-label-bg-color: var(--md-default-bg-color);
199
+ --md-mermaid-label-fg-color: var(--md-typeset-color);
200
+ --md-mermaid-sequence-actor-bg-color: var(--md-mermaid-label-bg-color);
201
+ --md-mermaid-sequence-actor-fg-color: var(--md-mermaid-label-fg-color);
202
+ --md-mermaid-sequence-actor-border-color: var(--md-mermaid-node-fg-color);
203
+ --md-mermaid-sequence-actor-line-color: var(--md-default-fg-color--lighter);
204
+ --md-mermaid-sequence-actorman-bg-color: var(--md-mermaid-label-bg-color);
205
+ --md-mermaid-sequence-actorman-line-color: var(--md-mermaid-node-fg-color);
206
+ --md-mermaid-sequence-box-bg-color: var(--md-mermaid-node-bg-color);
207
+ --md-mermaid-sequence-box-fg-color: var(--md-mermaid-edge-color);
208
+ --md-mermaid-sequence-label-bg-color: var(--md-mermaid-node-bg-color);
209
+ --md-mermaid-sequence-label-fg-color: var(--md-mermaid-node-fg-color);
210
+ --md-mermaid-sequence-loop-bg-color: var(--md-mermaid-node-bg-color);
211
+ --md-mermaid-sequence-loop-fg-color: var(--md-mermaid-edge-color);
212
+ --md-mermaid-sequence-loop-border-color: var(--md-mermaid-node-fg-color);
213
+ --md-mermaid-sequence-message-fg-color: var(--md-mermaid-edge-color);
214
+ --md-mermaid-sequence-message-line-color: var(--md-mermaid-edge-color);
215
+ --md-mermaid-sequence-note-bg-color: var(--md-mermaid-label-bg-color);
216
+ --md-mermaid-sequence-note-fg-color: var(--md-mermaid-edge-color);
217
+ --md-mermaid-sequence-note-border-color: var(--md-mermaid-label-fg-color);
218
+ --md-mermaid-sequence-number-bg-color: var(--md-mermaid-node-fg-color);
219
+ --md-mermaid-sequence-number-fg-color: var(--md-primary-bg-color);
220
+
221
+ --md-admonition-fg-color: var(--flexoki-black);
222
+ --md-admonition-bg-color: var(--flexoki-base-50);
223
+ --md-warning-fg-color: var(--flexoki-yellow-900);
224
+ --md-warning-bg-color: var(--flexoki-yellow-50);
225
+
226
+ --md-footer-fg-color: var(--flexoki-base-200);
227
+ --md-footer-fg-color--light: var(--flexoki-base-500);
228
+ --md-footer-fg-color--lighter: var(--flexoki-base-700);
229
+ --md-footer-bg-color: var(--flexoki-base-950);
230
+ --md-footer-bg-color--dark: var(--flexoki-black);
231
+
232
+ --flexoki-admonition-note-bg: var(--flexoki-blue-50);
233
+ --flexoki-admonition-abstract-bg: var(--flexoki-blue-100);
234
+ --flexoki-admonition-info-bg: var(--flexoki-cyan-50);
235
+ --flexoki-admonition-tip-bg: var(--flexoki-cyan-100);
236
+ --flexoki-admonition-success-bg: var(--flexoki-green-100);
237
+ --flexoki-admonition-question-bg: var(--flexoki-green-50);
238
+ --flexoki-admonition-warning-bg: var(--flexoki-orange-50);
239
+ --flexoki-admonition-failure-bg: var(--flexoki-red-50);
240
+ --flexoki-admonition-danger-bg: var(--flexoki-red-100);
241
+ --flexoki-admonition-bug-bg: var(--flexoki-magenta-50);
242
+ --flexoki-admonition-example-bg: var(--flexoki-purple-50);
243
+ --flexoki-admonition-quote-bg: var(--flexoki-base-50);
244
+ }
245
+
246
+ [data-md-color-scheme="slate"] {
247
+ --md-default-fg-color: var(--flexoki-base-200);
248
+ --md-default-fg-color--light: var(--flexoki-base-500);
249
+ --md-default-fg-color--lighter: var(--flexoki-base-700);
250
+ --md-default-fg-color--lightest: var(--flexoki-base-800);
251
+
252
+ --md-default-bg-color: var(--flexoki-black);
253
+ --md-default-bg-color--light: color-mix(in srgb, var(--flexoki-black) 72%, transparent);
254
+ --md-default-bg-color--lighter: var(--flexoki-base-950);
255
+ --md-default-bg-color--lightest: var(--flexoki-base-900);
256
+
257
+ --md-primary-fg-color: var(--flexoki-paper);
258
+ --md-primary-fg-color--light: var(--flexoki-base-50);
259
+ --md-primary-fg-color--dark: var(--flexoki-base-100);
260
+ --md-primary-bg-color: var(--flexoki-paper);
261
+ --md-primary-bg-color--light: var(--flexoki-base-50);
262
+
263
+ --md-accent-fg-color: var(--flexoki-cyan-400);
264
+ --md-accent-fg-color--transparent: var(--flexoki-cyan-950);
265
+ --md-accent-bg-color: var(--flexoki-black);
266
+ --md-accent-bg-color--light: var(--flexoki-base-950);
267
+
268
+ --md-code-fg-color: var(--flexoki-base-200);
269
+ --md-code-bg-color: var(--flexoki-base-950);
270
+ --md-code-bg-color--light: var(--flexoki-base-900);
271
+ --md-code-bg-color--lighter: var(--flexoki-base-850);
272
+ --flexoki-syntax-plain: var(--flexoki-base-200);
273
+ --flexoki-syntax-plain-soft: var(--flexoki-base-500);
274
+ --flexoki-syntax-comment: var(--flexoki-base-500);
275
+ --flexoki-syntax-keyword: var(--flexoki-green-400);
276
+ --flexoki-syntax-type: var(--flexoki-yellow-400);
277
+ --flexoki-syntax-string: var(--flexoki-cyan-400);
278
+ --flexoki-syntax-number: var(--flexoki-purple-400);
279
+ --flexoki-syntax-function: var(--flexoki-orange-400);
280
+ --flexoki-syntax-blue: var(--flexoki-blue-400);
281
+ --flexoki-syntax-red: var(--flexoki-red-400);
282
+ --flexoki-syntax-magenta: var(--flexoki-magenta-400);
283
+ --md-code-hl-color: var(--flexoki-blue-400);
284
+ --md-code-hl-color--light: var(--flexoki-blue-950);
285
+ --md-code-hl-number-color: var(--flexoki-syntax-number);
286
+ --md-code-hl-special-color: var(--flexoki-syntax-magenta);
287
+ --md-code-hl-function-color: var(--flexoki-syntax-function);
288
+ --md-code-hl-constant-color: var(--flexoki-syntax-plain);
289
+ --md-code-hl-keyword-color: var(--flexoki-syntax-keyword);
290
+ --md-code-hl-string-color: var(--flexoki-syntax-string);
291
+ --md-code-hl-name-color: var(--flexoki-syntax-plain);
292
+ --md-code-hl-operator-color: var(--flexoki-syntax-red);
293
+ --md-code-hl-punctuation-color: var(--flexoki-syntax-plain-soft);
294
+ --md-code-hl-comment-color: var(--flexoki-syntax-comment);
295
+ --md-code-hl-generic-color: var(--flexoki-syntax-plain-soft);
296
+ --md-code-hl-variable-color: var(--flexoki-syntax-plain);
297
+
298
+ --md-typeset-color: var(--flexoki-base-200);
299
+ --md-typeset-a-color: var(--flexoki-base-200);
300
+ --md-typeset-del-color: var(--flexoki-red-950);
301
+ --md-typeset-ins-color: var(--flexoki-green-950);
302
+ --md-typeset-kbd-color: var(--flexoki-base-900);
303
+ --md-typeset-kbd-accent-color: var(--flexoki-base-850);
304
+ --md-typeset-kbd-border-color: var(--flexoki-base-800);
305
+ --md-typeset-mark-color: var(--flexoki-yellow-950);
306
+ --md-typeset-table-color: var(--flexoki-base-800);
307
+ --md-typeset-table-color--light: var(--flexoki-base-900);
308
+ --md-tag-icon-color: var(--md-typeset-color);
309
+ --md-mermaid-edge-color: var(--md-default-fg-color--light);
310
+ --md-mermaid-node-bg-color: color-mix(in srgb, var(--md-primary-fg-color) 18%, var(--md-default-bg-color));
311
+ --md-mermaid-node-fg-color: var(--md-primary-fg-color);
312
+ --md-mermaid-label-bg-color: var(--md-default-bg-color);
313
+ --md-mermaid-label-fg-color: var(--md-typeset-color);
314
+ --md-mermaid-sequence-actor-bg-color: var(--md-mermaid-label-bg-color);
315
+ --md-mermaid-sequence-actor-fg-color: var(--md-mermaid-label-fg-color);
316
+ --md-mermaid-sequence-actor-border-color: var(--md-mermaid-node-fg-color);
317
+ --md-mermaid-sequence-actor-line-color: var(--md-default-fg-color--lighter);
318
+ --md-mermaid-sequence-actorman-bg-color: var(--md-mermaid-label-bg-color);
319
+ --md-mermaid-sequence-actorman-line-color: var(--md-mermaid-node-fg-color);
320
+ --md-mermaid-sequence-box-bg-color: var(--md-mermaid-node-bg-color);
321
+ --md-mermaid-sequence-box-fg-color: var(--md-mermaid-edge-color);
322
+ --md-mermaid-sequence-label-bg-color: var(--md-mermaid-node-bg-color);
323
+ --md-mermaid-sequence-label-fg-color: var(--md-mermaid-node-fg-color);
324
+ --md-mermaid-sequence-loop-bg-color: var(--md-mermaid-node-bg-color);
325
+ --md-mermaid-sequence-loop-fg-color: var(--md-mermaid-edge-color);
326
+ --md-mermaid-sequence-loop-border-color: var(--md-mermaid-node-fg-color);
327
+ --md-mermaid-sequence-message-fg-color: var(--md-mermaid-edge-color);
328
+ --md-mermaid-sequence-message-line-color: var(--md-mermaid-edge-color);
329
+ --md-mermaid-sequence-note-bg-color: var(--md-mermaid-label-bg-color);
330
+ --md-mermaid-sequence-note-fg-color: var(--md-mermaid-edge-color);
331
+ --md-mermaid-sequence-note-border-color: var(--md-mermaid-label-fg-color);
332
+ --md-mermaid-sequence-number-bg-color: var(--md-mermaid-node-fg-color);
333
+ --md-mermaid-sequence-number-fg-color: var(--md-primary-bg-color);
334
+
335
+ --md-admonition-fg-color: var(--flexoki-base-200);
336
+ --md-admonition-bg-color: var(--flexoki-base-950);
337
+ --md-warning-fg-color: var(--flexoki-yellow-50);
338
+ --md-warning-bg-color: var(--flexoki-yellow-950);
339
+
340
+ --md-footer-fg-color: var(--flexoki-base-200);
341
+ --md-footer-fg-color--light: var(--flexoki-base-500);
342
+ --md-footer-fg-color--lighter: var(--flexoki-base-700);
343
+ --md-footer-bg-color: var(--flexoki-base-950);
344
+ --md-footer-bg-color--dark: var(--flexoki-black);
345
+
346
+ --flexoki-admonition-note-bg: var(--flexoki-blue-950);
347
+ --flexoki-admonition-abstract-bg: var(--flexoki-blue-900);
348
+ --flexoki-admonition-info-bg: var(--flexoki-cyan-950);
349
+ --flexoki-admonition-tip-bg: var(--flexoki-cyan-900);
350
+ --flexoki-admonition-success-bg: var(--flexoki-green-900);
351
+ --flexoki-admonition-question-bg: var(--flexoki-green-950);
352
+ --flexoki-admonition-warning-bg: var(--flexoki-orange-950);
353
+ --flexoki-admonition-failure-bg: var(--flexoki-red-950);
354
+ --flexoki-admonition-danger-bg: var(--flexoki-red-900);
355
+ --flexoki-admonition-bug-bg: var(--flexoki-magenta-950);
356
+ --flexoki-admonition-example-bg: var(--flexoki-purple-950);
357
+ --flexoki-admonition-quote-bg: var(--flexoki-base-950);
358
+ }
359
+
360
+ /* Bring Pygments token classes closer to the established Flexoki editor themes. */
361
+ [data-md-color-scheme] .highlight .k,
362
+ [data-md-color-scheme] .highlight .kd,
363
+ [data-md-color-scheme] .highlight .kp,
364
+ [data-md-color-scheme] .highlight .kr {
365
+ color: var(--flexoki-syntax-keyword);
366
+ }
367
+
368
+ [data-md-color-scheme] .highlight .kc,
369
+ [data-md-color-scheme] .highlight .kt,
370
+ [data-md-color-scheme] .highlight .na,
371
+ [data-md-color-scheme] .highlight .nd,
372
+ [data-md-color-scheme] .highlight .ni,
373
+ [data-md-color-scheme] .highlight .nn {
374
+ color: var(--flexoki-syntax-type);
375
+ }
376
+
377
+ [data-md-color-scheme] .highlight .kn,
378
+ [data-md-color-scheme] .highlight .o,
379
+ [data-md-color-scheme] .highlight .ow {
380
+ color: var(--flexoki-syntax-red);
381
+ }
382
+
383
+ [data-md-color-scheme] .highlight .nc,
384
+ [data-md-color-scheme] .highlight .nf {
385
+ color: var(--flexoki-syntax-function);
386
+ }
387
+
388
+ [data-md-color-scheme] .highlight .nt {
389
+ color: var(--flexoki-syntax-blue);
390
+ }
391
+
392
+ [data-md-color-scheme] .highlight .cp,
393
+ [data-md-color-scheme] .highlight .cpf,
394
+ [data-md-color-scheme] .highlight .bp,
395
+ [data-md-color-scheme] .highlight .ne,
396
+ [data-md-color-scheme] .highlight .nl,
397
+ [data-md-color-scheme] .highlight .vg {
398
+ color: var(--flexoki-syntax-magenta);
399
+ }
400
+
401
+ [data-md-color-scheme] .highlight .m,
402
+ [data-md-color-scheme] .highlight .mb,
403
+ [data-md-color-scheme] .highlight .mf,
404
+ [data-md-color-scheme] .highlight .mh,
405
+ [data-md-color-scheme] .highlight .mi,
406
+ [data-md-color-scheme] .highlight .mo,
407
+ [data-md-color-scheme] .highlight .il {
408
+ color: var(--flexoki-syntax-number);
409
+ }
410
+
411
+ [data-md-color-scheme] .highlight .s,
412
+ [data-md-color-scheme] .highlight .s1,
413
+ [data-md-color-scheme] .highlight .s2,
414
+ [data-md-color-scheme] .highlight .sb,
415
+ [data-md-color-scheme] .highlight .sc,
416
+ [data-md-color-scheme] .highlight .sh,
417
+ [data-md-color-scheme] .highlight .si,
418
+ [data-md-color-scheme] .highlight .sr,
419
+ [data-md-color-scheme] .highlight .ss,
420
+ [data-md-color-scheme] .highlight .sx {
421
+ color: var(--flexoki-syntax-string);
422
+ }
423
+
424
+ [data-md-color-scheme] .highlight .n,
425
+ [data-md-color-scheme] .highlight .nb,
426
+ [data-md-color-scheme] .highlight .no,
427
+ [data-md-color-scheme] .highlight .nv,
428
+ [data-md-color-scheme] .highlight .vc,
429
+ [data-md-color-scheme] .highlight .vi,
430
+ [data-md-color-scheme] .highlight .se {
431
+ color: var(--flexoki-syntax-plain);
432
+ }
433
+
434
+ /* Native Flexoki primary presets. */
435
+ [data-md-color-primary="red"] {
436
+ --flexoki-primary-300: var(--flexoki-red-300);
437
+ --flexoki-primary-400: var(--flexoki-red-400);
438
+ --flexoki-primary-500: var(--flexoki-red-500);
439
+ --flexoki-primary-600: var(--flexoki-red-600);
440
+ --flexoki-primary-700: var(--flexoki-red-700);
441
+ }
442
+
443
+ [data-md-color-primary="orange"] {
444
+ --flexoki-primary-300: var(--flexoki-orange-300);
445
+ --flexoki-primary-400: var(--flexoki-orange-400);
446
+ --flexoki-primary-500: var(--flexoki-orange-500);
447
+ --flexoki-primary-600: var(--flexoki-orange-600);
448
+ --flexoki-primary-700: var(--flexoki-orange-700);
449
+ }
450
+
451
+ [data-md-color-primary="yellow"] {
452
+ --flexoki-primary-300: var(--flexoki-yellow-300);
453
+ --flexoki-primary-400: var(--flexoki-yellow-400);
454
+ --flexoki-primary-500: var(--flexoki-yellow-500);
455
+ --flexoki-primary-600: var(--flexoki-yellow-600);
456
+ --flexoki-primary-700: var(--flexoki-yellow-700);
457
+ }
458
+
459
+ [data-md-color-primary="green"] {
460
+ --flexoki-primary-300: var(--flexoki-green-300);
461
+ --flexoki-primary-400: var(--flexoki-green-400);
462
+ --flexoki-primary-500: var(--flexoki-green-500);
463
+ --flexoki-primary-600: var(--flexoki-green-600);
464
+ --flexoki-primary-700: var(--flexoki-green-700);
465
+ }
466
+
467
+ [data-md-color-primary="cyan"] {
468
+ --flexoki-primary-300: var(--flexoki-cyan-300);
469
+ --flexoki-primary-400: var(--flexoki-cyan-400);
470
+ --flexoki-primary-500: var(--flexoki-cyan-500);
471
+ --flexoki-primary-600: var(--flexoki-cyan-600);
472
+ --flexoki-primary-700: var(--flexoki-cyan-700);
473
+ }
474
+
475
+ [data-md-color-primary="blue"] {
476
+ --flexoki-primary-300: var(--flexoki-blue-300);
477
+ --flexoki-primary-400: var(--flexoki-blue-400);
478
+ --flexoki-primary-500: var(--flexoki-blue-500);
479
+ --flexoki-primary-600: var(--flexoki-blue-600);
480
+ --flexoki-primary-700: var(--flexoki-blue-700);
481
+ }
482
+
483
+ [data-md-color-primary="purple"] {
484
+ --flexoki-primary-300: var(--flexoki-purple-300);
485
+ --flexoki-primary-400: var(--flexoki-purple-400);
486
+ --flexoki-primary-500: var(--flexoki-purple-500);
487
+ --flexoki-primary-600: var(--flexoki-purple-600);
488
+ --flexoki-primary-700: var(--flexoki-purple-700);
489
+ }
490
+
491
+ [data-md-color-primary="magenta"] {
492
+ --flexoki-primary-300: var(--flexoki-magenta-300);
493
+ --flexoki-primary-400: var(--flexoki-magenta-400);
494
+ --flexoki-primary-500: var(--flexoki-magenta-500);
495
+ --flexoki-primary-600: var(--flexoki-magenta-600);
496
+ --flexoki-primary-700: var(--flexoki-magenta-700);
497
+ }
498
+
499
+ [data-md-color-scheme="default"][data-md-color-primary="base"] {
500
+ --md-primary-fg-color: var(--flexoki-black);
501
+ --md-primary-fg-color--light: var(--flexoki-base-900);
502
+ --md-primary-fg-color--dark: var(--flexoki-black);
503
+ --md-typeset-a-color: var(--flexoki-base-900);
504
+ }
505
+
506
+ [data-md-color-scheme="default"]:is(
507
+ [data-md-color-primary="red"],
508
+ [data-md-color-primary="orange"],
509
+ [data-md-color-primary="yellow"],
510
+ [data-md-color-primary="green"],
511
+ [data-md-color-primary="cyan"],
512
+ [data-md-color-primary="blue"],
513
+ [data-md-color-primary="purple"],
514
+ [data-md-color-primary="magenta"]
515
+ ) {
516
+ --md-primary-fg-color: var(--flexoki-primary-600);
517
+ --md-primary-fg-color--light: var(--flexoki-primary-500);
518
+ --md-primary-fg-color--dark: var(--flexoki-primary-700);
519
+ --md-typeset-a-color: var(--flexoki-primary-600);
520
+ }
521
+
522
+ [data-md-color-scheme="slate"][data-md-color-primary="base"] {
523
+ --md-primary-fg-color: var(--flexoki-paper);
524
+ --md-primary-fg-color--light: var(--flexoki-base-50);
525
+ --md-primary-fg-color--dark: var(--flexoki-base-100);
526
+ --md-primary-bg-color: var(--flexoki-black);
527
+ --md-primary-bg-color--light: var(--flexoki-base-900);
528
+ --md-typeset-a-color: var(--flexoki-base-200);
529
+ }
530
+
531
+ [data-md-color-scheme="slate"]:is(
532
+ [data-md-color-primary="red"],
533
+ [data-md-color-primary="orange"],
534
+ [data-md-color-primary="yellow"],
535
+ [data-md-color-primary="green"],
536
+ [data-md-color-primary="cyan"],
537
+ [data-md-color-primary="blue"],
538
+ [data-md-color-primary="purple"],
539
+ [data-md-color-primary="magenta"]
540
+ ) {
541
+ --md-primary-fg-color: var(--flexoki-primary-400);
542
+ --md-primary-fg-color--light: var(--flexoki-primary-300);
543
+ --md-primary-fg-color--dark: var(--flexoki-primary-500);
544
+ --md-typeset-a-color: var(--flexoki-primary-400);
545
+ }
546
+
547
+ /* Native Flexoki accent presets. */
548
+ [data-md-color-accent="red"] {
549
+ --flexoki-accent-50: var(--flexoki-red-50);
550
+ --flexoki-accent-400: var(--flexoki-red-400);
551
+ --flexoki-accent-600: var(--flexoki-red-600);
552
+ --flexoki-accent-950: var(--flexoki-red-950);
553
+ }
554
+
555
+ [data-md-color-accent="orange"] {
556
+ --flexoki-accent-50: var(--flexoki-orange-50);
557
+ --flexoki-accent-400: var(--flexoki-orange-400);
558
+ --flexoki-accent-600: var(--flexoki-orange-600);
559
+ --flexoki-accent-950: var(--flexoki-orange-950);
560
+ }
561
+
562
+ [data-md-color-accent="yellow"] {
563
+ --flexoki-accent-50: var(--flexoki-yellow-50);
564
+ --flexoki-accent-400: var(--flexoki-yellow-400);
565
+ --flexoki-accent-600: var(--flexoki-yellow-600);
566
+ --flexoki-accent-950: var(--flexoki-yellow-950);
567
+ }
568
+
569
+ [data-md-color-accent="green"] {
570
+ --flexoki-accent-50: var(--flexoki-green-50);
571
+ --flexoki-accent-400: var(--flexoki-green-400);
572
+ --flexoki-accent-600: var(--flexoki-green-600);
573
+ --flexoki-accent-950: var(--flexoki-green-950);
574
+ }
575
+
576
+ [data-md-color-accent="cyan"] {
577
+ --flexoki-accent-50: var(--flexoki-cyan-50);
578
+ --flexoki-accent-400: var(--flexoki-cyan-400);
579
+ --flexoki-accent-600: var(--flexoki-cyan-600);
580
+ --flexoki-accent-950: var(--flexoki-cyan-950);
581
+ }
582
+
583
+ [data-md-color-accent="blue"] {
584
+ --flexoki-accent-50: var(--flexoki-blue-50);
585
+ --flexoki-accent-400: var(--flexoki-blue-400);
586
+ --flexoki-accent-600: var(--flexoki-blue-600);
587
+ --flexoki-accent-950: var(--flexoki-blue-950);
588
+ }
589
+
590
+ [data-md-color-accent="purple"] {
591
+ --flexoki-accent-50: var(--flexoki-purple-50);
592
+ --flexoki-accent-400: var(--flexoki-purple-400);
593
+ --flexoki-accent-600: var(--flexoki-purple-600);
594
+ --flexoki-accent-950: var(--flexoki-purple-950);
595
+ }
596
+
597
+ [data-md-color-accent="magenta"] {
598
+ --flexoki-accent-50: var(--flexoki-magenta-50);
599
+ --flexoki-accent-400: var(--flexoki-magenta-400);
600
+ --flexoki-accent-600: var(--flexoki-magenta-600);
601
+ --flexoki-accent-950: var(--flexoki-magenta-950);
602
+ }
603
+
604
+ [data-md-color-scheme="default"][data-md-color-accent="base"] {
605
+ --md-accent-fg-color: var(--flexoki-base-700);
606
+ --md-accent-fg-color--transparent: var(--flexoki-base-100);
607
+ }
608
+
609
+ [data-md-color-scheme="default"]:is(
610
+ [data-md-color-accent="red"],
611
+ [data-md-color-accent="orange"],
612
+ [data-md-color-accent="yellow"],
613
+ [data-md-color-accent="green"],
614
+ [data-md-color-accent="cyan"],
615
+ [data-md-color-accent="blue"],
616
+ [data-md-color-accent="purple"],
617
+ [data-md-color-accent="magenta"]
618
+ ) {
619
+ --md-accent-fg-color: var(--flexoki-accent-600);
620
+ --md-accent-fg-color--transparent: var(--flexoki-accent-50);
621
+ }
622
+
623
+ [data-md-color-scheme="slate"][data-md-color-accent="base"] {
624
+ --md-accent-fg-color: var(--flexoki-base-300);
625
+ --md-accent-fg-color--transparent: var(--flexoki-base-900);
626
+ }
627
+
628
+ [data-md-color-scheme="slate"]:is(
629
+ [data-md-color-accent="red"],
630
+ [data-md-color-accent="orange"],
631
+ [data-md-color-accent="yellow"],
632
+ [data-md-color-accent="green"],
633
+ [data-md-color-accent="cyan"],
634
+ [data-md-color-accent="blue"],
635
+ [data-md-color-accent="purple"],
636
+ [data-md-color-accent="magenta"]
637
+ ) {
638
+ --md-accent-fg-color: var(--flexoki-accent-400);
639
+ --md-accent-fg-color--transparent: var(--flexoki-accent-950);
640
+ }
641
+
642
+ .md-typeset :is(.admonition, details).note {
643
+ --flexoki-admonition-accent: var(--flexoki-blue-400);
644
+ background-color: var(--flexoki-admonition-note-bg);
645
+ }
646
+
647
+ .md-typeset :is(.admonition, details).abstract {
648
+ --flexoki-admonition-accent: var(--flexoki-blue-300);
649
+ background-color: var(--flexoki-admonition-abstract-bg);
650
+ }
651
+
652
+ .md-typeset :is(.admonition, details).info {
653
+ --flexoki-admonition-accent: var(--flexoki-cyan-400);
654
+ background-color: var(--flexoki-admonition-info-bg);
655
+ }
656
+
657
+ .md-typeset :is(.admonition, details).tip {
658
+ --flexoki-admonition-accent: var(--flexoki-cyan-500);
659
+ background-color: var(--flexoki-admonition-tip-bg);
660
+ }
661
+
662
+ .md-typeset :is(.admonition, details).success {
663
+ --flexoki-admonition-accent: var(--flexoki-green-500);
664
+ background-color: var(--flexoki-admonition-success-bg);
665
+ }
666
+
667
+ .md-typeset :is(.admonition, details).question {
668
+ --flexoki-admonition-accent: var(--flexoki-green-400);
669
+ background-color: var(--flexoki-admonition-question-bg);
670
+ }
671
+
672
+ .md-typeset :is(.admonition, details).warning {
673
+ --flexoki-admonition-accent: var(--flexoki-orange-400);
674
+ background-color: var(--flexoki-admonition-warning-bg);
675
+ }
676
+
677
+ .md-typeset :is(.admonition, details).failure {
678
+ --flexoki-admonition-accent: var(--flexoki-red-300);
679
+ background-color: var(--flexoki-admonition-failure-bg);
680
+ }
681
+
682
+ .md-typeset :is(.admonition, details).danger {
683
+ --flexoki-admonition-accent: var(--flexoki-red-400);
684
+ background-color: var(--flexoki-admonition-danger-bg);
685
+ }
686
+
687
+ .md-typeset :is(.admonition, details).bug {
688
+ --flexoki-admonition-accent: var(--flexoki-magenta-400);
689
+ background-color: var(--flexoki-admonition-bug-bg);
690
+ }
691
+
692
+ .md-typeset :is(.admonition, details).example {
693
+ --flexoki-admonition-accent: var(--flexoki-purple-400);
694
+ background-color: var(--flexoki-admonition-example-bg);
695
+ }
696
+
697
+ .md-typeset :is(.admonition, details).quote {
698
+ --flexoki-admonition-accent: var(--md-default-fg-color--light);
699
+ background-color: var(--flexoki-admonition-quote-bg);
700
+ }
701
+
702
+ .md-typeset :is(
703
+ .note,
704
+ .abstract,
705
+ .info,
706
+ .tip,
707
+ .success,
708
+ .question,
709
+ .warning,
710
+ .failure,
711
+ .danger,
712
+ .bug,
713
+ .example,
714
+ .quote
715
+ ) > :is(.admonition-title, summary)::before {
716
+ background-color: var(--flexoki-admonition-accent);
717
+ }
718
+
719
+ .md-typeset :is(
720
+ .note,
721
+ .abstract,
722
+ .info,
723
+ .tip,
724
+ .success,
725
+ .question,
726
+ .warning,
727
+ .failure,
728
+ .danger,
729
+ .bug,
730
+ .example,
731
+ .quote
732
+ ) > :is(.admonition-title, summary)::after {
733
+ color: var(--flexoki-admonition-accent);
734
+ }
735
+
736
+ .md-nav__container > a.md-nav__link:first-child {
737
+ pointer-events: none;
738
+ cursor: default;
739
+ }
740
+
741
+ .md-code__nav,
742
+ :hover > .md-code__nav {
743
+ background-color: var(--md-code-bg-color);
744
+ }
745
+
746
+ .md-typeset .md-tag-icon::before {
747
+ background-color: var(--md-tag-icon-color);
748
+ }
749
+
750
+ [data-md-color-scheme="slate"] :is(h1, h2, h3, h4, h5, h6),
751
+ [data-md-color-scheme="slate"] .md-header__title {
752
+ color: var(--md-typeset-color);
753
+ }
@@ -0,0 +1,57 @@
1
+ {% extends "base.html" %}
2
+
3
+ {% block site_meta %}
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ {% if page.meta and page.meta.description %}
7
+ <meta name="description" content="{{ page.meta.description }}">
8
+ {% elif config.site_description %}
9
+ <meta name="description" content="{{ config.site_description }}">
10
+ {% endif %}
11
+ {% if page.meta and page.meta.author %}
12
+ <meta name="author" content="{{ page.meta.author }}">
13
+ {% elif config.site_author %}
14
+ <meta name="author" content="{{ config.site_author }}">
15
+ {% endif %}
16
+ {% if page.canonical_url %}
17
+ <link rel="canonical" href="{{ page.canonical_url }}">
18
+ {% endif %}
19
+ {% if page.previous_page %}
20
+ <link rel="prev" href="{{ page.previous_page.url | url }}">
21
+ {% endif %}
22
+ {% if page.next_page %}
23
+ <link rel="next" href="{{ page.next_page.url | url }}">
24
+ {% endif %}
25
+ {% if config.extra.alternate is iterable %}
26
+ {% for alt in config.extra.alternate %}
27
+ <link rel="alternate" href="{{ alt.link | url }}" hreflang="{{ alt.lang | d(lang.t('language')) }}">
28
+ {% endfor %}
29
+ {% endif %}
30
+ {% if "rss" in config.plugins %}
31
+ <link rel="alternate" type="application/rss+xml" title="{{ lang.t('rss.created') }}" href="{{ 'feed_rss_created.xml' | url }}">
32
+ <link rel="alternate" type="application/rss+xml" title="{{ lang.t('rss.updated') }}" href="{{ 'feed_rss_updated.xml' | url }}">
33
+ {% endif %}
34
+ <link rel="icon" href="{{ config.theme.favicon | url }}">
35
+ {% endblock %}
36
+
37
+ {% block styles %}
38
+ {{ super() }}
39
+ <link rel="stylesheet" href="{{ 'assets/stylesheets/flexoki.css' | url }}">
40
+ {% if config.extra.flexoki and config.extra.flexoki.linkout_icons == true %}
41
+ <style>
42
+ .md-typeset a[href^="http"]:not(.md-button):not(.md-content__button):not(.showcase-card):not(.md-social__link):not(.headerlink):not(.footnote-backref):not(.footnote-ref)::after {
43
+ background-color: currentColor;
44
+ content: "";
45
+ display: inline-block;
46
+ height: 0.8em;
47
+ margin-left: 0.12em;
48
+ mask-image: var(--flexoki-linkout-icon);
49
+ mask-position: center;
50
+ mask-repeat: no-repeat;
51
+ mask-size: contain;
52
+ vertical-align: text-top;
53
+ width: 0.8em;
54
+ }
55
+ </style>
56
+ {% endif %}
57
+ {% endblock %}
@@ -0,0 +1,17 @@
1
+ extends: zensical
2
+
3
+ palette:
4
+ - media: "(prefers-color-scheme: light)"
5
+ scheme: default
6
+ primary: base
7
+ accent: cyan
8
+ toggle:
9
+ icon: lucide/moon
10
+ name: Switch to dark mode
11
+ - media: "(prefers-color-scheme: dark)"
12
+ scheme: slate
13
+ primary: base
14
+ accent: cyan
15
+ toggle:
16
+ icon: lucide/sun
17
+ name: Switch to light mode
@@ -0,0 +1,23 @@
1
+ {% set show_generator_notice = config.extra.generator != false %}
2
+ {% set show_styling_notice = not (config.extra.flexoki and config.extra.flexoki.signature == false) %}
3
+
4
+ <div class="md-copyright">
5
+ {% if config.copyright %}
6
+ <div class="md-copyright__highlight">
7
+ {{ config.copyright }}
8
+ </div>
9
+ {% endif %}
10
+ {% if show_generator_notice or show_styling_notice %}
11
+ <div class="md-copyright__notice">
12
+ {% if show_generator_notice -%}
13
+ Made with <a href="https://zensical.org/" target="_blank" rel="noopener">Zensical</a>
14
+ {%- endif %}
15
+ {% if show_generator_notice and show_styling_notice -%}
16
+ <span class="md-copyright__separator" aria-hidden="true"> | </span>
17
+ {%- endif %}
18
+ {% if show_styling_notice -%}
19
+ Styled with <a href="https://github.com/leightonpayne/flexoki-zensical" target="_blank" rel="noopener">Flexoki for Zensical</a>
20
+ {%- endif %}
21
+ </div>
22
+ {% endif %}
23
+ </div>