@krigsvold/theme 0.0.0-stage → 2.1.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/LICENSE +21 -0
- package/NOTICE.md +11 -0
- package/README.md +51 -2
- package/dist/capabilities.json +101 -0
- package/dist/components.css +32 -0
- package/dist/dark.css +91 -0
- package/dist/dark.json +96 -0
- package/dist/design.json +49 -0
- package/dist/fonts.css +14 -0
- package/dist/foundation.css +86 -0
- package/dist/foundation.json +146 -0
- package/dist/full.css +5 -0
- package/dist/highlight-dark.css +20 -0
- package/dist/highlight-light.css +20 -0
- package/dist/index.cjs +4 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +5 -0
- package/dist/layout.css +51 -0
- package/dist/layout.json +60 -0
- package/dist/legacy.css +97 -0
- package/dist/licenses/roboto-mono.txt +93 -0
- package/dist/licenses/roboto-slab.txt +201 -0
- package/dist/licenses/roboto.txt +93 -0
- package/dist/light.css +91 -0
- package/dist/light.json +96 -0
- package/dist/theme.css +183 -0
- package/dist/tokens.json +566 -0
- package/dist/typography.css +9 -0
- package/docs/layout.md +20 -0
- package/docs/provenance.md +27 -0
- package/docs/releasing.md +27 -0
- package/package.json +71 -4
package/dist/tokens.json
ADDED
|
@@ -0,0 +1,566 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Krigsvold",
|
|
3
|
+
"version": "2.1.0",
|
|
4
|
+
"heritage": {
|
|
5
|
+
"navy950": "#061325",
|
|
6
|
+
"navy900": "#0A1D35",
|
|
7
|
+
"navy800": "#123456",
|
|
8
|
+
"blue600": "#286A9D",
|
|
9
|
+
"ice400": "#9ED5E6",
|
|
10
|
+
"ice200": "#D9EEF4",
|
|
11
|
+
"ice100": "#EEF8FA",
|
|
12
|
+
"paper": "#FBFAF7",
|
|
13
|
+
"ink": "#17202A",
|
|
14
|
+
"muted": "#56616C",
|
|
15
|
+
"rule": "#D9DEE2",
|
|
16
|
+
"gold": "#B58A3B"
|
|
17
|
+
},
|
|
18
|
+
"design": {
|
|
19
|
+
"radius": {
|
|
20
|
+
"sm": ".15rem",
|
|
21
|
+
"md": ".3rem",
|
|
22
|
+
"lg": ".4rem",
|
|
23
|
+
"control": ".15rem",
|
|
24
|
+
"card": "0"
|
|
25
|
+
},
|
|
26
|
+
"spacing": {
|
|
27
|
+
"1": ".25rem",
|
|
28
|
+
"2": ".5rem",
|
|
29
|
+
"3": ".75rem",
|
|
30
|
+
"4": "1rem",
|
|
31
|
+
"6": "1.5rem",
|
|
32
|
+
"8": "2rem",
|
|
33
|
+
"12": "3rem",
|
|
34
|
+
"16": "4rem",
|
|
35
|
+
"24": "6rem"
|
|
36
|
+
},
|
|
37
|
+
"fonts": {
|
|
38
|
+
"serif": "'Roboto Slab', Georgia, serif",
|
|
39
|
+
"sans": "'Roboto', Arial, sans-serif",
|
|
40
|
+
"display": "'Roboto Slab', Georgia, serif",
|
|
41
|
+
"mono": "'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",
|
|
42
|
+
"ui": "'Roboto', Arial, sans-serif",
|
|
43
|
+
"code": "'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"
|
|
44
|
+
},
|
|
45
|
+
"widths": {
|
|
46
|
+
"reading-width": "760px",
|
|
47
|
+
"content-width": "1320px",
|
|
48
|
+
"archive-width": "1320px"
|
|
49
|
+
},
|
|
50
|
+
"shadows": {
|
|
51
|
+
"shadow-sm": "0 10px 35px rgb(0 0 0 / 12%)",
|
|
52
|
+
"shadow-md": "0 18px 44px rgb(6 19 37 / 18%)",
|
|
53
|
+
"shadow-lg": "0 24px 65px rgb(10 29 53 / 12%)"
|
|
54
|
+
},
|
|
55
|
+
"motion": {
|
|
56
|
+
"transition": ".15s ease-in",
|
|
57
|
+
"reduced": "0s"
|
|
58
|
+
},
|
|
59
|
+
"breakpoints": {
|
|
60
|
+
"sm": "576px",
|
|
61
|
+
"md": "768px",
|
|
62
|
+
"lg": "992px",
|
|
63
|
+
"xl": "1200px",
|
|
64
|
+
"xxl": "1400px"
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"foundation": {
|
|
68
|
+
"origin": "https://krigsvold.org/",
|
|
69
|
+
"sourceRepository": "basuhoward/krigsvold.org",
|
|
70
|
+
"sourceCommit": "e92e989b6e850b3a9cd8fbb565edb7eba6d3a6f7",
|
|
71
|
+
"sourceFiles": [
|
|
72
|
+
"assets/css/krigsvold.css",
|
|
73
|
+
"_includes/head.html",
|
|
74
|
+
"assets/css/material-kit.css",
|
|
75
|
+
"assets/scss/material-kit/bootstrap/_variables.scss"
|
|
76
|
+
],
|
|
77
|
+
"tokens": {
|
|
78
|
+
"color-navy-950": "#061325",
|
|
79
|
+
"color-navy-900": "#0a1d35",
|
|
80
|
+
"color-navy-800": "#123456",
|
|
81
|
+
"color-blue-600": "#286a9d",
|
|
82
|
+
"color-ice-400": "#9ed5e6",
|
|
83
|
+
"color-ice-200": "#d9eef4",
|
|
84
|
+
"color-ice-100": "#eef8fa",
|
|
85
|
+
"color-paper": "#fbfaf7",
|
|
86
|
+
"color-ink": "#17202a",
|
|
87
|
+
"color-muted": "#56616c",
|
|
88
|
+
"color-rule": "#d9dee2",
|
|
89
|
+
"color-gold": "#b58a3b",
|
|
90
|
+
"font-serif": "'Roboto Slab', Georgia, serif",
|
|
91
|
+
"font-display": "'Roboto Slab', Georgia, serif",
|
|
92
|
+
"font-sans": "'Roboto', Arial, sans-serif",
|
|
93
|
+
"font-mono": "'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",
|
|
94
|
+
"space-1": ".25rem",
|
|
95
|
+
"space-2": ".5rem",
|
|
96
|
+
"space-3": ".75rem",
|
|
97
|
+
"space-4": "1rem",
|
|
98
|
+
"space-6": "1.5rem",
|
|
99
|
+
"space-8": "2rem",
|
|
100
|
+
"space-12": "3rem",
|
|
101
|
+
"space-16": "4rem",
|
|
102
|
+
"space-24": "6rem",
|
|
103
|
+
"reading-width": "760px",
|
|
104
|
+
"content-width": "1320px",
|
|
105
|
+
"archive-width": "1320px",
|
|
106
|
+
"radius-sm": ".15rem",
|
|
107
|
+
"radius-md": ".3rem",
|
|
108
|
+
"radius-lg": ".4rem",
|
|
109
|
+
"radius-control": ".15rem",
|
|
110
|
+
"radius-card": "0",
|
|
111
|
+
"shadow-sm": "0 10px 35px rgb(0 0 0 / 12%)",
|
|
112
|
+
"shadow-md": "0 18px 44px rgb(6 19 37 / 18%)",
|
|
113
|
+
"shadow-lg": "0 24px 65px rgb(10 29 53 / 12%)",
|
|
114
|
+
"shadow-card": "none",
|
|
115
|
+
"transition-ui": ".15s ease-in",
|
|
116
|
+
"motion-duration": ".15s",
|
|
117
|
+
"text-body": "1.06rem",
|
|
118
|
+
"text-h1": "clamp(2.8rem, 6vw, 5.5rem)",
|
|
119
|
+
"text-h2": "2.1rem",
|
|
120
|
+
"text-h3": "1.42rem",
|
|
121
|
+
"text-display": "clamp(3.4rem, 7vw, 6.8rem)",
|
|
122
|
+
"text-section": "clamp(2rem, 4vw, 3.5rem)",
|
|
123
|
+
"leading-body": "1.65",
|
|
124
|
+
"leading-heading": "1.13",
|
|
125
|
+
"leading-display": ".98",
|
|
126
|
+
"weight-heading": "700",
|
|
127
|
+
"tracking-heading": "-.025em",
|
|
128
|
+
"tracking-display": "-.045em",
|
|
129
|
+
"tracking-label": ".16em",
|
|
130
|
+
"tracking-button": ".035em",
|
|
131
|
+
"border-width": "1px",
|
|
132
|
+
"focus-width": "3px",
|
|
133
|
+
"focus-gap": "3px",
|
|
134
|
+
"gutter": ".75rem",
|
|
135
|
+
"section-space": "clamp(4.5rem, 8vw, 7.5rem)",
|
|
136
|
+
"control-height": "2.75rem",
|
|
137
|
+
"control-padding": ".9rem",
|
|
138
|
+
"button-padding": ".625rem 1.5rem",
|
|
139
|
+
"text-button": ".75rem",
|
|
140
|
+
"leading-button": "1.667",
|
|
141
|
+
"divider-width": "3rem",
|
|
142
|
+
"divider-thickness": "3px",
|
|
143
|
+
"link-underline-offset": ".18em",
|
|
144
|
+
"hero-overlay": "linear-gradient(90deg, rgba(3,15,30,.93) 0%, rgba(6,27,51,.76) 52%, rgba(7,28,48,.42) 100%)",
|
|
145
|
+
"breakpoint-sm": "576px",
|
|
146
|
+
"breakpoint-md": "768px",
|
|
147
|
+
"breakpoint-lg": "992px",
|
|
148
|
+
"breakpoint-xl": "1200px",
|
|
149
|
+
"breakpoint-xxl": "1400px",
|
|
150
|
+
"layout-gap": "2rem",
|
|
151
|
+
"layout-gap-small": "1rem",
|
|
152
|
+
"layout-gap-large": "3rem",
|
|
153
|
+
"layout-sidebar-width": "20rem",
|
|
154
|
+
"layout-main-min": "30rem",
|
|
155
|
+
"layout-grid-min": "20rem",
|
|
156
|
+
"layout-split-min": "22rem",
|
|
157
|
+
"layout-section-space": "clamp(4.5rem, 8vw, 7.5rem)"
|
|
158
|
+
},
|
|
159
|
+
"typographyRoles": {
|
|
160
|
+
"serif": {
|
|
161
|
+
"family": "Roboto Slab",
|
|
162
|
+
"usage": "Editorial headings, ledes, quotations",
|
|
163
|
+
"weights": [
|
|
164
|
+
400,
|
|
165
|
+
700
|
|
166
|
+
]
|
|
167
|
+
},
|
|
168
|
+
"display": {
|
|
169
|
+
"family": "Roboto Slab",
|
|
170
|
+
"usage": "Hero and page titles, section headings",
|
|
171
|
+
"weights": [
|
|
172
|
+
400,
|
|
173
|
+
700
|
|
174
|
+
]
|
|
175
|
+
},
|
|
176
|
+
"sans": {
|
|
177
|
+
"family": "Roboto",
|
|
178
|
+
"usage": "Body prose, navigation, controls, tables, metadata",
|
|
179
|
+
"weights": [
|
|
180
|
+
400,
|
|
181
|
+
500,
|
|
182
|
+
700
|
|
183
|
+
],
|
|
184
|
+
"styles": [
|
|
185
|
+
"normal",
|
|
186
|
+
"italic"
|
|
187
|
+
]
|
|
188
|
+
},
|
|
189
|
+
"mono": {
|
|
190
|
+
"family": "Roboto Mono",
|
|
191
|
+
"usage": "Code, terminal text, keyboard notation",
|
|
192
|
+
"weights": [
|
|
193
|
+
400,
|
|
194
|
+
500,
|
|
195
|
+
700
|
|
196
|
+
],
|
|
197
|
+
"styles": [
|
|
198
|
+
"normal",
|
|
199
|
+
"italic"
|
|
200
|
+
],
|
|
201
|
+
"provenance": "New redistributable companion selected for the Roboto family"
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
"normalization": {
|
|
205
|
+
"spacing": "Quarter-rem scale organizing the source site’s recurring spacing; values are not taken from the theme demo.",
|
|
206
|
+
"focus": "Explicit 3px visible focus ring and offset added for reusable controls.",
|
|
207
|
+
"controlHeight": "44px minimum interaction target added to the generic primitives.",
|
|
208
|
+
"readingWidth": "760px text measure from source hero/subtitle limits, generalized to reading containers.",
|
|
209
|
+
"card": "Flat editorial card from .work-card, with a 3px top rule; larger feature shadows remain separately available.",
|
|
210
|
+
"motion": "Source Material Kit .15s ease-in transition, reduced to zero when requested."
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
"capabilities": {
|
|
214
|
+
"web-core": {
|
|
215
|
+
"applied": [
|
|
216
|
+
"colors",
|
|
217
|
+
"typography variables",
|
|
218
|
+
"spacing",
|
|
219
|
+
"shape",
|
|
220
|
+
"depth",
|
|
221
|
+
"interaction variables",
|
|
222
|
+
"layout primitives"
|
|
223
|
+
],
|
|
224
|
+
"optional": [
|
|
225
|
+
"font loading",
|
|
226
|
+
"element typography",
|
|
227
|
+
"components"
|
|
228
|
+
]
|
|
229
|
+
},
|
|
230
|
+
"astro": {
|
|
231
|
+
"applied": [
|
|
232
|
+
"web-core",
|
|
233
|
+
"document shell",
|
|
234
|
+
"container",
|
|
235
|
+
"section heading",
|
|
236
|
+
"card",
|
|
237
|
+
"button",
|
|
238
|
+
"page header",
|
|
239
|
+
"site header",
|
|
240
|
+
"site footer",
|
|
241
|
+
"article layout",
|
|
242
|
+
"landing layout",
|
|
243
|
+
"documentation layout"
|
|
244
|
+
],
|
|
245
|
+
"hostOwned": [
|
|
246
|
+
"navigation",
|
|
247
|
+
"content",
|
|
248
|
+
"consent",
|
|
249
|
+
"analytics",
|
|
250
|
+
"personal identity"
|
|
251
|
+
]
|
|
252
|
+
},
|
|
253
|
+
"vim": {
|
|
254
|
+
"applied": [
|
|
255
|
+
"colors",
|
|
256
|
+
"syntax"
|
|
257
|
+
],
|
|
258
|
+
"separateConfiguration": [
|
|
259
|
+
"monospace font"
|
|
260
|
+
],
|
|
261
|
+
"unsupported": [
|
|
262
|
+
"web layout",
|
|
263
|
+
"proportional typography"
|
|
264
|
+
]
|
|
265
|
+
},
|
|
266
|
+
"emacs": {
|
|
267
|
+
"applied": [
|
|
268
|
+
"colors",
|
|
269
|
+
"syntax"
|
|
270
|
+
],
|
|
271
|
+
"separateConfiguration": [
|
|
272
|
+
"font roles"
|
|
273
|
+
],
|
|
274
|
+
"unsupported": [
|
|
275
|
+
"web layout"
|
|
276
|
+
]
|
|
277
|
+
},
|
|
278
|
+
"terminal": {
|
|
279
|
+
"applied": [
|
|
280
|
+
"colors"
|
|
281
|
+
],
|
|
282
|
+
"separateConfiguration": [
|
|
283
|
+
"monospace font"
|
|
284
|
+
],
|
|
285
|
+
"unsupported": [
|
|
286
|
+
"web layout",
|
|
287
|
+
"serif",
|
|
288
|
+
"sans"
|
|
289
|
+
]
|
|
290
|
+
},
|
|
291
|
+
"firefox": {
|
|
292
|
+
"applied": [
|
|
293
|
+
"browser chrome colors"
|
|
294
|
+
],
|
|
295
|
+
"unsupported": [
|
|
296
|
+
"fonts",
|
|
297
|
+
"website content",
|
|
298
|
+
"spacing",
|
|
299
|
+
"components"
|
|
300
|
+
]
|
|
301
|
+
},
|
|
302
|
+
"chrome": {
|
|
303
|
+
"applied": [
|
|
304
|
+
"browser chrome colors"
|
|
305
|
+
],
|
|
306
|
+
"unsupported": [
|
|
307
|
+
"fonts",
|
|
308
|
+
"website content",
|
|
309
|
+
"spacing",
|
|
310
|
+
"components"
|
|
311
|
+
]
|
|
312
|
+
}
|
|
313
|
+
},
|
|
314
|
+
"layout": {
|
|
315
|
+
"schemaVersion": 1,
|
|
316
|
+
"primitives": [
|
|
317
|
+
"container",
|
|
318
|
+
"stack",
|
|
319
|
+
"cluster",
|
|
320
|
+
"grid",
|
|
321
|
+
"sidebar",
|
|
322
|
+
"split"
|
|
323
|
+
],
|
|
324
|
+
"compositions": [
|
|
325
|
+
"article",
|
|
326
|
+
"landing",
|
|
327
|
+
"documentation"
|
|
328
|
+
],
|
|
329
|
+
"defaults": {
|
|
330
|
+
"space": "regular",
|
|
331
|
+
"columns": 3,
|
|
332
|
+
"splitRatio": "equal",
|
|
333
|
+
"sidebarSide": "end"
|
|
334
|
+
},
|
|
335
|
+
"tokens": {
|
|
336
|
+
"layout-gap": "2rem",
|
|
337
|
+
"layout-gap-small": "1rem",
|
|
338
|
+
"layout-gap-large": "3rem",
|
|
339
|
+
"layout-sidebar-width": "20rem",
|
|
340
|
+
"layout-main-min": "30rem",
|
|
341
|
+
"layout-grid-min": "20rem",
|
|
342
|
+
"layout-split-min": "22rem",
|
|
343
|
+
"layout-section-space": "clamp(4.5rem, 8vw, 7.5rem)"
|
|
344
|
+
},
|
|
345
|
+
"sources": [
|
|
346
|
+
{
|
|
347
|
+
"url": "https://krigsvold.org/",
|
|
348
|
+
"repository": "basuhoward/krigsvold.org",
|
|
349
|
+
"commit": "a3cf072c516c59ed35814e0fa153028cc91ceecd",
|
|
350
|
+
"files": [
|
|
351
|
+
"src/layouts/Page.astro",
|
|
352
|
+
"src/components/HomeContent.astro",
|
|
353
|
+
"src/components/HomeHero.astro",
|
|
354
|
+
"src/styles/site.css"
|
|
355
|
+
]
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
"url": "https://krigsvoldtheme.dev/",
|
|
359
|
+
"repository": "krigsvoldtheme/krigsvoldtheme",
|
|
360
|
+
"commit": "880bdd2bd8430bbdfd8d728faaae0c21199540b1",
|
|
361
|
+
"files": [
|
|
362
|
+
"site/src/pages/index.astro",
|
|
363
|
+
"site/src/styles/global.css",
|
|
364
|
+
"site/src/components/FoundationSpecimen.astro"
|
|
365
|
+
]
|
|
366
|
+
}
|
|
367
|
+
],
|
|
368
|
+
"normalization": {
|
|
369
|
+
"intrinsicSizing": "Columns and sidebars respond to their available container width, including nested containers, rather than only to viewport breakpoints.",
|
|
370
|
+
"readingOrder": "Sidebar side selects matching DOM order; split content retains its source order at all widths.",
|
|
371
|
+
"scope": "Namespaced optional layout classes; no global reset, framework dependency, image, personal identity, or scripts."
|
|
372
|
+
}
|
|
373
|
+
},
|
|
374
|
+
"themes": {
|
|
375
|
+
"light": {
|
|
376
|
+
"id": "krigsvold-light",
|
|
377
|
+
"name": "Krigsvold Light",
|
|
378
|
+
"mode": "light",
|
|
379
|
+
"tokens": {
|
|
380
|
+
"bg": "#FBFAF7",
|
|
381
|
+
"panel": "#EEF8FA",
|
|
382
|
+
"panel2": "#D9EEF4",
|
|
383
|
+
"text": "#17202A",
|
|
384
|
+
"muted": "#56616C",
|
|
385
|
+
"accent": "#286A9D",
|
|
386
|
+
"accent2": "#79571F",
|
|
387
|
+
"on-accent": "#FFFFFF",
|
|
388
|
+
"accent-hover": "#1E557F",
|
|
389
|
+
"line": "#D9DEE2",
|
|
390
|
+
"control-line": "#75828D",
|
|
391
|
+
"focus": "#286A9D",
|
|
392
|
+
"selection": "#C6E2EC",
|
|
393
|
+
"selection-text": "#17202A",
|
|
394
|
+
"green": "#35644E",
|
|
395
|
+
"danger": "#9A3542",
|
|
396
|
+
"warning": "#79571F",
|
|
397
|
+
"error-bg": "#F5E6E6",
|
|
398
|
+
"error-text": "#9A3542",
|
|
399
|
+
"shadow": "0 10px 40px #0613251A",
|
|
400
|
+
"surface-canvas": "#FBFAF7",
|
|
401
|
+
"surface-subtle": "#FEFEFC",
|
|
402
|
+
"surface-sunken": "#E4EDF0",
|
|
403
|
+
"surface-overlay": "#FFFFFF",
|
|
404
|
+
"text-strong": "#061325",
|
|
405
|
+
"text-subtle": "#56616C",
|
|
406
|
+
"text-disabled": "#62717B",
|
|
407
|
+
"text-inverse": "#FFFFFF",
|
|
408
|
+
"link": "#286A9D",
|
|
409
|
+
"link-hover": "#123456",
|
|
410
|
+
"link-visited": "#655477",
|
|
411
|
+
"border-subtle": "#D9DEE2",
|
|
412
|
+
"border-strong": "#75828D",
|
|
413
|
+
"input-bg": "#FFFFFF",
|
|
414
|
+
"input-text": "#17202A",
|
|
415
|
+
"input-placeholder": "#62717B",
|
|
416
|
+
"input-border": "#75828D",
|
|
417
|
+
"button-secondary-bg": "#D9EEF4",
|
|
418
|
+
"button-secondary-text": "#17202A",
|
|
419
|
+
"button-secondary-hover": "#C6E2EC",
|
|
420
|
+
"disabled-bg": "#E4EDF0",
|
|
421
|
+
"disabled-text": "#62717B",
|
|
422
|
+
"focus-ring": "#286A9D",
|
|
423
|
+
"focus-offset": "#FBFAF7",
|
|
424
|
+
"hover-bg": "#EEF8FA",
|
|
425
|
+
"active-bg": "#D9EEF4",
|
|
426
|
+
"code-bg": "#EEF8FA",
|
|
427
|
+
"code-text": "#17202A",
|
|
428
|
+
"quote-border": "#286A9D",
|
|
429
|
+
"table-stripe": "#EEF8FA",
|
|
430
|
+
"scrollbar-track": "#EEF8FA",
|
|
431
|
+
"scrollbar-thumb": "#75828D",
|
|
432
|
+
"overlay-scrim": "#061325AA",
|
|
433
|
+
"info": "#286A9D",
|
|
434
|
+
"info-bg": "#E3F1F5",
|
|
435
|
+
"info-text": "#123456",
|
|
436
|
+
"success": "#35644E",
|
|
437
|
+
"success-bg": "#E7F1E9",
|
|
438
|
+
"success-text": "#285039",
|
|
439
|
+
"warning-bg": "#F5ECD9",
|
|
440
|
+
"warning-text": "#79571F",
|
|
441
|
+
"danger-bg": "#F5E6E6",
|
|
442
|
+
"danger-text": "#9A3542",
|
|
443
|
+
"chart-1": "#286A9D",
|
|
444
|
+
"chart-2": "#35644E",
|
|
445
|
+
"chart-3": "#79571F",
|
|
446
|
+
"chart-4": "#9A3542",
|
|
447
|
+
"chart-5": "#655477",
|
|
448
|
+
"chart-6": "#187178",
|
|
449
|
+
"chart-7": "#985238",
|
|
450
|
+
"chart-8": "#56616C",
|
|
451
|
+
"chart-grid": "#D9DEE2",
|
|
452
|
+
"chart-axis": "#56616C",
|
|
453
|
+
"syntax-keyword": "#286A9D",
|
|
454
|
+
"syntax-string": "#35644E",
|
|
455
|
+
"syntax-function": "#123456",
|
|
456
|
+
"syntax-type": "#79571F",
|
|
457
|
+
"syntax-variable": "#17202A",
|
|
458
|
+
"syntax-comment": "#56616C",
|
|
459
|
+
"syntax-number": "#9A3542",
|
|
460
|
+
"syntax-operator": "#56616C",
|
|
461
|
+
"syntax-constant": "#655477",
|
|
462
|
+
"syntax-tag": "#286A9D",
|
|
463
|
+
"syntax-attribute": "#79571F",
|
|
464
|
+
"syntax-regexp": "#35644E",
|
|
465
|
+
"syntax-invalid": "#9A3542",
|
|
466
|
+
"syntax-property": "#123456",
|
|
467
|
+
"syntax-decorator": "#655477"
|
|
468
|
+
}
|
|
469
|
+
},
|
|
470
|
+
"dark": {
|
|
471
|
+
"id": "krigsvold-dark",
|
|
472
|
+
"name": "Krigsvold Dark",
|
|
473
|
+
"mode": "dark",
|
|
474
|
+
"tokens": {
|
|
475
|
+
"bg": "#061325",
|
|
476
|
+
"panel": "#0A1D35",
|
|
477
|
+
"panel2": "#123456",
|
|
478
|
+
"text": "#EEF8FA",
|
|
479
|
+
"muted": "#B3CCD5",
|
|
480
|
+
"accent": "#9ED5E6",
|
|
481
|
+
"accent2": "#D9B876",
|
|
482
|
+
"on-accent": "#061325",
|
|
483
|
+
"accent-hover": "#D9EEF4",
|
|
484
|
+
"line": "#345066",
|
|
485
|
+
"control-line": "#7A929F",
|
|
486
|
+
"focus": "#9ED5E6",
|
|
487
|
+
"selection": "#244C61",
|
|
488
|
+
"selection-text": "#EEF8FA",
|
|
489
|
+
"green": "#A6CFB5",
|
|
490
|
+
"danger": "#F0A4AF",
|
|
491
|
+
"warning": "#E0BF84",
|
|
492
|
+
"error-bg": "#302335",
|
|
493
|
+
"error-text": "#F0A4AF",
|
|
494
|
+
"shadow": "0 10px 40px #00000055",
|
|
495
|
+
"surface-canvas": "#061325",
|
|
496
|
+
"surface-subtle": "#07182B",
|
|
497
|
+
"surface-sunken": "#040E1C",
|
|
498
|
+
"surface-overlay": "#123456",
|
|
499
|
+
"text-strong": "#FBFAF7",
|
|
500
|
+
"text-subtle": "#B3CCD5",
|
|
501
|
+
"text-disabled": "#8BA4B2",
|
|
502
|
+
"text-inverse": "#061325",
|
|
503
|
+
"link": "#9ED5E6",
|
|
504
|
+
"link-hover": "#D9EEF4",
|
|
505
|
+
"link-visited": "#C6B6DB",
|
|
506
|
+
"border-subtle": "#345066",
|
|
507
|
+
"border-strong": "#7A929F",
|
|
508
|
+
"input-bg": "#0A1D35",
|
|
509
|
+
"input-text": "#EEF8FA",
|
|
510
|
+
"input-placeholder": "#B3CCD5",
|
|
511
|
+
"input-border": "#7A929F",
|
|
512
|
+
"button-secondary-bg": "#123456",
|
|
513
|
+
"button-secondary-text": "#EEF8FA",
|
|
514
|
+
"button-secondary-hover": "#1C4565",
|
|
515
|
+
"disabled-bg": "#183044",
|
|
516
|
+
"disabled-text": "#8BA4B2",
|
|
517
|
+
"focus-ring": "#9ED5E6",
|
|
518
|
+
"focus-offset": "#061325",
|
|
519
|
+
"hover-bg": "#123456",
|
|
520
|
+
"active-bg": "#1C4565",
|
|
521
|
+
"code-bg": "#0A1D35",
|
|
522
|
+
"code-text": "#EEF8FA",
|
|
523
|
+
"quote-border": "#9ED5E6",
|
|
524
|
+
"table-stripe": "#0A1D35",
|
|
525
|
+
"scrollbar-track": "#0A1D35",
|
|
526
|
+
"scrollbar-thumb": "#607B8D",
|
|
527
|
+
"overlay-scrim": "#061325CC",
|
|
528
|
+
"info": "#9ED5E6",
|
|
529
|
+
"info-bg": "#103549",
|
|
530
|
+
"info-text": "#D9EEF4",
|
|
531
|
+
"success": "#A6CFB5",
|
|
532
|
+
"success-bg": "#16362B",
|
|
533
|
+
"success-text": "#B7DDC3",
|
|
534
|
+
"warning-bg": "#3B301F",
|
|
535
|
+
"warning-text": "#E8CB97",
|
|
536
|
+
"danger-bg": "#3D2330",
|
|
537
|
+
"danger-text": "#F4B4BC",
|
|
538
|
+
"chart-1": "#9ED5E6",
|
|
539
|
+
"chart-2": "#D9B876",
|
|
540
|
+
"chart-3": "#A6CFB5",
|
|
541
|
+
"chart-4": "#F0A4AF",
|
|
542
|
+
"chart-5": "#C6B6DB",
|
|
543
|
+
"chart-6": "#8FCBC7",
|
|
544
|
+
"chart-7": "#E1AC90",
|
|
545
|
+
"chart-8": "#D4D8D9",
|
|
546
|
+
"chart-grid": "#345066",
|
|
547
|
+
"chart-axis": "#B3CCD5",
|
|
548
|
+
"syntax-keyword": "#9ED5E6",
|
|
549
|
+
"syntax-string": "#A6CFB5",
|
|
550
|
+
"syntax-function": "#C2E4EF",
|
|
551
|
+
"syntax-type": "#D9B876",
|
|
552
|
+
"syntax-variable": "#EEF8FA",
|
|
553
|
+
"syntax-comment": "#B3CCD5",
|
|
554
|
+
"syntax-number": "#F0A4AF",
|
|
555
|
+
"syntax-operator": "#B3CCD5",
|
|
556
|
+
"syntax-constant": "#C6B6DB",
|
|
557
|
+
"syntax-tag": "#9ED5E6",
|
|
558
|
+
"syntax-attribute": "#D9B876",
|
|
559
|
+
"syntax-regexp": "#A6CFB5",
|
|
560
|
+
"syntax-invalid": "#F0A4AF",
|
|
561
|
+
"syntax-property": "#C2E4EF",
|
|
562
|
+
"syntax-decorator": "#C6B6DB"
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/* Optional typography, independent of font loading. */
|
|
2
|
+
:where(.krigsvold) { font-family: var(--krigsvold-font-sans); font-size: var(--krigsvold-text-body); line-height: var(--krigsvold-leading-body); }
|
|
3
|
+
:where(.krigsvold) :where(h1,h2,h3) { font-family: var(--krigsvold-font-serif); font-weight: var(--krigsvold-weight-heading); letter-spacing: var(--krigsvold-tracking-heading); line-height: var(--krigsvold-leading-heading); text-wrap: balance; }
|
|
4
|
+
:where(.krigsvold) :where(h4,h5,h6) { font-family: var(--krigsvold-font-sans); font-weight: 700; line-height: var(--krigsvold-leading-heading); }
|
|
5
|
+
:where(.krigsvold) h1 { font-size: var(--krigsvold-text-h1); }
|
|
6
|
+
:where(.krigsvold) h2 { font-size: var(--krigsvold-text-h2); }
|
|
7
|
+
:where(.krigsvold) h3 { font-size: var(--krigsvold-text-h3); }
|
|
8
|
+
:where(.krigsvold) :where(nav,button,input,select,textarea,table,.krigsvold-ui) { font-family: var(--krigsvold-font-sans); }
|
|
9
|
+
:where(.krigsvold) :where(code,pre,kbd,samp), :where(.krigsvold-code) { font-family: var(--krigsvold-font-mono); }
|
package/docs/layout.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Krigsvold layout extraction
|
|
2
|
+
|
|
3
|
+
Release candidate: core 2.1.0 and Astro 1.1.0. Existing color, font, and component contracts remain available.
|
|
4
|
+
|
|
5
|
+
## Source observations
|
|
6
|
+
|
|
7
|
+
- Originating site: [krigsvold.org](https://github.com/basuhoward/krigsvold.org/tree/a3cf072c516c59ed35814e0fa153028cc91ceecd). Inspected files: `src/layouts/Page.astro`, `src/components/HomeContent.astro`, `src/components/HomeHero.astro`, `src/styles/site.css`.
|
|
8
|
+
- Demonstration site: [krigsvoldtheme.dev](https://github.com/krigsvoldtheme/krigsvoldtheme/tree/880bdd2bd8430bbdfd8d728faaae0c21199540b1). Inspected files: `site/src/pages/index.astro`, `site/src/styles/global.css`, `site/src/components/FoundationSpecimen.astro`.
|
|
9
|
+
|
|
10
|
+
The originating site uses broad section bands, paired geography and feature regions, three-column work/metric groups, a main article plus fellowship facts, and image/copy listings. The demonstration site adds a full-width landscape opening, a single workbench, a paired contrast/token laboratory, and a three-card foundation specimen.
|
|
11
|
+
|
|
12
|
+
## Reusable contract
|
|
13
|
+
|
|
14
|
+
The core retains its original reading/content/archive widths. New layout variables normalize recurring gaps, a 20rem sidebar, a 30rem minimum main region, a 20rem card minimum, and a 22rem split-panel basis. These are documented defaults, not a claim that every source element used exactly the same values. Krigsvold's default split is `equal`.
|
|
15
|
+
|
|
16
|
+
Use `@krigsvold/theme/layout.css` with foundation variables for structural classes; it loads no fonts or palette. `full.css` includes it. `layout.json` and the ESM/CommonJS `layout` export describe defaults and provenance. No existing source value is silently replaced.
|
|
17
|
+
|
|
18
|
+
Intrinsic wrapping responds to the containing region. Grid `columns` is a maximum, not a promise to fit that many columns at every width. Sidebars use a separate main-content minimum; splits retain DOM order. There is no overflow-hiding workaround. Wide tables belong in a labelled `.krigsvold-scroll` region with `tabindex="0"` when keyboard scrolling is needed.
|
|
19
|
+
|
|
20
|
+
The Astro package supplies wrappers, site chrome, and complete article, landing, and documentation compositions. Identity, route generation, content rendering, analytics, and consent remain host-owned. Header links wrap naturally; this release does not implement dropdown or disclosure-menu behavior.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Krigsvold design extraction
|
|
2
|
+
|
|
3
|
+
Origin: https://krigsvold.org/, repository basuhoward/krigsvold.org, commit e92e989b6e850b3a9cd8fbb565edb7eba6d3a6f7. references/krigsvold-origin.css records the source CSS. source.json is the canonical package input.
|
|
4
|
+
|
|
5
|
+
| Design | Source | Package treatment |
|
|
6
|
+
| --- | --- | --- |
|
|
7
|
+
| Navy, ice, paper, ink, muted, rule, gold | krigsvold.css root variables | Exact foundation identity values; semantic Light/Dark colors preserved separately |
|
|
8
|
+
| Roboto body and UI | body, navbar links, head font import | Sans role; local 400/500/700 normal and italic |
|
|
9
|
+
| Roboto Slab display | home-hero h1, home-hero__title, page-masthead h1 | Separate display role, 700; original responsive scale, tracking, and line-height |
|
|
10
|
+
| Roboto Slab editorial | editorial-content h2/h3, introduction and quotations | Serif role sharing display family; body remains sans |
|
|
11
|
+
| Roboto Mono | Newly agreed public companion | Monospace code, terminal and keyboard notation |
|
|
12
|
+
| Spacing | Recurring source quarter-rem values and 1.5rem/2rem gaps | Named quarter-rem scale organizing source values |
|
|
13
|
+
| Content width | Material Kit Bootstrap container maximums | 1320px maximum; 760px text measure generalized from source hero/subtitle limits; fluid widths |
|
|
14
|
+
| Corners | btn, site-search-input, dropdown and navbar | .15rem controls, .3rem dropdowns, .4rem larger corners; flat editorial cards |
|
|
15
|
+
| Depth | Navbar, dropdown, fellow-feature container | Three separate source shadows; no shadow on flat work cards |
|
|
16
|
+
| Borders | work-card, editorial tables, root rule color | 1px rules, 3px editorial accent rule |
|
|
17
|
+
| Motion | Material Kit compiled btn, reduced-motion override | .15s ease-in, zero with reduced motion |
|
|
18
|
+
| Interaction | Source buttons, hover states and skip link | Native semantics, semantic hover/disabled colors; explicit 3px focus ring and 44px minimum control target are accessibility additions |
|
|
19
|
+
| Breakpoints | Material Kit Bootstrap SCSS | 576, 768, 992, 1200, 1400px in design JSON; primitives reflow without fixed page widths |
|
|
20
|
+
|
|
21
|
+
These values come from assets/css/krigsvold.css, _includes/head.html, assets/css/material-kit.css and assets/scss/material-kit/bootstrap/_variables.scss. The package does not copy Material Kit or Bootstrap implementation code. Arms, content, navigation structure, analytics, consent and icons remain site responsibilities.
|
|
22
|
+
|
|
23
|
+
Font licenses ship verbatim in dist/licenses/: Roboto Slab is Apache-2.0; Roboto and Roboto Mono are OFL-1.1 in the selected pinned packages.
|
|
24
|
+
|
|
25
|
+
## Migration gate
|
|
26
|
+
|
|
27
|
+
Publish and verify the core and Astro packages, deploy krigsvoldtheme.dev against the registry releases, then begin the originating site's migration. Preserve its content, routes, metadata, redirects, feeds and behavior as separate migration requirements.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Automated npm releases
|
|
2
|
+
|
|
3
|
+
GitHub Actions publishes stable GitHub releases through npm trusted publishing (OIDC), using `.github/workflows/publish.yml`. It requires no npm token secret.
|
|
4
|
+
|
|
5
|
+
## One-time npm setup
|
|
6
|
+
|
|
7
|
+
Open [package settings](https://www.npmjs.com/package/@krigsvold/theme/access), then Trusted publishing, Add trusted publisher, GitHub Actions. Enter these exact values:
|
|
8
|
+
|
|
9
|
+
| Setting | Value |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| Organization/user | `krigsvoldtheme` |
|
|
12
|
+
| Repository | `npm` |
|
|
13
|
+
| Workflow filename | `publish.yml` |
|
|
14
|
+
| Environment | Leave blank |
|
|
15
|
+
| Allowed action | Enable direct `npm publish` |
|
|
16
|
+
|
|
17
|
+
The workflow must be merged before use. New trusted publisher connections must complete their first publish within two days; otherwise recreate the connection. Existing package maintainers configure this on npm. No npm account settings are changed by this PR.
|
|
18
|
+
|
|
19
|
+
## Release
|
|
20
|
+
|
|
21
|
+
1. Merge reviewed version and changelog changes to `main`.
|
|
22
|
+
2. Publish a stable GitHub release whose tag is exactly `v` plus `package.json`'s version.
|
|
23
|
+
3. The workflow runs the full verification suite, checks tag/version/repository identity and ancestry in `main`, builds from a fresh install, and publishes to npm. Failed checks prevent publication.
|
|
24
|
+
|
|
25
|
+
Release core 2.1.0 before Astro 1.1.0, then migrate the demonstration sites to registry versions. Prereleases do not publish through this stable-release workflow. Re-running a successful release fails rather than overwriting an existing npm version. Public repositories produce provenance attestations; private repositories publish with provenance disabled because npm does not support those attestations from private source repositories. Repository visibility is unchanged.
|
|
26
|
+
|
|
27
|
+
Reference: https://docs.npmjs.com/trusted-publishers/
|