@janga/norna 0.7.2 → 0.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/README.md +16 -16
  2. package/bin/norna-cli.mjs +12 -7
  3. package/docs/README.md +10 -11
  4. package/docs/commands.md +8 -8
  5. package/docs/configuration.md +13 -145
  6. package/docs/content.md +17 -15
  7. package/docs/design/command-organization.md +55 -55
  8. package/docs/design/site-examples-structure.md +2 -2
  9. package/docs/engine-development.md +5 -5
  10. package/docs/getting-started.md +19 -26
  11. package/docs/images-and-metadata.md +1 -1
  12. package/docs/local-development.md +2 -2
  13. package/docs/publishing.md +1 -1
  14. package/docs/routes.md +2 -2
  15. package/docs/site-structure.md +8 -7
  16. package/docs/theme.md +149 -7
  17. package/docs/typography.md +47 -28
  18. package/examples/dog-gallery/.astro/collections/site.schema.json +802 -0
  19. package/examples/dog-gallery/.astro/collections/theme.schema.json +714 -0
  20. package/examples/dog-gallery/.astro/content-assets.mjs +4 -0
  21. package/examples/dog-gallery/.astro/content-modules.mjs +1 -0
  22. package/examples/dog-gallery/.astro/content.d.ts +175 -0
  23. package/examples/dog-gallery/.astro/data-store.json +1 -0
  24. package/examples/dog-gallery/.astro/dev-local.json +8 -0
  25. package/examples/dog-gallery/.astro/dev.json +13 -0
  26. package/examples/dog-gallery/.astro/dev.log +49 -0
  27. package/examples/dog-gallery/.astro/settings.json +5 -0
  28. package/examples/dog-gallery/.astro/types.d.ts +2 -0
  29. package/examples/dog-gallery/dist/_astro/GalleryGrid.astro_astro_type_script_index_0_lang.B0kxDyGz.js +1 -0
  30. package/examples/dog-gallery/dist/_astro/SitePage.BFHZm5UG.css +1 -0
  31. package/examples/dog-gallery/dist/dog-care/index.html +15 -0
  32. package/examples/dog-gallery/dist/favicon.svg +7 -0
  33. package/examples/dog-gallery/dist/images/generated/black-dogs/black-puppy-meadow-7255e3d9-1080.webp +0 -0
  34. package/examples/dog-gallery/dist/images/generated/black-dogs/black-puppy-meadow-7255e3d9-1440.webp +0 -0
  35. package/examples/dog-gallery/dist/images/generated/black-dogs/black-puppy-meadow-7255e3d9-1536.webp +0 -0
  36. package/examples/dog-gallery/dist/images/generated/black-dogs/black-puppy-meadow-7255e3d9-480.webp +0 -0
  37. package/examples/dog-gallery/dist/images/generated/black-dogs/black-puppy-meadow-7255e3d9-768.webp +0 -0
  38. package/examples/dog-gallery/dist/images/generated/black-dogs/photo-of-a-black-dog-5cf614d2-480.webp +0 -0
  39. package/examples/dog-gallery/dist/images/generated/black-dogs/photo-of-a-black-dog-5cf614d2-768.webp +0 -0
  40. package/examples/dog-gallery/dist/images/generated/black-dogs/photo-of-a-black-dog-5cf614d2-960.webp +0 -0
  41. package/examples/dog-gallery/dist/images/generated/brown-dogs/brown-dog-50ef114e-1080.webp +0 -0
  42. package/examples/dog-gallery/dist/images/generated/brown-dogs/brown-dog-50ef114e-1440.webp +0 -0
  43. package/examples/dog-gallery/dist/images/generated/brown-dogs/brown-dog-50ef114e-1920.webp +0 -0
  44. package/examples/dog-gallery/dist/images/generated/brown-dogs/brown-dog-50ef114e-3939.webp +0 -0
  45. package/examples/dog-gallery/dist/images/generated/brown-dogs/brown-dog-50ef114e-480.webp +0 -0
  46. package/examples/dog-gallery/dist/images/generated/brown-dogs/brown-dog-50ef114e-768.webp +0 -0
  47. package/examples/dog-gallery/dist/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-1080.webp +0 -0
  48. package/examples/dog-gallery/dist/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-1440.webp +0 -0
  49. package/examples/dog-gallery/dist/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-1920.webp +0 -0
  50. package/examples/dog-gallery/dist/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-2400.webp +0 -0
  51. package/examples/dog-gallery/dist/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-480.webp +0 -0
  52. package/examples/dog-gallery/dist/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-768.webp +0 -0
  53. package/examples/dog-gallery/dist/images/generated/golden-dogs/golden-retriever-f797fd88-1080.webp +0 -0
  54. package/examples/dog-gallery/dist/images/generated/golden-dogs/golden-retriever-f797fd88-1440.webp +0 -0
  55. package/examples/dog-gallery/dist/images/generated/golden-dogs/golden-retriever-f797fd88-1600.webp +0 -0
  56. package/examples/dog-gallery/dist/images/generated/golden-dogs/golden-retriever-f797fd88-480.webp +0 -0
  57. package/examples/dog-gallery/dist/images/generated/golden-dogs/golden-retriever-f797fd88-768.webp +0 -0
  58. package/examples/dog-gallery/dist/images/generated/golden-dogs/toller-puppy-a2a8fbc0-1080.webp +0 -0
  59. package/examples/dog-gallery/dist/images/generated/golden-dogs/toller-puppy-a2a8fbc0-1440.webp +0 -0
  60. package/examples/dog-gallery/dist/images/generated/golden-dogs/toller-puppy-a2a8fbc0-1920.webp +0 -0
  61. package/examples/dog-gallery/dist/images/generated/golden-dogs/toller-puppy-a2a8fbc0-2576.webp +0 -0
  62. package/examples/dog-gallery/dist/images/generated/golden-dogs/toller-puppy-a2a8fbc0-480.webp +0 -0
  63. package/examples/dog-gallery/dist/images/generated/golden-dogs/toller-puppy-a2a8fbc0-768.webp +0 -0
  64. package/examples/dog-gallery/dist/images/generated/white-dogs/white-cute-dog-077a0689-1080.webp +0 -0
  65. package/examples/dog-gallery/dist/images/generated/white-dogs/white-cute-dog-077a0689-1277.webp +0 -0
  66. package/examples/dog-gallery/dist/images/generated/white-dogs/white-cute-dog-077a0689-480.webp +0 -0
  67. package/examples/dog-gallery/dist/images/generated/white-dogs/white-cute-dog-077a0689-768.webp +0 -0
  68. package/examples/dog-gallery/dist/images/generated/white-dogs/white-puppy-garden-d3ab2ca0-1080.webp +0 -0
  69. package/examples/dog-gallery/dist/images/generated/white-dogs/white-puppy-garden-d3ab2ca0-1440.webp +0 -0
  70. package/examples/dog-gallery/dist/images/generated/white-dogs/white-puppy-garden-d3ab2ca0-1536.webp +0 -0
  71. package/examples/dog-gallery/dist/images/generated/white-dogs/white-puppy-garden-d3ab2ca0-480.webp +0 -0
  72. package/examples/dog-gallery/dist/images/generated/white-dogs/white-puppy-garden-d3ab2ca0-768.webp +0 -0
  73. package/examples/dog-gallery/dist/index.html +43 -0
  74. package/examples/dog-gallery/dist/robots.txt +2 -0
  75. package/examples/dog-gallery/node_modules/.vite/deps/_metadata.json +74 -0
  76. package/examples/dog-gallery/node_modules/.vite/deps/astro-D_GIpJIE.js +434 -0
  77. package/examples/dog-gallery/node_modules/.vite/deps/astro-D_GIpJIE.js.map +1 -0
  78. package/examples/dog-gallery/node_modules/.vite/deps/astro_n_aria-query.js +6390 -0
  79. package/examples/dog-gallery/node_modules/.vite/deps/astro_n_aria-query.js.map +1 -0
  80. package/examples/dog-gallery/node_modules/.vite/deps/astro_n_axobject-query.js +2702 -0
  81. package/examples/dog-gallery/node_modules/.vite/deps/astro_n_axobject-query.js.map +1 -0
  82. package/examples/dog-gallery/node_modules/.vite/deps/astro_n_html-escaper.js +65 -0
  83. package/examples/dog-gallery/node_modules/.vite/deps/astro_n_html-escaper.js.map +1 -0
  84. package/examples/dog-gallery/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js +455 -0
  85. package/examples/dog-gallery/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js.map +1 -0
  86. package/examples/dog-gallery/node_modules/.vite/deps/audit-DM9Hkl5B.js +1534 -0
  87. package/examples/dog-gallery/node_modules/.vite/deps/audit-DM9Hkl5B.js.map +1 -0
  88. package/examples/dog-gallery/node_modules/.vite/deps/highlight-DnZ1ULOL.js +48 -0
  89. package/examples/dog-gallery/node_modules/.vite/deps/highlight-DnZ1ULOL.js.map +1 -0
  90. package/examples/dog-gallery/node_modules/.vite/deps/icons-RyebKi45.js +42 -0
  91. package/examples/dog-gallery/node_modules/.vite/deps/icons-RyebKi45.js.map +1 -0
  92. package/examples/dog-gallery/node_modules/.vite/deps/package.json +3 -0
  93. package/examples/dog-gallery/node_modules/.vite/deps/rolldown-runtime-BvCyGRYZ.js +4 -0
  94. package/examples/dog-gallery/node_modules/.vite/deps/settings-DaU-gNnK.js +190 -0
  95. package/examples/dog-gallery/node_modules/.vite/deps/settings-DaU-gNnK.js.map +1 -0
  96. package/examples/dog-gallery/node_modules/.vite/deps/toolbar-63PA619H.js +458 -0
  97. package/examples/dog-gallery/node_modules/.vite/deps/toolbar-63PA619H.js.map +1 -0
  98. package/examples/dog-gallery/node_modules/.vite/deps/ui-library--bkcNSYz.js +1016 -0
  99. package/examples/dog-gallery/node_modules/.vite/deps/ui-library--bkcNSYz.js.map +1 -0
  100. package/examples/dog-gallery/node_modules/.vite/deps/window-jPkpKVcy.js +32 -0
  101. package/examples/dog-gallery/node_modules/.vite/deps/window-jPkpKVcy.js.map +1 -0
  102. package/examples/dog-gallery/node_modules/.vite/deps/xray-BXCHpEJP.js +111 -0
  103. package/examples/dog-gallery/node_modules/.vite/deps/xray-BXCHpEJP.js.map +1 -0
  104. package/examples/dog-gallery/site/config.mjs +12 -42
  105. package/examples/dog-gallery/site/content.md +27 -5
  106. package/examples/dog-gallery/site/routes/dog-care/route-content.md +17 -3
  107. package/examples/dog-gallery/site/theme.md +85 -26
  108. package/fixtures/basic/site/config.mjs +2 -22
  109. package/fixtures/basic/site/content.md +1 -1
  110. package/fixtures/basic/site/theme.md +7 -3
  111. package/package.json +3 -3
  112. package/scripts/check-config.mjs +3 -3
  113. package/scripts/deploy-site.mjs +3 -3
  114. package/scripts/init-site.mjs +10 -8
  115. package/scripts/lib/frontmatter-yaml.mjs +85 -0
  116. package/scripts/lib/presentation.mjs +10 -11
  117. package/scripts/lib/project-config.mjs +91 -45
  118. package/scripts/lib/site-content.mjs +20 -2
  119. package/scripts/lib/theme-config.mjs +34 -0
  120. package/scripts/lib/typography.mjs +100 -20
  121. package/scripts/show-typography.mjs +58 -154
  122. package/scripts/sync-content-sections.mjs +6 -6
  123. package/scripts/test-content-check.mjs +3 -4
  124. package/scripts/test-engine-commands.mjs +2 -2
  125. package/scripts/test-package-check.mjs +17 -16
  126. package/scripts/test-temporary-visibility.mjs +2 -3
  127. package/src/components/SitePage.astro +2 -3
  128. package/src/components/SiteSection.astro +39 -5
  129. package/src/content.config.ts +60 -2
  130. package/src/layouts/BaseLayout.astro +17 -0
  131. package/src/styles/global.css +54 -50
  132. package/starters/basic/README.md +10 -15
  133. package/starters/basic/package.json +2 -2
  134. package/starters/basic/site/config.mjs +3 -24
  135. package/starters/basic/site/content.md +40 -7
  136. package/starters/basic/site/theme.md +110 -17
  137. package/starters/project/.github/workflows/deploy.yml +65 -0
  138. package/starters/project/README.md +72 -0
  139. package/starters/project/package-lock.json +4296 -0
  140. package/starters/project/package.json +35 -0
  141. package/starters/project/site/config.mjs +43 -0
  142. package/starters/project/site/content.md +88 -0
  143. package/starters/project/site/public/robots.txt +2 -0
  144. package/starters/project/site/routes/guide/route-content.md +58 -0
  145. package/starters/project/site/theme.md +15 -0
@@ -6,36 +6,90 @@
6
6
  # Available structure:
7
7
  # navigation:
8
8
  # brand: site-wide brand/home text; defaults to the homepage title
9
- # presentation:
10
- # backgroundColor: quoted hex color, e.g. "#000000"
11
- # textColor: quoted hex color, e.g. "#f7f4ee"
12
- # inlineStyles:
13
- # style-name:
14
- # color: quoted hex color
15
- # typography:
16
- # preset: quiet-gallery | compact-gallery | text-forward | statement
17
- # overrides:
18
- # heading:
9
+ # layout:
10
+ # pageWidth: CSS length, e.g. 1180px
11
+ # gutter:
12
+ # desktop: CSS length or clamp(), e.g. clamp(1.25rem, 4vw, 3rem)
13
+ # mobile: CSS length, e.g. 1rem
14
+ # spacing:
15
+ # firstSectionTop:
16
+ # desktop: CSS length or clamp(), e.g. clamp(1.875rem, 3vw, 2.75rem)
17
+ # mobile: CSS length, e.g. 1.375rem
18
+ # sectionGap:
19
+ # desktop: CSS length or clamp(), e.g. clamp(2.55rem, 4.2vw, 3.9rem)
20
+ # mobile: CSS length, e.g. 2.25rem
21
+ # finalSectionBottom:
22
+ # desktop: CSS length or clamp(), e.g. clamp(2.55rem, 4.2vw, 3.9rem)
23
+ # mobile: CSS length, e.g. 2.25rem
24
+ # sectionHeadingToBody:
25
+ # desktop: CSS length or clamp(), e.g. clamp(0.5625rem, 1.25vw, 0.75rem)
26
+ # mobile: CSS length, e.g. 0.4375rem
27
+ # bodyToImages:
28
+ # desktop: CSS length or clamp(), e.g. clamp(1.25rem, 2.5vw, 2rem)
29
+ # mobile: CSS length, e.g. 1.25rem
30
+ # imageGap:
31
+ # desktop: CSS length or clamp(), e.g. clamp(1.5rem, 3.5vw, 2.75rem)
32
+ # mobile: CSS length, e.g. 2.75rem
33
+ # subheadingTop:
34
+ # desktop: CSS length, e.g. 2rem
35
+ # mobile: CSS length, e.g. 1.6rem
36
+ # subheadingRuleTop:
37
+ # desktop: CSS length, e.g. 1rem
38
+ # mobile: CSS length, e.g. 0.8rem
39
+ # gallery:
40
+ # width: CSS length, e.g. 900px
41
+ # maxAvailableWidthPercent:
42
+ # desktop: number from 1 through 100
43
+ # mobile: number from 1 through 100
44
+ # maxAvailableHeightPercent:
45
+ # desktop: number from 1 through 100
46
+ # mobile: number from 1 through 100
47
+ # typography:
48
+ # fontFamily: CSS font-family stack
49
+ # preset: quiet-gallery | compact-gallery | text-forward | statement
50
+ # overrides:
51
+ # headings:
52
+ # h2:
19
53
  # align:
20
54
  # desktop: left | center | right
21
55
  # mobile: left | center | right
22
56
  # size: small | medium | large | xlarge
23
57
  # lineHeight: number from 1 through 3
24
58
  # spacing: CSS length, e.g. 0.65em
25
- # body:
59
+ # h3:
26
60
  # align:
27
61
  # desktop: left | center | right
28
62
  # mobile: left | center | right
29
63
  # size: small | medium | large | xlarge
30
64
  # lineHeight: number from 1 through 3
31
- # paragraphSpacing: CSS length, e.g. 0.85em
32
- # caption:
65
+ # spacing: CSS length, e.g. 0.9rem
66
+ # h4:
33
67
  # align:
34
68
  # desktop: left | center | right
35
69
  # mobile: left | center | right
36
70
  # size: small | medium | large | xlarge
37
71
  # lineHeight: number from 1 through 3
38
- # spacing: CSS length, e.g. 0.5em
72
+ # spacing: CSS length, e.g. 0.85rem
73
+ # body:
74
+ # align:
75
+ # desktop: left | center | right
76
+ # mobile: left | center | right
77
+ # size: small | medium | large | xlarge
78
+ # lineHeight: number from 1 through 3
79
+ # paragraphSpacing: CSS length, e.g. 0.85em
80
+ # caption:
81
+ # align:
82
+ # desktop: left | center | right
83
+ # mobile: left | center | right
84
+ # size: small | medium | large | xlarge
85
+ # lineHeight: number from 1 through 3
86
+ # spacing: CSS length, e.g. 0.5em
87
+ # presentation:
88
+ # backgroundColor: quoted hex color, e.g. "#000000"
89
+ # textColor: quoted hex color, e.g. "#f7f4ee"
90
+ # inlineStyles:
91
+ # style-name:
92
+ # color: quoted hex color
39
93
  # frame:
40
94
  # colors: presentation | theme
41
95
  # colors:
@@ -43,15 +97,54 @@
43
97
  # textColor: quoted hex color
44
98
  # norna:end theme-help
45
99
  navigation:
46
- brand: Example Gallery
100
+ brand: Example Site
101
+ layout:
102
+ pageWidth: 1180px
103
+ gutter:
104
+ desktop: clamp(1.25rem, 4vw, 3rem)
105
+ mobile: 1rem
106
+ spacing:
107
+ firstSectionTop:
108
+ desktop: clamp(1.875rem, 3vw, 2.75rem)
109
+ mobile: 1.375rem
110
+ sectionGap:
111
+ desktop: clamp(2.55rem, 4.2vw, 3.9rem)
112
+ mobile: 2.25rem
113
+ finalSectionBottom:
114
+ desktop: clamp(2.55rem, 4.2vw, 3.9rem)
115
+ mobile: 2.25rem
116
+ sectionHeadingToBody:
117
+ desktop: clamp(0.5625rem, 1.25vw, 0.75rem)
118
+ mobile: 0.4375rem
119
+ bodyToImages:
120
+ desktop: clamp(1.25rem, 2.5vw, 2rem)
121
+ mobile: 1.25rem
122
+ imageGap:
123
+ desktop: clamp(1.5rem, 3.5vw, 2.75rem)
124
+ mobile: 2.75rem
125
+ subheadingTop:
126
+ desktop: 2rem
127
+ mobile: 1.6rem
128
+ subheadingRuleTop:
129
+ desktop: 1rem
130
+ mobile: 0.8rem
131
+ gallery:
132
+ width: 900px
133
+ maxAvailableWidthPercent:
134
+ desktop: 100
135
+ mobile: 100
136
+ maxAvailableHeightPercent:
137
+ desktop: 74
138
+ mobile: 68
139
+ typography:
140
+ fontFamily: "Arial, 'Helvetica Neue', Helvetica, sans-serif"
141
+ preset: quiet-gallery
47
142
  presentation:
48
143
  backgroundColor: "#000000"
49
144
  textColor: "#f7f4ee"
50
145
  inlineStyles:
51
146
  highlight:
52
147
  color: "#ffd84d"
53
- typography:
54
- preset: quiet-gallery
55
148
  frame:
56
149
  colors: presentation
57
150
  ---
@@ -0,0 +1,65 @@
1
+ name: Deploy to GitHub Pages
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ workflow_dispatch:
8
+
9
+ permissions:
10
+ contents: read
11
+ pages: write
12
+ id-token: write
13
+
14
+ concurrency:
15
+ group: github-pages
16
+ cancel-in-progress: false
17
+
18
+ jobs:
19
+ build:
20
+ runs-on: ubuntu-latest
21
+ steps:
22
+ - name: Checkout
23
+ uses: actions/checkout@v4
24
+
25
+ - name: Setup Node
26
+ uses: actions/setup-node@v4
27
+ with:
28
+ node-version: 24.18.0
29
+ cache: npm
30
+
31
+ - name: Install image tools
32
+ run: sudo apt-get update && sudo apt-get install -y imagemagick
33
+
34
+ - name: Restore generated images
35
+ uses: actions/cache@v4
36
+ with:
37
+ path: site/.norna/public/images/generated
38
+ key: norna-images-${{ hashFiles('site/.norna/generated-images.json') }}
39
+ restore-keys: |
40
+ norna-images-
41
+
42
+ - name: Install dependencies
43
+ run: npm ci
44
+
45
+ - name: Build
46
+ run: npm run build
47
+
48
+ - name: Configure Pages
49
+ uses: actions/configure-pages@v5
50
+
51
+ - name: Upload Pages artifact
52
+ uses: actions/upload-pages-artifact@v3
53
+ with:
54
+ path: dist
55
+
56
+ deploy:
57
+ needs: build
58
+ runs-on: ubuntu-latest
59
+ environment:
60
+ name: github-pages
61
+ url: ${{ steps.deployment.outputs.page_url }}
62
+ steps:
63
+ - name: Deploy to GitHub Pages
64
+ id: deployment
65
+ uses: actions/deploy-pages@v4
@@ -0,0 +1,72 @@
1
+ # Project Starter
2
+
3
+ This is a compact Norna starter for small open source projects, CLI tools,
4
+ libraries, and similar project sites.
5
+
6
+ ## Setup
7
+
8
+ ```sh
9
+ npm install
10
+ npm run dev
11
+ ```
12
+
13
+ If the standard local port is blocked, start with:
14
+
15
+ ```sh
16
+ npm run dev -- --kill
17
+ ```
18
+
19
+ ## Files
20
+
21
+ - `site/config.mjs`: technical settings such as URL, language labels, GitHub
22
+ repository, and deploy workflow.
23
+ - `site/theme.md`: site-wide visual settings such as brand text, colors,
24
+ frame colors, and inline text styles.
25
+ - `site/content.md`: homepage title, sections, project summary, links,
26
+ install command, example usage, features, and next steps.
27
+ - `site/routes/guide/route-content.md`: short secondary page with realistic
28
+ project guide content.
29
+ - `site/public/robots.txt`: static public file copied into the built site.
30
+
31
+ The starter intentionally does not include generated output, `node_modules`, or
32
+ a local Norna installation. It does include `package-lock.json` because the
33
+ GitHub Pages workflow uses `npm ci`.
34
+
35
+ ## Adapt The Starter
36
+
37
+ 1. Replace the project name, tagline, links, install command, example usage,
38
+ features, and use cases in `site/content.md`.
39
+ 2. Replace the guide examples in `site/routes/guide/route-content.md`, or
40
+ delete the route if the homepage is enough.
41
+ 3. Edit `site/theme.md` for brand name, colors, frame colors, and inline text
42
+ styles.
43
+ 4. Edit `site/config.mjs` for public URL, GitHub repository, footer text, and
44
+ deploy workflow name.
45
+ 5. Update `package.json` with the site's package name and keep
46
+ `package-lock.json` committed.
47
+
48
+ ## Common Commands
49
+
50
+ ```sh
51
+ npm run norna:check
52
+ npm run norna:typography:show
53
+ npm run build
54
+ ```
55
+
56
+ To verify the same install path used by GitHub Pages:
57
+
58
+ ```sh
59
+ npm ci
60
+ npm run build
61
+ ```
62
+
63
+ Generic Norna documentation lives in the Norna repository:
64
+
65
+ - `docs/getting-started.md`
66
+ - `docs/site-structure.md`
67
+ - `docs/content.md`
68
+ - `docs/theme.md`
69
+ - `docs/typography.md`
70
+ - `docs/routes.md`
71
+ - `docs/configuration.md`
72
+ - `docs/commands.md`