@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.
- package/README.md +16 -16
- package/bin/norna-cli.mjs +12 -7
- package/docs/README.md +10 -11
- package/docs/commands.md +8 -8
- package/docs/configuration.md +13 -145
- package/docs/content.md +17 -15
- package/docs/design/command-organization.md +55 -55
- package/docs/design/site-examples-structure.md +2 -2
- package/docs/engine-development.md +5 -5
- package/docs/getting-started.md +19 -26
- package/docs/images-and-metadata.md +1 -1
- package/docs/local-development.md +2 -2
- package/docs/publishing.md +1 -1
- package/docs/routes.md +2 -2
- package/docs/site-structure.md +8 -7
- package/docs/theme.md +149 -7
- package/docs/typography.md +47 -28
- package/examples/dog-gallery/.astro/collections/site.schema.json +802 -0
- package/examples/dog-gallery/.astro/collections/theme.schema.json +714 -0
- package/examples/dog-gallery/.astro/content-assets.mjs +4 -0
- package/examples/dog-gallery/.astro/content-modules.mjs +1 -0
- package/examples/dog-gallery/.astro/content.d.ts +175 -0
- package/examples/dog-gallery/.astro/data-store.json +1 -0
- package/examples/dog-gallery/.astro/dev-local.json +8 -0
- package/examples/dog-gallery/.astro/dev.json +13 -0
- package/examples/dog-gallery/.astro/dev.log +49 -0
- package/examples/dog-gallery/.astro/settings.json +5 -0
- package/examples/dog-gallery/.astro/types.d.ts +2 -0
- package/examples/dog-gallery/dist/_astro/GalleryGrid.astro_astro_type_script_index_0_lang.B0kxDyGz.js +1 -0
- package/examples/dog-gallery/dist/_astro/SitePage.BFHZm5UG.css +1 -0
- package/examples/dog-gallery/dist/dog-care/index.html +15 -0
- package/examples/dog-gallery/dist/favicon.svg +7 -0
- package/examples/dog-gallery/dist/images/generated/black-dogs/black-puppy-meadow-7255e3d9-1080.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/black-dogs/black-puppy-meadow-7255e3d9-1440.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/black-dogs/black-puppy-meadow-7255e3d9-1536.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/black-dogs/black-puppy-meadow-7255e3d9-480.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/black-dogs/black-puppy-meadow-7255e3d9-768.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/black-dogs/photo-of-a-black-dog-5cf614d2-480.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/black-dogs/photo-of-a-black-dog-5cf614d2-768.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/black-dogs/photo-of-a-black-dog-5cf614d2-960.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/brown-dogs/brown-dog-50ef114e-1080.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/brown-dogs/brown-dog-50ef114e-1440.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/brown-dogs/brown-dog-50ef114e-1920.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/brown-dogs/brown-dog-50ef114e-3939.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/brown-dogs/brown-dog-50ef114e-480.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/brown-dogs/brown-dog-50ef114e-768.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-1080.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-1440.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-1920.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-2400.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-480.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-768.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/golden-dogs/golden-retriever-f797fd88-1080.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/golden-dogs/golden-retriever-f797fd88-1440.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/golden-dogs/golden-retriever-f797fd88-1600.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/golden-dogs/golden-retriever-f797fd88-480.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/golden-dogs/golden-retriever-f797fd88-768.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/golden-dogs/toller-puppy-a2a8fbc0-1080.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/golden-dogs/toller-puppy-a2a8fbc0-1440.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/golden-dogs/toller-puppy-a2a8fbc0-1920.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/golden-dogs/toller-puppy-a2a8fbc0-2576.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/golden-dogs/toller-puppy-a2a8fbc0-480.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/golden-dogs/toller-puppy-a2a8fbc0-768.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/white-dogs/white-cute-dog-077a0689-1080.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/white-dogs/white-cute-dog-077a0689-1277.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/white-dogs/white-cute-dog-077a0689-480.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/white-dogs/white-cute-dog-077a0689-768.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/white-dogs/white-puppy-garden-d3ab2ca0-1080.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/white-dogs/white-puppy-garden-d3ab2ca0-1440.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/white-dogs/white-puppy-garden-d3ab2ca0-1536.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/white-dogs/white-puppy-garden-d3ab2ca0-480.webp +0 -0
- package/examples/dog-gallery/dist/images/generated/white-dogs/white-puppy-garden-d3ab2ca0-768.webp +0 -0
- package/examples/dog-gallery/dist/index.html +43 -0
- package/examples/dog-gallery/dist/robots.txt +2 -0
- package/examples/dog-gallery/node_modules/.vite/deps/_metadata.json +74 -0
- package/examples/dog-gallery/node_modules/.vite/deps/astro-D_GIpJIE.js +434 -0
- package/examples/dog-gallery/node_modules/.vite/deps/astro-D_GIpJIE.js.map +1 -0
- package/examples/dog-gallery/node_modules/.vite/deps/astro_n_aria-query.js +6390 -0
- package/examples/dog-gallery/node_modules/.vite/deps/astro_n_aria-query.js.map +1 -0
- package/examples/dog-gallery/node_modules/.vite/deps/astro_n_axobject-query.js +2702 -0
- package/examples/dog-gallery/node_modules/.vite/deps/astro_n_axobject-query.js.map +1 -0
- package/examples/dog-gallery/node_modules/.vite/deps/astro_n_html-escaper.js +65 -0
- package/examples/dog-gallery/node_modules/.vite/deps/astro_n_html-escaper.js.map +1 -0
- package/examples/dog-gallery/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js +455 -0
- package/examples/dog-gallery/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js.map +1 -0
- package/examples/dog-gallery/node_modules/.vite/deps/audit-DM9Hkl5B.js +1534 -0
- package/examples/dog-gallery/node_modules/.vite/deps/audit-DM9Hkl5B.js.map +1 -0
- package/examples/dog-gallery/node_modules/.vite/deps/highlight-DnZ1ULOL.js +48 -0
- package/examples/dog-gallery/node_modules/.vite/deps/highlight-DnZ1ULOL.js.map +1 -0
- package/examples/dog-gallery/node_modules/.vite/deps/icons-RyebKi45.js +42 -0
- package/examples/dog-gallery/node_modules/.vite/deps/icons-RyebKi45.js.map +1 -0
- package/examples/dog-gallery/node_modules/.vite/deps/package.json +3 -0
- package/examples/dog-gallery/node_modules/.vite/deps/rolldown-runtime-BvCyGRYZ.js +4 -0
- package/examples/dog-gallery/node_modules/.vite/deps/settings-DaU-gNnK.js +190 -0
- package/examples/dog-gallery/node_modules/.vite/deps/settings-DaU-gNnK.js.map +1 -0
- package/examples/dog-gallery/node_modules/.vite/deps/toolbar-63PA619H.js +458 -0
- package/examples/dog-gallery/node_modules/.vite/deps/toolbar-63PA619H.js.map +1 -0
- package/examples/dog-gallery/node_modules/.vite/deps/ui-library--bkcNSYz.js +1016 -0
- package/examples/dog-gallery/node_modules/.vite/deps/ui-library--bkcNSYz.js.map +1 -0
- package/examples/dog-gallery/node_modules/.vite/deps/window-jPkpKVcy.js +32 -0
- package/examples/dog-gallery/node_modules/.vite/deps/window-jPkpKVcy.js.map +1 -0
- package/examples/dog-gallery/node_modules/.vite/deps/xray-BXCHpEJP.js +111 -0
- package/examples/dog-gallery/node_modules/.vite/deps/xray-BXCHpEJP.js.map +1 -0
- package/examples/dog-gallery/site/config.mjs +12 -42
- package/examples/dog-gallery/site/content.md +27 -5
- package/examples/dog-gallery/site/routes/dog-care/route-content.md +17 -3
- package/examples/dog-gallery/site/theme.md +85 -26
- package/fixtures/basic/site/config.mjs +2 -22
- package/fixtures/basic/site/content.md +1 -1
- package/fixtures/basic/site/theme.md +7 -3
- package/package.json +3 -3
- package/scripts/check-config.mjs +3 -3
- package/scripts/deploy-site.mjs +3 -3
- package/scripts/init-site.mjs +10 -8
- package/scripts/lib/frontmatter-yaml.mjs +85 -0
- package/scripts/lib/presentation.mjs +10 -11
- package/scripts/lib/project-config.mjs +91 -45
- package/scripts/lib/site-content.mjs +20 -2
- package/scripts/lib/theme-config.mjs +34 -0
- package/scripts/lib/typography.mjs +100 -20
- package/scripts/show-typography.mjs +58 -154
- package/scripts/sync-content-sections.mjs +6 -6
- package/scripts/test-content-check.mjs +3 -4
- package/scripts/test-engine-commands.mjs +2 -2
- package/scripts/test-package-check.mjs +17 -16
- package/scripts/test-temporary-visibility.mjs +2 -3
- package/src/components/SitePage.astro +2 -3
- package/src/components/SiteSection.astro +39 -5
- package/src/content.config.ts +60 -2
- package/src/layouts/BaseLayout.astro +17 -0
- package/src/styles/global.css +54 -50
- package/starters/basic/README.md +10 -15
- package/starters/basic/package.json +2 -2
- package/starters/basic/site/config.mjs +3 -24
- package/starters/basic/site/content.md +40 -7
- package/starters/basic/site/theme.md +110 -17
- package/starters/project/.github/workflows/deploy.yml +65 -0
- package/starters/project/README.md +72 -0
- package/starters/project/package-lock.json +4296 -0
- package/starters/project/package.json +35 -0
- package/starters/project/site/config.mjs +43 -0
- package/starters/project/site/content.md +88 -0
- package/starters/project/site/public/robots.txt +2 -0
- package/starters/project/site/routes/guide/route-content.md +58 -0
- 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
|
-
#
|
|
10
|
-
#
|
|
11
|
-
#
|
|
12
|
-
#
|
|
13
|
-
#
|
|
14
|
-
#
|
|
15
|
-
#
|
|
16
|
-
#
|
|
17
|
-
#
|
|
18
|
-
#
|
|
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
|
-
#
|
|
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
|
-
#
|
|
32
|
-
#
|
|
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.
|
|
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
|
|
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`
|