@janga/norna 0.7.2 → 0.7.4
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 +11 -12
- package/docs/commands.md +9 -9
- package/docs/configuration.md +14 -145
- package/docs/content.md +17 -15
- package/docs/design/command-organization.md +58 -57
- package/docs/design/site-examples-structure.md +6 -5
- package/docs/engine-development.md +5 -5
- package/docs/getting-started.md +20 -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 +133 -7
- package/docs/typography.md +78 -43
- 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 +28 -6
- package/examples/dog-gallery/site/routes/dog-care/route-content.md +17 -3
- package/examples/dog-gallery/site/theme.md +83 -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 +4 -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 +146 -45
- package/scripts/lib/site-content.mjs +21 -3
- package/scripts/lib/theme-config.mjs +34 -0
- package/scripts/lib/typography.mjs +155 -35
- package/scripts/show-typography.mjs +127 -159
- package/scripts/sync-content-sections.mjs +6 -6
- package/scripts/test-content-check.mjs +3 -4
- package/scripts/test-engine-commands.mjs +21 -3
- package/scripts/test-package-check.mjs +34 -17
- package/scripts/test-temporary-visibility.mjs +2 -3
- package/src/components/SitePage.astro +2 -3
- package/src/components/SiteSection.astro +115 -19
- package/src/content.config.ts +66 -6
- package/src/layouts/BaseLayout.astro +11 -0
- package/src/styles/global.css +83 -52
- package/starters/basic/README.md +11 -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 +84 -18
- 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 +128 -0
- package/starters/project/site/public/robots.txt +2 -0
- package/starters/project/site/routes/guide/route-content.md +85 -0
- package/starters/project/site/theme.md +43 -0
package/docs/theme.md
CHANGED
|
@@ -13,12 +13,28 @@ on top of the resolved page presentation.
|
|
|
13
13
|
```yaml
|
|
14
14
|
---
|
|
15
15
|
navigation:
|
|
16
|
-
brand: Example
|
|
16
|
+
brand: Example Site
|
|
17
|
+
layout:
|
|
18
|
+
density: normal
|
|
19
|
+
pageWidth: 1180px
|
|
20
|
+
gutter:
|
|
21
|
+
desktop: clamp(1.25rem, 4vw, 3rem)
|
|
22
|
+
mobile: 1rem
|
|
23
|
+
gallery:
|
|
24
|
+
width: 900px
|
|
25
|
+
maxAvailableWidthPercent:
|
|
26
|
+
desktop: 100
|
|
27
|
+
mobile: 100
|
|
28
|
+
maxAvailableHeightPercent:
|
|
29
|
+
desktop: 74
|
|
30
|
+
mobile: 68
|
|
31
|
+
typography:
|
|
32
|
+
fontFamily: "Arial, 'Helvetica Neue', Helvetica, sans-serif"
|
|
33
|
+
preset: quiet-gallery
|
|
34
|
+
rhythm: normal
|
|
17
35
|
presentation:
|
|
18
36
|
backgroundColor: "#000000"
|
|
19
37
|
textColor: "#f7f4ee"
|
|
20
|
-
typography:
|
|
21
|
-
preset: quiet-gallery
|
|
22
38
|
frame:
|
|
23
39
|
colors: presentation
|
|
24
40
|
---
|
|
@@ -47,6 +63,114 @@ navigation:
|
|
|
47
63
|
brand: Norna
|
|
48
64
|
```
|
|
49
65
|
|
|
66
|
+
## Layout
|
|
67
|
+
|
|
68
|
+
`layout` is optional. It controls the outer page geometry:
|
|
69
|
+
|
|
70
|
+
- `pageWidth`: maximum width of the main page content area.
|
|
71
|
+
- `gutter`: side margin removed from the viewport before available content
|
|
72
|
+
width is calculated. Use either one CSS length for all viewports or
|
|
73
|
+
`desktop` / `mobile` values.
|
|
74
|
+
- `density`: default structural spacing profile. Allowed values are `compact`,
|
|
75
|
+
`normal`, and `airy`.
|
|
76
|
+
- `spacing`: optional structural spacing overrides for sections and image
|
|
77
|
+
rows. Every spacing value accepts either one CSS length for all viewports or
|
|
78
|
+
`desktop` / `mobile` values.
|
|
79
|
+
|
|
80
|
+
Example:
|
|
81
|
+
|
|
82
|
+
```yaml
|
|
83
|
+
layout:
|
|
84
|
+
density: normal
|
|
85
|
+
pageWidth: 1180px
|
|
86
|
+
gutter:
|
|
87
|
+
desktop: clamp(1.25rem, 4vw, 3rem)
|
|
88
|
+
mobile: 1rem
|
|
89
|
+
spacing:
|
|
90
|
+
firstSectionTop:
|
|
91
|
+
desktop: clamp(1.875rem, 3vw, 2.75rem)
|
|
92
|
+
mobile: 1.375rem
|
|
93
|
+
sectionGap:
|
|
94
|
+
desktop: clamp(1.4rem, 3vw, 2.75rem)
|
|
95
|
+
mobile: 1.5rem
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
If omitted, Norna uses `1180px` for `pageWidth`, desktop
|
|
99
|
+
`clamp(1.25rem, 4vw, 3rem)` for `gutter`, mobile `1rem`, and `normal` layout
|
|
100
|
+
density.
|
|
101
|
+
|
|
102
|
+
Spacing keys:
|
|
103
|
+
|
|
104
|
+
- `firstSectionTop`: space above the first section heading.
|
|
105
|
+
- `sectionGap`: space above each following section.
|
|
106
|
+
- `finalSectionBottom`: space below the final section.
|
|
107
|
+
- `bodyToImages`: space from section body text to image rows.
|
|
108
|
+
- `imageGap`: space between image rows.
|
|
109
|
+
|
|
110
|
+
Text-near spacing, such as spacing after headings, spacing before Markdown
|
|
111
|
+
subheadings, paragraph spacing, and caption spacing, belongs to
|
|
112
|
+
`typography.rhythm` and typography overrides.
|
|
113
|
+
|
|
114
|
+
## Image Sizing
|
|
115
|
+
|
|
116
|
+
`gallery` is optional. It controls image sizing:
|
|
117
|
+
|
|
118
|
+
- `width`: hard maximum rendered image area width for images, captions, and
|
|
119
|
+
aligned text.
|
|
120
|
+
- `maxAvailableWidthPercent`: maximum share of available width after gutters.
|
|
121
|
+
- `maxAvailableHeightPercent`: maximum share of viewport height used by
|
|
122
|
+
images.
|
|
123
|
+
|
|
124
|
+
Example:
|
|
125
|
+
|
|
126
|
+
```yaml
|
|
127
|
+
gallery:
|
|
128
|
+
width: 900px
|
|
129
|
+
maxAvailableWidthPercent:
|
|
130
|
+
desktop: 100
|
|
131
|
+
mobile: 100
|
|
132
|
+
maxAvailableHeightPercent:
|
|
133
|
+
desktop: 74
|
|
134
|
+
mobile: 68
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
If omitted, Norna uses `900px`, full available width, and image height limits of
|
|
138
|
+
desktop `74` / mobile `68`.
|
|
139
|
+
|
|
140
|
+
## Typography
|
|
141
|
+
|
|
142
|
+
Top-level `typography` is the site-wide typographic base. It supports:
|
|
143
|
+
|
|
144
|
+
- `fontFamily`: global CSS font-family stack.
|
|
145
|
+
- `preset`: built-in typography preset.
|
|
146
|
+
- `rhythm`: text-near spacing profile. Allowed values are `compact`,
|
|
147
|
+
`normal`, and `airy`.
|
|
148
|
+
- `overrides`: focused changes to preset values.
|
|
149
|
+
|
|
150
|
+
Example:
|
|
151
|
+
|
|
152
|
+
```yaml
|
|
153
|
+
typography:
|
|
154
|
+
fontFamily: "Arial, 'Helvetica Neue', Helvetica, sans-serif"
|
|
155
|
+
preset: quiet-gallery
|
|
156
|
+
rhythm: normal
|
|
157
|
+
overrides:
|
|
158
|
+
headings:
|
|
159
|
+
h2:
|
|
160
|
+
size: medium
|
|
161
|
+
spacingAfter: 0.55em
|
|
162
|
+
h3:
|
|
163
|
+
size: medium
|
|
164
|
+
spacingBefore: 1.5em
|
|
165
|
+
spacingAfter: 0.5em
|
|
166
|
+
body:
|
|
167
|
+
lineHeight: 1.55
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
Use `norna typography presets` to inspect built-in preset and rhythm values,
|
|
171
|
+
and `norna typography show` to inspect the resolved typography for the
|
|
172
|
+
selected site. See [Typography](typography.md).
|
|
173
|
+
|
|
50
174
|
## Presentation
|
|
51
175
|
|
|
52
176
|
`presentation` is optional. It can contain:
|
|
@@ -56,8 +180,6 @@ navigation:
|
|
|
56
180
|
- `textColor`: optional quoted hex color in `#rgb`, `#rrggbb`, or
|
|
57
181
|
`#rrggbbaa` form.
|
|
58
182
|
- `inlineStyles`: optional named inline text styles.
|
|
59
|
-
- `typography`: optional typography preset and overrides. See
|
|
60
|
-
[Typography](typography.md).
|
|
61
183
|
|
|
62
184
|
Example:
|
|
63
185
|
|
|
@@ -76,6 +198,10 @@ page file is always an override on top of the theme:
|
|
|
76
198
|
presentation:
|
|
77
199
|
typography:
|
|
78
200
|
overrides:
|
|
201
|
+
headings:
|
|
202
|
+
h2:
|
|
203
|
+
size: large
|
|
204
|
+
spacingAfter: 0.6em
|
|
79
205
|
body:
|
|
80
206
|
paragraphSpacing: 1em
|
|
81
207
|
```
|
|
@@ -96,12 +222,12 @@ If a page omits `presentation`, it uses the theme presentation unchanged. If a
|
|
|
96
222
|
section omits `presentation`, it uses the resolved page presentation.
|
|
97
223
|
|
|
98
224
|
Configured section backgrounds render as full-width horizontal bands while the
|
|
99
|
-
section content keeps the normal page and
|
|
225
|
+
section content keeps the normal page and image widths. The top spacing
|
|
100
226
|
before the first heading, the spacing between sections, and the spacing after
|
|
101
227
|
the final section are part of the section background.
|
|
102
228
|
|
|
103
229
|
Configured section text colors apply to section headings, Markdown text,
|
|
104
|
-
Markdown subheadings, and
|
|
230
|
+
Markdown subheadings, and image captions. Links keep the global accent color.
|
|
105
231
|
|
|
106
232
|
## Frame Colors
|
|
107
233
|
|
package/docs/typography.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# Typography
|
|
2
2
|
|
|
3
|
-
`norna` typography is configured
|
|
4
|
-
|
|
5
|
-
[`typography.fontFamily`](configuration.md#typographyfontfamily).
|
|
3
|
+
`norna` typography is configured in `site/theme.md` through a site-wide font,
|
|
4
|
+
presets, text rhythm, and optional overrides.
|
|
6
5
|
|
|
7
|
-
The normal place to choose a site-wide typography preset is
|
|
6
|
+
The normal place to choose a site-wide typography preset and rhythm is the
|
|
7
|
+
top-level `typography` block in `site/theme.md`.
|
|
8
8
|
Page and section files may override the theme when a page or section needs a
|
|
9
9
|
different presentation.
|
|
10
10
|
|
|
@@ -12,34 +12,40 @@ different presentation.
|
|
|
12
12
|
|
|
13
13
|
Available presets:
|
|
14
14
|
|
|
15
|
-
- `quiet-gallery`: the default for image-led
|
|
16
|
-
|
|
15
|
+
- `quiet-gallery`: the default for image-led sites. Text is restrained and
|
|
16
|
+
supports the images without dominating the page.
|
|
17
17
|
- `compact-gallery`: tighter typography for many sections, many images, or
|
|
18
18
|
short information blocks.
|
|
19
19
|
- `text-forward`: more generous body text for pages where longer text carries
|
|
20
20
|
more of the experience.
|
|
21
|
-
- `statement`:
|
|
22
|
-
programmatic statements. Use it sparingly, usually as a
|
|
21
|
+
- `statement`: tighter, more declarative line-height for introductions, first
|
|
22
|
+
sections, and short programmatic statements. Use it sparingly, usually as a
|
|
23
|
+
section override.
|
|
23
24
|
|
|
24
25
|
If theme typography is omitted, `quiet-gallery` is used.
|
|
25
26
|
|
|
26
|
-
Presets
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
Presets define alignment, size, and line height for `headings.h1` through
|
|
28
|
+
`headings.h4`, `body`, and `caption`. Built-in presets use `medium` as the
|
|
29
|
+
default size for every text role. Visual heading hierarchy comes from the
|
|
30
|
+
Markdown heading level, so `h1` is larger than `h2`, `h2` is larger than `h3`,
|
|
31
|
+
and so on.
|
|
30
32
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
`rhythm` defines text-near spacing for headings, paragraphs, and captions.
|
|
34
|
+
Available rhythms are `compact`, `normal`, and `airy`. Built-in rhythm values
|
|
35
|
+
use `em` so spacing follows the rendered text size.
|
|
36
|
+
|
|
37
|
+
Use this command to inspect the exact preset and rhythm values shipped with
|
|
38
|
+
the installed engine:
|
|
33
39
|
|
|
34
40
|
```sh
|
|
35
|
-
|
|
41
|
+
norna typography presets
|
|
36
42
|
```
|
|
37
43
|
|
|
38
44
|
Use this command to inspect the effective values for the selected site after
|
|
39
|
-
presets and overrides have been applied:
|
|
45
|
+
presets, rhythms, and overrides have been applied:
|
|
40
46
|
|
|
41
47
|
```sh
|
|
42
|
-
|
|
48
|
+
norna typography show
|
|
43
49
|
```
|
|
44
50
|
|
|
45
51
|
The output includes the site theme, every page route, and every section. Each
|
|
@@ -49,19 +55,34 @@ also marked with `inherited: true`.
|
|
|
49
55
|
## Configuration Shape
|
|
50
56
|
|
|
51
57
|
```yaml
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
+
typography:
|
|
59
|
+
fontFamily: "Arial, 'Helvetica Neue', Helvetica, sans-serif"
|
|
60
|
+
preset: quiet-gallery
|
|
61
|
+
rhythm: normal
|
|
62
|
+
overrides:
|
|
63
|
+
headings:
|
|
64
|
+
h2:
|
|
65
|
+
size: medium
|
|
66
|
+
spacingAfter: 0.55em
|
|
67
|
+
h3:
|
|
68
|
+
size: medium
|
|
69
|
+
spacingBefore: 1.5em
|
|
70
|
+
spacingAfter: 0.5em
|
|
71
|
+
body:
|
|
72
|
+
paragraphSpacing: 0.8em
|
|
73
|
+
caption:
|
|
74
|
+
spacingBefore: 0.5em
|
|
58
75
|
```
|
|
59
76
|
|
|
60
77
|
The typographic roles are:
|
|
61
78
|
|
|
62
|
-
- `
|
|
79
|
+
- `headings.h1`: reserved for page-level Markdown `#` headings if the content
|
|
80
|
+
model starts supporting them.
|
|
81
|
+
- `headings.h2`: Markdown `##` section headings.
|
|
82
|
+
- `headings.h3`: Markdown `###` subheadings inside section body text.
|
|
83
|
+
- `headings.h4`: Markdown `####` subheadings inside section body text.
|
|
63
84
|
- `body`: Markdown body text inside sections.
|
|
64
|
-
- `caption`:
|
|
85
|
+
- `caption`: image captions.
|
|
65
86
|
|
|
66
87
|
Allowed alignment values are `left`, `center`, and `right`. Alignment can be
|
|
67
88
|
responsive:
|
|
@@ -75,17 +96,28 @@ align:
|
|
|
75
96
|
Allowed size values are `small`, `medium`, `large`, and `xlarge`. `medium` is
|
|
76
97
|
the normal reading size. Use `small` for quieter supporting text, and use
|
|
77
98
|
`large` or `xlarge` only when a page or section needs stronger emphasis.
|
|
78
|
-
|
|
79
|
-
|
|
99
|
+
Each heading level uses its own scale, but follows the same principle:
|
|
100
|
+
`medium` is the normal size for that level. Norna may render the first section
|
|
101
|
+
heading as an HTML `h1` for document structure, but its visual typography still
|
|
102
|
+
follows the Markdown level the user wrote: `##` uses `headings.h2`.
|
|
80
103
|
|
|
81
|
-
`lineHeight` is a unitless number from `1` through `3`. `
|
|
82
|
-
`paragraphSpacing` are CSS lengths such as `0`, `0.8em`,
|
|
104
|
+
`lineHeight` is a unitless number from `1` through `3`. `spacingBefore`,
|
|
105
|
+
`spacingAfter`, and `paragraphSpacing` are CSS lengths such as `0`, `0.8em`,
|
|
106
|
+
`1rem`, or `12px`. Use `em` for spacing that should track the text size.
|
|
83
107
|
|
|
84
108
|
Supported override fields:
|
|
85
109
|
|
|
86
|
-
- `
|
|
110
|
+
- `headings.h1.align`, `headings.h1.size`, `headings.h1.lineHeight`,
|
|
111
|
+
`headings.h1.spacingBefore`, `headings.h1.spacingAfter`
|
|
112
|
+
- `headings.h2.align`, `headings.h2.size`, `headings.h2.lineHeight`,
|
|
113
|
+
`headings.h2.spacingBefore`, `headings.h2.spacingAfter`
|
|
114
|
+
- `headings.h3.align`, `headings.h3.size`, `headings.h3.lineHeight`,
|
|
115
|
+
`headings.h3.spacingBefore`, `headings.h3.spacingAfter`
|
|
116
|
+
- `headings.h4.align`, `headings.h4.size`, `headings.h4.lineHeight`,
|
|
117
|
+
`headings.h4.spacingBefore`, `headings.h4.spacingAfter`
|
|
87
118
|
- `body.align`, `body.size`, `body.lineHeight`, `body.paragraphSpacing`
|
|
88
|
-
- `caption.align`, `caption.size`, `caption.lineHeight`,
|
|
119
|
+
- `caption.align`, `caption.size`, `caption.lineHeight`,
|
|
120
|
+
`caption.spacingBefore`
|
|
89
121
|
|
|
90
122
|
## Inheritance
|
|
91
123
|
|
|
@@ -93,18 +125,21 @@ Theme typography is the site-wide base:
|
|
|
93
125
|
|
|
94
126
|
```yaml
|
|
95
127
|
# site/theme.md
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
128
|
+
typography:
|
|
129
|
+
fontFamily: "Arial, 'Helvetica Neue', Helvetica, sans-serif"
|
|
130
|
+
preset: quiet-gallery
|
|
131
|
+
rhythm: normal
|
|
99
132
|
```
|
|
100
133
|
|
|
101
|
-
A page-level `presentation.typography.preset` changes the typographic
|
|
102
|
-
that page. A section-level `sections[].presentation.typography.preset`
|
|
103
|
-
the typographic
|
|
134
|
+
A page-level `presentation.typography.preset` changes the typographic character
|
|
135
|
+
for that page. A section-level `sections[].presentation.typography.preset`
|
|
136
|
+
changes the typographic character for that section. `rhythm` is inherited
|
|
137
|
+
separately, so changing preset does not change spacing unless `rhythm` is also
|
|
138
|
+
set.
|
|
104
139
|
|
|
105
|
-
If a section sets `typography.
|
|
106
|
-
a section only sets `typography.overrides`, it keeps the resolved page
|
|
107
|
-
and changes only the specified values.
|
|
140
|
+
If a section sets `typography.rhythm`, that section changes text-near spacing.
|
|
141
|
+
If a section only sets `typography.overrides`, it keeps the resolved page
|
|
142
|
+
preset and rhythm and changes only the specified values.
|
|
108
143
|
|
|
109
144
|
Example section override:
|
|
110
145
|
|
|
@@ -120,6 +155,6 @@ sections:
|
|
|
120
155
|
```
|
|
121
156
|
|
|
122
157
|
Centered text uses narrower text widths. Left- or right-aligned heading and body
|
|
123
|
-
text use the calculated
|
|
124
|
-
|
|
125
|
-
|
|
158
|
+
text use the calculated image layout width so text edges line up with images
|
|
159
|
+
after layout gutters and image limits are applied. Captions are normally
|
|
160
|
+
centered.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hash": "18953098",
|
|
3
|
+
"configHash": "df6ba470",
|
|
4
|
+
"lockfileHash": "808f2e8e",
|
|
5
|
+
"browserHash": "54286dfc",
|
|
6
|
+
"optimized": {
|
|
7
|
+
"astro > aria-query": {
|
|
8
|
+
"src": "../../../../../node_modules/aria-query/lib/index.js",
|
|
9
|
+
"file": "astro_n_aria-query.js",
|
|
10
|
+
"fileHash": "dc2a8aee",
|
|
11
|
+
"needsInterop": true
|
|
12
|
+
},
|
|
13
|
+
"astro > axobject-query": {
|
|
14
|
+
"src": "../../../../../node_modules/axobject-query/lib/index.js",
|
|
15
|
+
"file": "astro_n_axobject-query.js",
|
|
16
|
+
"fileHash": "3acd67c7",
|
|
17
|
+
"needsInterop": true
|
|
18
|
+
},
|
|
19
|
+
"astro > html-escaper": {
|
|
20
|
+
"src": "../../../../../node_modules/html-escaper/esm/index.js",
|
|
21
|
+
"file": "astro_n_html-escaper.js",
|
|
22
|
+
"fileHash": "9967a3db",
|
|
23
|
+
"needsInterop": false
|
|
24
|
+
},
|
|
25
|
+
"astro/runtime/client/dev-toolbar/entrypoint.js": {
|
|
26
|
+
"src": "../../../../../node_modules/astro/dist/runtime/client/dev-toolbar/entrypoint.js",
|
|
27
|
+
"file": "astro_runtime_client_dev-toolbar_entrypoint__js.js",
|
|
28
|
+
"fileHash": "98dc9563",
|
|
29
|
+
"needsInterop": false
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"chunks": {
|
|
33
|
+
"astro-D_GIpJIE": {
|
|
34
|
+
"file": "astro-D_GIpJIE.js",
|
|
35
|
+
"isDynamicEntry": true
|
|
36
|
+
},
|
|
37
|
+
"audit-DM9Hkl5B": {
|
|
38
|
+
"file": "audit-DM9Hkl5B.js",
|
|
39
|
+
"isDynamicEntry": true
|
|
40
|
+
},
|
|
41
|
+
"highlight-DnZ1ULOL": {
|
|
42
|
+
"file": "highlight-DnZ1ULOL.js",
|
|
43
|
+
"isDynamicEntry": false
|
|
44
|
+
},
|
|
45
|
+
"icons-RyebKi45": {
|
|
46
|
+
"file": "icons-RyebKi45.js",
|
|
47
|
+
"isDynamicEntry": false
|
|
48
|
+
},
|
|
49
|
+
"rolldown-runtime-BvCyGRYZ": {
|
|
50
|
+
"file": "rolldown-runtime-BvCyGRYZ.js",
|
|
51
|
+
"isDynamicEntry": false
|
|
52
|
+
},
|
|
53
|
+
"settings-DaU-gNnK": {
|
|
54
|
+
"file": "settings-DaU-gNnK.js",
|
|
55
|
+
"isDynamicEntry": true
|
|
56
|
+
},
|
|
57
|
+
"toolbar-63PA619H": {
|
|
58
|
+
"file": "toolbar-63PA619H.js",
|
|
59
|
+
"isDynamicEntry": true
|
|
60
|
+
},
|
|
61
|
+
"ui-library--bkcNSYz": {
|
|
62
|
+
"file": "ui-library--bkcNSYz.js",
|
|
63
|
+
"isDynamicEntry": true
|
|
64
|
+
},
|
|
65
|
+
"window-jPkpKVcy": {
|
|
66
|
+
"file": "window-jPkpKVcy.js",
|
|
67
|
+
"isDynamicEntry": false
|
|
68
|
+
},
|
|
69
|
+
"xray-BXCHpEJP": {
|
|
70
|
+
"file": "xray-BXCHpEJP.js",
|
|
71
|
+
"isDynamicEntry": true
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|