markilo 0.4.0 → 1.1.1

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.
Files changed (145) hide show
  1. package/README.md +132 -79
  2. package/THIRD_PARTY_NOTICES.md +26 -12
  3. package/package.json +15 -1
  4. package/plugin/.claude-plugin/icon.png +0 -0
  5. package/plugin/.claude-plugin/plugin.json +1 -1
  6. package/plugin/THIRD_PARTY_NOTICES.md +26 -12
  7. package/plugin/agents/concept-designer.md +111 -76
  8. package/plugin/agents/design-critic.md +32 -68
  9. package/plugin/dist/markilo.mjs +271 -178
  10. package/plugin/fonts/alegreya-sans/OFL.txt +93 -0
  11. package/plugin/fonts/alegreya-sans/alegreya-sans-latin-400-normal.woff +0 -0
  12. package/plugin/fonts/alegreya-sans/alegreya-sans-latin-500-normal.woff +0 -0
  13. package/plugin/fonts/alegreya-sans/alegreya-sans-latin-700-normal.woff +0 -0
  14. package/plugin/fonts/alegreya-sans/alegreya-sans-latin-800-normal.woff +0 -0
  15. package/plugin/fonts/alegreya-sans/alegreya-sans-latin-ext-400-normal.woff +0 -0
  16. package/plugin/fonts/alegreya-sans/alegreya-sans-latin-ext-500-normal.woff +0 -0
  17. package/plugin/fonts/alegreya-sans/alegreya-sans-latin-ext-700-normal.woff +0 -0
  18. package/plugin/fonts/alegreya-sans/alegreya-sans-latin-ext-800-normal.woff +0 -0
  19. package/plugin/fonts/archivo/OFL.txt +93 -0
  20. package/plugin/fonts/archivo/archivo-latin-400-normal.woff +0 -0
  21. package/plugin/fonts/archivo/archivo-latin-500-normal.woff +0 -0
  22. package/plugin/fonts/archivo/archivo-latin-600-normal.woff +0 -0
  23. package/plugin/fonts/archivo/archivo-latin-700-normal.woff +0 -0
  24. package/plugin/fonts/archivo/archivo-latin-800-normal.woff +0 -0
  25. package/plugin/fonts/archivo/archivo-latin-900-normal.woff +0 -0
  26. package/plugin/fonts/archivo/archivo-latin-ext-400-normal.woff +0 -0
  27. package/plugin/fonts/archivo/archivo-latin-ext-500-normal.woff +0 -0
  28. package/plugin/fonts/archivo/archivo-latin-ext-600-normal.woff +0 -0
  29. package/plugin/fonts/archivo/archivo-latin-ext-700-normal.woff +0 -0
  30. package/plugin/fonts/archivo/archivo-latin-ext-800-normal.woff +0 -0
  31. package/plugin/fonts/archivo/archivo-latin-ext-900-normal.woff +0 -0
  32. package/plugin/fonts/atkinson-hyperlegible-next/OFL.txt +93 -0
  33. package/plugin/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-400-normal.woff +0 -0
  34. package/plugin/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-500-normal.woff +0 -0
  35. package/plugin/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-600-normal.woff +0 -0
  36. package/plugin/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-700-normal.woff +0 -0
  37. package/plugin/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-800-normal.woff +0 -0
  38. package/plugin/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-ext-400-normal.woff +0 -0
  39. package/plugin/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-ext-500-normal.woff +0 -0
  40. package/plugin/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-ext-600-normal.woff +0 -0
  41. package/plugin/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-ext-700-normal.woff +0 -0
  42. package/plugin/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-ext-800-normal.woff +0 -0
  43. package/plugin/fonts/bricolage-grotesque/OFL.txt +93 -0
  44. package/plugin/fonts/bricolage-grotesque/bricolage-grotesque-latin-400-normal.woff +0 -0
  45. package/plugin/fonts/bricolage-grotesque/bricolage-grotesque-latin-500-normal.woff +0 -0
  46. package/plugin/fonts/bricolage-grotesque/bricolage-grotesque-latin-600-normal.woff +0 -0
  47. package/plugin/fonts/bricolage-grotesque/bricolage-grotesque-latin-700-normal.woff +0 -0
  48. package/plugin/fonts/bricolage-grotesque/bricolage-grotesque-latin-800-normal.woff +0 -0
  49. package/plugin/fonts/bricolage-grotesque/bricolage-grotesque-latin-ext-400-normal.woff +0 -0
  50. package/plugin/fonts/bricolage-grotesque/bricolage-grotesque-latin-ext-500-normal.woff +0 -0
  51. package/plugin/fonts/bricolage-grotesque/bricolage-grotesque-latin-ext-600-normal.woff +0 -0
  52. package/plugin/fonts/bricolage-grotesque/bricolage-grotesque-latin-ext-700-normal.woff +0 -0
  53. package/plugin/fonts/bricolage-grotesque/bricolage-grotesque-latin-ext-800-normal.woff +0 -0
  54. package/plugin/fonts/dm-serif-display/OFL.txt +93 -0
  55. package/plugin/fonts/dm-serif-display/dm-serif-display-latin-400-normal.woff +0 -0
  56. package/plugin/fonts/dm-serif-display/dm-serif-display-latin-ext-400-normal.woff +0 -0
  57. package/plugin/fonts/familjen-grotesk/OFL.txt +93 -0
  58. package/plugin/fonts/familjen-grotesk/familjen-grotesk-latin-400-normal.woff +0 -0
  59. package/plugin/fonts/familjen-grotesk/familjen-grotesk-latin-500-normal.woff +0 -0
  60. package/plugin/fonts/familjen-grotesk/familjen-grotesk-latin-600-normal.woff +0 -0
  61. package/plugin/fonts/familjen-grotesk/familjen-grotesk-latin-700-normal.woff +0 -0
  62. package/plugin/fonts/familjen-grotesk/familjen-grotesk-latin-ext-400-normal.woff +0 -0
  63. package/plugin/fonts/familjen-grotesk/familjen-grotesk-latin-ext-500-normal.woff +0 -0
  64. package/plugin/fonts/familjen-grotesk/familjen-grotesk-latin-ext-600-normal.woff +0 -0
  65. package/plugin/fonts/familjen-grotesk/familjen-grotesk-latin-ext-700-normal.woff +0 -0
  66. package/plugin/fonts/fonts.json +628 -0
  67. package/plugin/fonts/instrument-serif/OFL.txt +93 -0
  68. package/plugin/fonts/instrument-serif/instrument-serif-latin-400-normal.woff +0 -0
  69. package/plugin/fonts/instrument-serif/instrument-serif-latin-ext-400-normal.woff +0 -0
  70. package/plugin/fonts/newsreader/OFL.txt +93 -0
  71. package/plugin/fonts/newsreader/newsreader-latin-400-normal.woff +0 -0
  72. package/plugin/fonts/newsreader/newsreader-latin-500-normal.woff +0 -0
  73. package/plugin/fonts/newsreader/newsreader-latin-600-normal.woff +0 -0
  74. package/plugin/fonts/newsreader/newsreader-latin-700-normal.woff +0 -0
  75. package/plugin/fonts/newsreader/newsreader-latin-800-normal.woff +0 -0
  76. package/plugin/fonts/newsreader/newsreader-latin-ext-400-normal.woff +0 -0
  77. package/plugin/fonts/newsreader/newsreader-latin-ext-500-normal.woff +0 -0
  78. package/plugin/fonts/newsreader/newsreader-latin-ext-600-normal.woff +0 -0
  79. package/plugin/fonts/newsreader/newsreader-latin-ext-700-normal.woff +0 -0
  80. package/plugin/fonts/newsreader/newsreader-latin-ext-800-normal.woff +0 -0
  81. package/plugin/fonts/schibsted-grotesk/OFL.txt +93 -0
  82. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-400-normal.woff +0 -0
  83. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-500-normal.woff +0 -0
  84. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-600-normal.woff +0 -0
  85. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-700-normal.woff +0 -0
  86. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-800-normal.woff +0 -0
  87. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-900-normal.woff +0 -0
  88. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-ext-400-normal.woff +0 -0
  89. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-ext-500-normal.woff +0 -0
  90. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-ext-600-normal.woff +0 -0
  91. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-ext-700-normal.woff +0 -0
  92. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-ext-800-normal.woff +0 -0
  93. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-ext-900-normal.woff +0 -0
  94. package/plugin/fonts/space-mono/OFL.txt +93 -0
  95. package/plugin/fonts/space-mono/space-mono-latin-400-normal.woff +0 -0
  96. package/plugin/fonts/space-mono/space-mono-latin-700-normal.woff +0 -0
  97. package/plugin/fonts/space-mono/space-mono-latin-ext-400-normal.woff +0 -0
  98. package/plugin/fonts/space-mono/space-mono-latin-ext-700-normal.woff +0 -0
  99. package/plugin/fonts/syne/OFL.txt +93 -0
  100. package/plugin/fonts/syne/syne-latin-400-normal.woff +0 -0
  101. package/plugin/fonts/syne/syne-latin-500-normal.woff +0 -0
  102. package/plugin/fonts/syne/syne-latin-600-normal.woff +0 -0
  103. package/plugin/fonts/syne/syne-latin-700-normal.woff +0 -0
  104. package/plugin/fonts/syne/syne-latin-800-normal.woff +0 -0
  105. package/plugin/fonts/syne/syne-latin-ext-400-normal.woff +0 -0
  106. package/plugin/fonts/syne/syne-latin-ext-500-normal.woff +0 -0
  107. package/plugin/fonts/syne/syne-latin-ext-600-normal.woff +0 -0
  108. package/plugin/fonts/syne/syne-latin-ext-700-normal.woff +0 -0
  109. package/plugin/fonts/syne/syne-latin-ext-800-normal.woff +0 -0
  110. package/plugin/fonts/unbounded/OFL.txt +93 -0
  111. package/plugin/fonts/unbounded/unbounded-latin-400-normal.woff +0 -0
  112. package/plugin/fonts/unbounded/unbounded-latin-500-normal.woff +0 -0
  113. package/plugin/fonts/unbounded/unbounded-latin-600-normal.woff +0 -0
  114. package/plugin/fonts/unbounded/unbounded-latin-700-normal.woff +0 -0
  115. package/plugin/fonts/unbounded/unbounded-latin-800-normal.woff +0 -0
  116. package/plugin/fonts/unbounded/unbounded-latin-900-normal.woff +0 -0
  117. package/plugin/fonts/unbounded/unbounded-latin-ext-400-normal.woff +0 -0
  118. package/plugin/fonts/unbounded/unbounded-latin-ext-500-normal.woff +0 -0
  119. package/plugin/fonts/unbounded/unbounded-latin-ext-600-normal.woff +0 -0
  120. package/plugin/fonts/unbounded/unbounded-latin-ext-700-normal.woff +0 -0
  121. package/plugin/fonts/unbounded/unbounded-latin-ext-800-normal.woff +0 -0
  122. package/plugin/fonts/unbounded/unbounded-latin-ext-900-normal.woff +0 -0
  123. package/plugin/fonts/young-serif/OFL.txt +93 -0
  124. package/plugin/fonts/young-serif/young-serif-latin-400-normal.woff +0 -0
  125. package/plugin/fonts/young-serif/young-serif-latin-ext-400-normal.woff +0 -0
  126. package/plugin/fonts/zilla-slab/OFL.txt +93 -0
  127. package/plugin/fonts/zilla-slab/zilla-slab-latin-400-normal.woff +0 -0
  128. package/plugin/fonts/zilla-slab/zilla-slab-latin-500-normal.woff +0 -0
  129. package/plugin/fonts/zilla-slab/zilla-slab-latin-600-normal.woff +0 -0
  130. package/plugin/fonts/zilla-slab/zilla-slab-latin-700-normal.woff +0 -0
  131. package/plugin/fonts/zilla-slab/zilla-slab-latin-ext-400-normal.woff +0 -0
  132. package/plugin/fonts/zilla-slab/zilla-slab-latin-ext-500-normal.woff +0 -0
  133. package/plugin/fonts/zilla-slab/zilla-slab-latin-ext-600-normal.woff +0 -0
  134. package/plugin/fonts/zilla-slab/zilla-slab-latin-ext-700-normal.woff +0 -0
  135. package/plugin/skills/concepts/SKILL.md +18 -23
  136. package/plugin/skills/design/SKILL.md +125 -94
  137. package/plugin/skills/design/references/cli.md +58 -55
  138. package/plugin/skills/design/references/construction.md +47 -40
  139. package/plugin/skills/design/references/design-principles.md +163 -126
  140. package/plugin/skills/design/references/svg-authoring.md +11 -8
  141. package/plugin/skills/design/references/workflow.md +19 -20
  142. package/plugin/skills/export/SKILL.md +6 -3
  143. package/plugin/skills/gallery/SKILL.md +10 -7
  144. package/plugin/skills/refine/SKILL.md +18 -13
  145. package/plugin/skills/research/SKILL.md +3 -2
@@ -18,6 +18,13 @@
18
18
  700,
19
19
  800
20
20
  ],
21
+ "traits": [
22
+ "neutral",
23
+ "precise",
24
+ "modern",
25
+ "calm",
26
+ "technical"
27
+ ],
21
28
  "files": {
22
29
  "400": [
23
30
  "inter/inter-latin-400-normal.woff",
@@ -57,6 +64,12 @@
57
64
  700,
58
65
  800
59
66
  ],
67
+ "traits": [
68
+ "friendly",
69
+ "modern",
70
+ "clean",
71
+ "approachable"
72
+ ],
60
73
  "files": {
61
74
  "400": [
62
75
  "manrope/manrope-latin-400-normal.woff",
@@ -95,6 +108,12 @@
95
108
  600,
96
109
  700
97
110
  ],
111
+ "traits": [
112
+ "technical",
113
+ "quirky",
114
+ "developer",
115
+ "modern"
116
+ ],
98
117
  "files": {
99
118
  "400": [
100
119
  "space-grotesk/space-grotesk-latin-400-normal.woff",
@@ -130,6 +149,12 @@
130
149
  700,
131
150
  800
132
151
  ],
152
+ "traits": [
153
+ "wide",
154
+ "technical",
155
+ "confident",
156
+ "modern"
157
+ ],
133
158
  "files": {
134
159
  "400": [
135
160
  "sora/sora-latin-400-normal.woff",
@@ -169,6 +194,12 @@
169
194
  700,
170
195
  800
171
196
  ],
197
+ "traits": [
198
+ "clean",
199
+ "compact",
200
+ "neutral",
201
+ "modern"
202
+ ],
172
203
  "files": {
173
204
  "400": [
174
205
  "dm-sans/dm-sans-latin-400-normal.woff",
@@ -208,6 +239,12 @@
208
239
  700,
209
240
  800
210
241
  ],
242
+ "traits": [
243
+ "rounded",
244
+ "friendly",
245
+ "approachable",
246
+ "playful"
247
+ ],
211
248
  "files": {
212
249
  "400": [
213
250
  "outfit/outfit-latin-400-normal.woff",
@@ -247,6 +284,12 @@
247
284
  700,
248
285
  800
249
286
  ],
287
+ "traits": [
288
+ "contemporary",
289
+ "open",
290
+ "friendly",
291
+ "clean"
292
+ ],
250
293
  "files": {
251
294
  "400": [
252
295
  "plus-jakarta-sans/plus-jakarta-sans-latin-400-normal.woff",
@@ -286,6 +329,13 @@
286
329
  700,
287
330
  800
288
331
  ],
332
+ "traits": [
333
+ "warm",
334
+ "editorial",
335
+ "crafted",
336
+ "characterful",
337
+ "soft"
338
+ ],
289
339
  "files": {
290
340
  "400": [
291
341
  "fraunces/fraunces-latin-400-normal.woff",
@@ -324,6 +374,12 @@
324
374
  600,
325
375
  700
326
376
  ],
377
+ "traits": [
378
+ "institutional",
379
+ "trustworthy",
380
+ "rational",
381
+ "calm"
382
+ ],
327
383
  "files": {
328
384
  "400": [
329
385
  "ibm-plex-serif/ibm-plex-serif-latin-400-normal.woff",
@@ -359,6 +415,12 @@
359
415
  700,
360
416
  800
361
417
  ],
418
+ "traits": [
419
+ "developer",
420
+ "technical",
421
+ "precise",
422
+ "code"
423
+ ],
362
424
  "files": {
363
425
  "400": [
364
426
  "jetbrains-mono/jetbrains-mono-latin-400-normal.woff",
@@ -381,6 +443,572 @@
381
443
  "jetbrains-mono/jetbrains-mono-latin-ext-800-normal.woff"
382
444
  ]
383
445
  }
446
+ },
447
+ {
448
+ "id": "bricolage-grotesque",
449
+ "family": "Bricolage Grotesque",
450
+ "category": "sans-serif",
451
+ "role": "expressive grotesque with ink traps and lively joins; contemporary, bold",
452
+ "license": "OFL-1.1",
453
+ "licenseFile": "bricolage-grotesque/OFL.txt",
454
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
455
+ "source": "@fontsource/bricolage-grotesque@5.3.0 (Google Fonts v9)",
456
+ "weights": [
457
+ 400,
458
+ 500,
459
+ 600,
460
+ 700,
461
+ 800
462
+ ],
463
+ "traits": [
464
+ "bold",
465
+ "expressive",
466
+ "contemporary",
467
+ "energetic",
468
+ "characterful"
469
+ ],
470
+ "files": {
471
+ "400": [
472
+ "bricolage-grotesque/bricolage-grotesque-latin-400-normal.woff",
473
+ "bricolage-grotesque/bricolage-grotesque-latin-ext-400-normal.woff"
474
+ ],
475
+ "500": [
476
+ "bricolage-grotesque/bricolage-grotesque-latin-500-normal.woff",
477
+ "bricolage-grotesque/bricolage-grotesque-latin-ext-500-normal.woff"
478
+ ],
479
+ "600": [
480
+ "bricolage-grotesque/bricolage-grotesque-latin-600-normal.woff",
481
+ "bricolage-grotesque/bricolage-grotesque-latin-ext-600-normal.woff"
482
+ ],
483
+ "700": [
484
+ "bricolage-grotesque/bricolage-grotesque-latin-700-normal.woff",
485
+ "bricolage-grotesque/bricolage-grotesque-latin-ext-700-normal.woff"
486
+ ],
487
+ "800": [
488
+ "bricolage-grotesque/bricolage-grotesque-latin-800-normal.woff",
489
+ "bricolage-grotesque/bricolage-grotesque-latin-ext-800-normal.woff"
490
+ ]
491
+ }
492
+ },
493
+ {
494
+ "id": "instrument-serif",
495
+ "family": "Instrument Serif",
496
+ "category": "serif",
497
+ "role": "condensed display serif; elegant, editorial, quiet confidence",
498
+ "license": "OFL-1.1",
499
+ "licenseFile": "instrument-serif/OFL.txt",
500
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
501
+ "source": "@fontsource/instrument-serif@5.3.0 (Google Fonts v5)",
502
+ "weights": [
503
+ 400
504
+ ],
505
+ "traits": [
506
+ "elegant",
507
+ "editorial",
508
+ "condensed",
509
+ "refined",
510
+ "quiet"
511
+ ],
512
+ "files": {
513
+ "400": [
514
+ "instrument-serif/instrument-serif-latin-400-normal.woff",
515
+ "instrument-serif/instrument-serif-latin-ext-400-normal.woff"
516
+ ]
517
+ }
518
+ },
519
+ {
520
+ "id": "young-serif",
521
+ "family": "Young Serif",
522
+ "category": "serif",
523
+ "role": "sturdy old-style display serif; warm, crafted, friendly",
524
+ "license": "OFL-1.1",
525
+ "licenseFile": "young-serif/OFL.txt",
526
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
527
+ "source": "@fontsource/young-serif@5.3.0 (Google Fonts v2)",
528
+ "weights": [
529
+ 400
530
+ ],
531
+ "traits": [
532
+ "warm",
533
+ "crafted",
534
+ "friendly",
535
+ "sturdy",
536
+ "human"
537
+ ],
538
+ "files": {
539
+ "400": [
540
+ "young-serif/young-serif-latin-400-normal.woff",
541
+ "young-serif/young-serif-latin-ext-400-normal.woff"
542
+ ]
543
+ }
544
+ },
545
+ {
546
+ "id": "dm-serif-display",
547
+ "family": "DM Serif Display",
548
+ "category": "serif",
549
+ "role": "high-contrast display serif; premium, classic",
550
+ "license": "OFL-1.1",
551
+ "licenseFile": "dm-serif-display/OFL.txt",
552
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
553
+ "source": "@fontsource/dm-serif-display@5.3.0 (Google Fonts v17)",
554
+ "weights": [
555
+ 400
556
+ ],
557
+ "traits": [
558
+ "premium",
559
+ "classic",
560
+ "elegant",
561
+ "contrast"
562
+ ],
563
+ "files": {
564
+ "400": [
565
+ "dm-serif-display/dm-serif-display-latin-400-normal.woff",
566
+ "dm-serif-display/dm-serif-display-latin-ext-400-normal.woff"
567
+ ]
568
+ }
569
+ },
570
+ {
571
+ "id": "syne",
572
+ "family": "Syne",
573
+ "category": "sans-serif",
574
+ "role": "eccentric display sans that widens with weight; artistic, bold",
575
+ "license": "OFL-1.1",
576
+ "licenseFile": "syne/OFL.txt",
577
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
578
+ "source": "@fontsource/syne@5.3.0 (Google Fonts v24)",
579
+ "weights": [
580
+ 400,
581
+ 500,
582
+ 600,
583
+ 700,
584
+ 800
585
+ ],
586
+ "traits": [
587
+ "artistic",
588
+ "eccentric",
589
+ "bold",
590
+ "wide",
591
+ "expressive"
592
+ ],
593
+ "files": {
594
+ "400": [
595
+ "syne/syne-latin-400-normal.woff",
596
+ "syne/syne-latin-ext-400-normal.woff"
597
+ ],
598
+ "500": [
599
+ "syne/syne-latin-500-normal.woff",
600
+ "syne/syne-latin-ext-500-normal.woff"
601
+ ],
602
+ "600": [
603
+ "syne/syne-latin-600-normal.woff",
604
+ "syne/syne-latin-ext-600-normal.woff"
605
+ ],
606
+ "700": [
607
+ "syne/syne-latin-700-normal.woff",
608
+ "syne/syne-latin-ext-700-normal.woff"
609
+ ],
610
+ "800": [
611
+ "syne/syne-latin-800-normal.woff",
612
+ "syne/syne-latin-ext-800-normal.woff"
613
+ ]
614
+ }
615
+ },
616
+ {
617
+ "id": "unbounded",
618
+ "family": "Unbounded",
619
+ "category": "sans-serif",
620
+ "role": "wide rounded display sans; confident, futuristic",
621
+ "license": "OFL-1.1",
622
+ "licenseFile": "unbounded/OFL.txt",
623
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
624
+ "source": "@fontsource/unbounded@5.3.0 (Google Fonts v12)",
625
+ "weights": [
626
+ 400,
627
+ 500,
628
+ 600,
629
+ 700,
630
+ 800,
631
+ 900
632
+ ],
633
+ "traits": [
634
+ "wide",
635
+ "rounded",
636
+ "confident",
637
+ "futuristic",
638
+ "bold"
639
+ ],
640
+ "files": {
641
+ "400": [
642
+ "unbounded/unbounded-latin-400-normal.woff",
643
+ "unbounded/unbounded-latin-ext-400-normal.woff"
644
+ ],
645
+ "500": [
646
+ "unbounded/unbounded-latin-500-normal.woff",
647
+ "unbounded/unbounded-latin-ext-500-normal.woff"
648
+ ],
649
+ "600": [
650
+ "unbounded/unbounded-latin-600-normal.woff",
651
+ "unbounded/unbounded-latin-ext-600-normal.woff"
652
+ ],
653
+ "700": [
654
+ "unbounded/unbounded-latin-700-normal.woff",
655
+ "unbounded/unbounded-latin-ext-700-normal.woff"
656
+ ],
657
+ "800": [
658
+ "unbounded/unbounded-latin-800-normal.woff",
659
+ "unbounded/unbounded-latin-ext-800-normal.woff"
660
+ ],
661
+ "900": [
662
+ "unbounded/unbounded-latin-900-normal.woff",
663
+ "unbounded/unbounded-latin-ext-900-normal.woff"
664
+ ]
665
+ }
666
+ },
667
+ {
668
+ "id": "archivo",
669
+ "family": "Archivo",
670
+ "category": "sans-serif",
671
+ "role": "grotesque with an industrial build; sturdy, no-nonsense",
672
+ "license": "OFL-1.1",
673
+ "licenseFile": "archivo/OFL.txt",
674
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
675
+ "source": "@fontsource/archivo@5.3.0 (Google Fonts v25)",
676
+ "weights": [
677
+ 400,
678
+ 500,
679
+ 600,
680
+ 700,
681
+ 800,
682
+ 900
683
+ ],
684
+ "traits": [
685
+ "industrial",
686
+ "sturdy",
687
+ "rugged",
688
+ "durable",
689
+ "no-nonsense"
690
+ ],
691
+ "files": {
692
+ "400": [
693
+ "archivo/archivo-latin-400-normal.woff",
694
+ "archivo/archivo-latin-ext-400-normal.woff"
695
+ ],
696
+ "500": [
697
+ "archivo/archivo-latin-500-normal.woff",
698
+ "archivo/archivo-latin-ext-500-normal.woff"
699
+ ],
700
+ "600": [
701
+ "archivo/archivo-latin-600-normal.woff",
702
+ "archivo/archivo-latin-ext-600-normal.woff"
703
+ ],
704
+ "700": [
705
+ "archivo/archivo-latin-700-normal.woff",
706
+ "archivo/archivo-latin-ext-700-normal.woff"
707
+ ],
708
+ "800": [
709
+ "archivo/archivo-latin-800-normal.woff",
710
+ "archivo/archivo-latin-ext-800-normal.woff"
711
+ ],
712
+ "900": [
713
+ "archivo/archivo-latin-900-normal.woff",
714
+ "archivo/archivo-latin-ext-900-normal.woff"
715
+ ]
716
+ }
717
+ },
718
+ {
719
+ "id": "schibsted-grotesk",
720
+ "family": "Schibsted Grotesk",
721
+ "category": "sans-serif",
722
+ "role": "editorial grotesque; newsy, credible, direct",
723
+ "license": "OFL-1.1",
724
+ "licenseFile": "schibsted-grotesk/OFL.txt",
725
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
726
+ "source": "@fontsource/schibsted-grotesk@5.3.0 (Google Fonts v7)",
727
+ "weights": [
728
+ 400,
729
+ 500,
730
+ 600,
731
+ 700,
732
+ 800,
733
+ 900
734
+ ],
735
+ "traits": [
736
+ "editorial",
737
+ "credible",
738
+ "direct",
739
+ "precise",
740
+ "trustworthy"
741
+ ],
742
+ "files": {
743
+ "400": [
744
+ "schibsted-grotesk/schibsted-grotesk-latin-400-normal.woff",
745
+ "schibsted-grotesk/schibsted-grotesk-latin-ext-400-normal.woff"
746
+ ],
747
+ "500": [
748
+ "schibsted-grotesk/schibsted-grotesk-latin-500-normal.woff",
749
+ "schibsted-grotesk/schibsted-grotesk-latin-ext-500-normal.woff"
750
+ ],
751
+ "600": [
752
+ "schibsted-grotesk/schibsted-grotesk-latin-600-normal.woff",
753
+ "schibsted-grotesk/schibsted-grotesk-latin-ext-600-normal.woff"
754
+ ],
755
+ "700": [
756
+ "schibsted-grotesk/schibsted-grotesk-latin-700-normal.woff",
757
+ "schibsted-grotesk/schibsted-grotesk-latin-ext-700-normal.woff"
758
+ ],
759
+ "800": [
760
+ "schibsted-grotesk/schibsted-grotesk-latin-800-normal.woff",
761
+ "schibsted-grotesk/schibsted-grotesk-latin-ext-800-normal.woff"
762
+ ],
763
+ "900": [
764
+ "schibsted-grotesk/schibsted-grotesk-latin-900-normal.woff",
765
+ "schibsted-grotesk/schibsted-grotesk-latin-ext-900-normal.woff"
766
+ ]
767
+ }
768
+ },
769
+ {
770
+ "id": "newsreader",
771
+ "family": "Newsreader",
772
+ "category": "serif",
773
+ "role": "text serif with optical character; thoughtful, literary",
774
+ "license": "OFL-1.1",
775
+ "licenseFile": "newsreader/OFL.txt",
776
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
777
+ "source": "@fontsource/newsreader@5.3.0 (Google Fonts v26)",
778
+ "weights": [
779
+ 400,
780
+ 500,
781
+ 600,
782
+ 700,
783
+ 800
784
+ ],
785
+ "traits": [
786
+ "literary",
787
+ "thoughtful",
788
+ "trustworthy",
789
+ "calm",
790
+ "human"
791
+ ],
792
+ "files": {
793
+ "400": [
794
+ "newsreader/newsreader-latin-400-normal.woff",
795
+ "newsreader/newsreader-latin-ext-400-normal.woff"
796
+ ],
797
+ "500": [
798
+ "newsreader/newsreader-latin-500-normal.woff",
799
+ "newsreader/newsreader-latin-ext-500-normal.woff"
800
+ ],
801
+ "600": [
802
+ "newsreader/newsreader-latin-600-normal.woff",
803
+ "newsreader/newsreader-latin-ext-600-normal.woff"
804
+ ],
805
+ "700": [
806
+ "newsreader/newsreader-latin-700-normal.woff",
807
+ "newsreader/newsreader-latin-ext-700-normal.woff"
808
+ ],
809
+ "800": [
810
+ "newsreader/newsreader-latin-800-normal.woff",
811
+ "newsreader/newsreader-latin-ext-800-normal.woff"
812
+ ]
813
+ }
814
+ },
815
+ {
816
+ "id": "zilla-slab",
817
+ "family": "Zilla Slab",
818
+ "category": "serif",
819
+ "role": "slab serif with flat brackets; dependable, straightforward",
820
+ "license": "OFL-1.1",
821
+ "licenseFile": "zilla-slab/OFL.txt",
822
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
823
+ "source": "@fontsource/zilla-slab@5.3.0 (Google Fonts v12)",
824
+ "weights": [
825
+ 400,
826
+ 500,
827
+ 600,
828
+ 700
829
+ ],
830
+ "traits": [
831
+ "dependable",
832
+ "sturdy",
833
+ "straightforward",
834
+ "rugged",
835
+ "grounded"
836
+ ],
837
+ "files": {
838
+ "400": [
839
+ "zilla-slab/zilla-slab-latin-400-normal.woff",
840
+ "zilla-slab/zilla-slab-latin-ext-400-normal.woff"
841
+ ],
842
+ "500": [
843
+ "zilla-slab/zilla-slab-latin-500-normal.woff",
844
+ "zilla-slab/zilla-slab-latin-ext-500-normal.woff"
845
+ ],
846
+ "600": [
847
+ "zilla-slab/zilla-slab-latin-600-normal.woff",
848
+ "zilla-slab/zilla-slab-latin-ext-600-normal.woff"
849
+ ],
850
+ "700": [
851
+ "zilla-slab/zilla-slab-latin-700-normal.woff",
852
+ "zilla-slab/zilla-slab-latin-ext-700-normal.woff"
853
+ ]
854
+ }
855
+ },
856
+ {
857
+ "id": "space-mono",
858
+ "family": "Space Mono",
859
+ "category": "monospace",
860
+ "role": "geometric monospace with retro character",
861
+ "license": "OFL-1.1",
862
+ "licenseFile": "space-mono/OFL.txt",
863
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
864
+ "source": "@fontsource/space-mono@5.3.0 (Google Fonts v17)",
865
+ "weights": [
866
+ 400,
867
+ 700
868
+ ],
869
+ "traits": [
870
+ "retro",
871
+ "technical",
872
+ "quirky",
873
+ "developer"
874
+ ],
875
+ "files": {
876
+ "400": [
877
+ "space-mono/space-mono-latin-400-normal.woff",
878
+ "space-mono/space-mono-latin-ext-400-normal.woff"
879
+ ],
880
+ "700": [
881
+ "space-mono/space-mono-latin-700-normal.woff",
882
+ "space-mono/space-mono-latin-ext-700-normal.woff"
883
+ ]
884
+ }
885
+ },
886
+ {
887
+ "id": "atkinson-hyperlegible-next",
888
+ "family": "Atkinson Hyperlegible Next",
889
+ "category": "sans-serif",
890
+ "role": "humanist sans designed for low-vision legibility; clear, caring",
891
+ "license": "OFL-1.1",
892
+ "licenseFile": "atkinson-hyperlegible-next/OFL.txt",
893
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
894
+ "source": "@fontsource/atkinson-hyperlegible-next@5.3.0 (Google Fonts v7)",
895
+ "weights": [
896
+ 400,
897
+ 500,
898
+ 600,
899
+ 700,
900
+ 800
901
+ ],
902
+ "traits": [
903
+ "accessible",
904
+ "clear",
905
+ "caring",
906
+ "human",
907
+ "reassuring"
908
+ ],
909
+ "files": {
910
+ "400": [
911
+ "atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-400-normal.woff",
912
+ "atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-ext-400-normal.woff"
913
+ ],
914
+ "500": [
915
+ "atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-500-normal.woff",
916
+ "atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-ext-500-normal.woff"
917
+ ],
918
+ "600": [
919
+ "atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-600-normal.woff",
920
+ "atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-ext-600-normal.woff"
921
+ ],
922
+ "700": [
923
+ "atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-700-normal.woff",
924
+ "atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-ext-700-normal.woff"
925
+ ],
926
+ "800": [
927
+ "atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-800-normal.woff",
928
+ "atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-ext-800-normal.woff"
929
+ ]
930
+ }
931
+ },
932
+ {
933
+ "id": "alegreya-sans",
934
+ "family": "Alegreya Sans",
935
+ "category": "sans-serif",
936
+ "role": "humanist sans with calligraphic rhythm; organic, warm",
937
+ "license": "OFL-1.1",
938
+ "licenseFile": "alegreya-sans/OFL.txt",
939
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
940
+ "source": "@fontsource/alegreya-sans@5.3.0 (Google Fonts v28)",
941
+ "weights": [
942
+ 400,
943
+ 500,
944
+ 700,
945
+ 800
946
+ ],
947
+ "traits": [
948
+ "humanist",
949
+ "organic",
950
+ "warm",
951
+ "crafted",
952
+ "calm"
953
+ ],
954
+ "files": {
955
+ "400": [
956
+ "alegreya-sans/alegreya-sans-latin-400-normal.woff",
957
+ "alegreya-sans/alegreya-sans-latin-ext-400-normal.woff"
958
+ ],
959
+ "500": [
960
+ "alegreya-sans/alegreya-sans-latin-500-normal.woff",
961
+ "alegreya-sans/alegreya-sans-latin-ext-500-normal.woff"
962
+ ],
963
+ "700": [
964
+ "alegreya-sans/alegreya-sans-latin-700-normal.woff",
965
+ "alegreya-sans/alegreya-sans-latin-ext-700-normal.woff"
966
+ ],
967
+ "800": [
968
+ "alegreya-sans/alegreya-sans-latin-800-normal.woff",
969
+ "alegreya-sans/alegreya-sans-latin-ext-800-normal.woff"
970
+ ]
971
+ }
972
+ },
973
+ {
974
+ "id": "familjen-grotesk",
975
+ "family": "Familjen Grotesk",
976
+ "category": "sans-serif",
977
+ "role": "grotesque with sharp, idiosyncratic details; confident, distinctive",
978
+ "license": "OFL-1.1",
979
+ "licenseFile": "familjen-grotesk/OFL.txt",
980
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
981
+ "source": "@fontsource/familjen-grotesk@5.3.0 (Google Fonts v11)",
982
+ "weights": [
983
+ 400,
984
+ 500,
985
+ 600,
986
+ 700
987
+ ],
988
+ "traits": [
989
+ "distinctive",
990
+ "confident",
991
+ "sharp",
992
+ "characterful"
993
+ ],
994
+ "files": {
995
+ "400": [
996
+ "familjen-grotesk/familjen-grotesk-latin-400-normal.woff",
997
+ "familjen-grotesk/familjen-grotesk-latin-ext-400-normal.woff"
998
+ ],
999
+ "500": [
1000
+ "familjen-grotesk/familjen-grotesk-latin-500-normal.woff",
1001
+ "familjen-grotesk/familjen-grotesk-latin-ext-500-normal.woff"
1002
+ ],
1003
+ "600": [
1004
+ "familjen-grotesk/familjen-grotesk-latin-600-normal.woff",
1005
+ "familjen-grotesk/familjen-grotesk-latin-ext-600-normal.woff"
1006
+ ],
1007
+ "700": [
1008
+ "familjen-grotesk/familjen-grotesk-latin-700-normal.woff",
1009
+ "familjen-grotesk/familjen-grotesk-latin-ext-700-normal.woff"
1010
+ ]
1011
+ }
384
1012
  }
385
1013
  ]
386
1014
  }