@janga/norna 0.7.8 → 0.7.9
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/docs/README.md +4 -0
- package/docs/design/norna-diagram-design.md +156 -0
- package/examples/typography-presets/.astro/collections/site.schema.json +776 -0
- package/examples/typography-presets/.astro/collections/theme.schema.json +668 -0
- package/examples/typography-presets/.astro/content-assets.mjs +4 -0
- package/examples/typography-presets/.astro/content-modules.mjs +1 -0
- package/examples/typography-presets/.astro/content.d.ts +175 -0
- package/examples/typography-presets/.astro/data-store.json +1 -0
- package/examples/typography-presets/.astro/dev-local.json +8 -0
- package/examples/typography-presets/.astro/dev.json +15 -0
- package/examples/typography-presets/.astro/dev.log +24 -0
- package/examples/typography-presets/.astro/settings.json +5 -0
- package/examples/typography-presets/.astro/types.d.ts +2 -0
- package/examples/typography-presets/node_modules/.vite/deps/_metadata.json +80 -0
- package/examples/typography-presets/node_modules/.vite/deps/astro-D_GIpJIE.js +434 -0
- package/examples/typography-presets/node_modules/.vite/deps/astro-D_GIpJIE.js.map +1 -0
- package/examples/typography-presets/node_modules/.vite/deps/astro_n_aria-query.js +6390 -0
- package/examples/typography-presets/node_modules/.vite/deps/astro_n_aria-query.js.map +1 -0
- package/examples/typography-presets/node_modules/.vite/deps/astro_n_axobject-query.js +2702 -0
- package/examples/typography-presets/node_modules/.vite/deps/astro_n_axobject-query.js.map +1 -0
- package/examples/typography-presets/node_modules/.vite/deps/astro_n_html-escaper.js +65 -0
- package/examples/typography-presets/node_modules/.vite/deps/astro_n_html-escaper.js.map +1 -0
- package/examples/typography-presets/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js +455 -0
- package/examples/typography-presets/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js.map +1 -0
- package/examples/typography-presets/node_modules/.vite/deps/audit-DM9Hkl5B.js +1534 -0
- package/examples/typography-presets/node_modules/.vite/deps/audit-DM9Hkl5B.js.map +1 -0
- package/examples/typography-presets/node_modules/.vite/deps/embla-carousel.js +1389 -0
- package/examples/typography-presets/node_modules/.vite/deps/embla-carousel.js.map +1 -0
- package/examples/typography-presets/node_modules/.vite/deps/highlight-DnZ1ULOL.js +48 -0
- package/examples/typography-presets/node_modules/.vite/deps/highlight-DnZ1ULOL.js.map +1 -0
- package/examples/typography-presets/node_modules/.vite/deps/icons-RyebKi45.js +42 -0
- package/examples/typography-presets/node_modules/.vite/deps/icons-RyebKi45.js.map +1 -0
- package/examples/typography-presets/node_modules/.vite/deps/package.json +3 -0
- package/examples/typography-presets/node_modules/.vite/deps/rolldown-runtime-BvCyGRYZ.js +4 -0
- package/examples/typography-presets/node_modules/.vite/deps/settings-DaU-gNnK.js +190 -0
- package/examples/typography-presets/node_modules/.vite/deps/settings-DaU-gNnK.js.map +1 -0
- package/examples/typography-presets/node_modules/.vite/deps/toolbar-63PA619H.js +458 -0
- package/examples/typography-presets/node_modules/.vite/deps/toolbar-63PA619H.js.map +1 -0
- package/examples/typography-presets/node_modules/.vite/deps/ui-library--bkcNSYz.js +1016 -0
- package/examples/typography-presets/node_modules/.vite/deps/ui-library--bkcNSYz.js.map +1 -0
- package/examples/typography-presets/node_modules/.vite/deps/window-jPkpKVcy.js +32 -0
- package/examples/typography-presets/node_modules/.vite/deps/window-jPkpKVcy.js.map +1 -0
- package/examples/typography-presets/node_modules/.vite/deps/xray-BXCHpEJP.js +111 -0
- package/examples/typography-presets/node_modules/.vite/deps/xray-BXCHpEJP.js.map +1 -0
- package/examples/typography-presets/site/.norna/generated-images.json +290 -0
- package/examples/typography-presets/site/config.mjs +42 -0
- package/examples/typography-presets/site/content.md +134 -0
- package/examples/typography-presets/site/images/compact-gallery/black-schnauzer.jpg +0 -0
- package/examples/typography-presets/site/images/compact-gallery/retriever-portrait.jpg +0 -0
- package/examples/typography-presets/site/images/compact-gallery/schnauzer-portrait.jpg +0 -0
- package/examples/typography-presets/site/images/quiet-gallery/puppy-portrait.jpg +0 -0
- package/examples/typography-presets/site/images/quiet-gallery/shepherd-portrait.jpg +0 -0
- package/examples/typography-presets/site/images/quiet-gallery/white-puppy.jpg +0 -0
- package/examples/typography-presets/site/images/statement/black-pedigree.jpg +0 -0
- package/examples/typography-presets/site/images/statement/sheepdog-grass.jpg +0 -0
- package/examples/typography-presets/site/images/statement/sheepdog-wide.jpg +0 -0
- package/examples/typography-presets/site/images/text-forward/boxer-portrait.jpg +0 -0
- package/examples/typography-presets/site/images/text-forward/grass-puppy.jpg +0 -0
- package/examples/typography-presets/site/images/text-forward/grey-street-dog.jpg +0 -0
- package/examples/typography-presets/site/public/robots.txt +2 -0
- package/examples/typography-presets/site/theme.md +43 -0
- package/package.json +1 -1
- package/scripts/lib/site-content.mjs +76 -0
- package/scripts/lib/theme-config.mjs +2 -0
- package/scripts/sync-content-sections.mjs +3 -0
- package/scripts/test-content-check.mjs +30 -0
- package/scripts/test-package-check.mjs +17 -0
- package/src/components/SiteSection.astro +1 -1
- package/src/lib/sectionContent.ts +10 -2
- package/src/styles/global.css +1 -1
package/docs/README.md
CHANGED
|
@@ -32,6 +32,7 @@ For design and naming principles:
|
|
|
32
32
|
|
|
33
33
|
1. [Command Organization](design/command-organization.md)
|
|
34
34
|
2. [Site Examples Structure](design/site-examples-structure.md)
|
|
35
|
+
3. [Norna Diagram Design](design/norna-diagram-design.md)
|
|
35
36
|
|
|
36
37
|
For a quick reference:
|
|
37
38
|
|
|
@@ -58,6 +59,9 @@ Design documents are intentionally separate from the user reference:
|
|
|
58
59
|
- [Site Examples Structure](design/site-examples-structure.md) defines the
|
|
59
60
|
intended vocabulary for starters, examples, documentation sites, reference
|
|
60
61
|
docs, and fixtures.
|
|
62
|
+
- [Norna Diagram Design](design/norna-diagram-design.md) defines the first
|
|
63
|
+
experiment for technical and pedagogical diagrams without adding external
|
|
64
|
+
diagram tooling to the build pipeline.
|
|
61
65
|
|
|
62
66
|
Site repositories should document only their site-specific choices and link here
|
|
63
67
|
for generic `norna` behavior.
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
# Norna Diagram Design
|
|
2
|
+
|
|
3
|
+
This document defines a repository-local workflow for creating technical and
|
|
4
|
+
pedagogical diagrams for Norna.
|
|
5
|
+
|
|
6
|
+
It is intentionally not a vendored copy of any external skill, MCP server, or
|
|
7
|
+
diagram tool. The first experiment should use hand-authored SVG assets managed
|
|
8
|
+
by Norna's existing image model.
|
|
9
|
+
|
|
10
|
+
## Goal
|
|
11
|
+
|
|
12
|
+
Norna diagrams should help a new reader understand the site model faster than
|
|
13
|
+
text alone.
|
|
14
|
+
|
|
15
|
+
A diagram should explain one idea clearly, not show every related feature. If a
|
|
16
|
+
topic needs several ideas, split it into several diagrams.
|
|
17
|
+
|
|
18
|
+
## Current Scope
|
|
19
|
+
|
|
20
|
+
Use this workflow for diagrams in the Norna documentation site under `site/`.
|
|
21
|
+
|
|
22
|
+
Do not add diagram generation to the Norna build pipeline yet. Diagram creation
|
|
23
|
+
is an authoring workflow for now, not product functionality.
|
|
24
|
+
|
|
25
|
+
Do not require Excalidraw, MCP servers, browser plugins, or external layout
|
|
26
|
+
tools for the first experiment.
|
|
27
|
+
|
|
28
|
+
## Diagram Brief
|
|
29
|
+
|
|
30
|
+
Before creating or replacing a diagram, write a short brief:
|
|
31
|
+
|
|
32
|
+
```md
|
|
33
|
+
Purpose:
|
|
34
|
+
Audience:
|
|
35
|
+
Main message:
|
|
36
|
+
Concepts to show:
|
|
37
|
+
Concepts to avoid:
|
|
38
|
+
Norna features that must not be implied:
|
|
39
|
+
Suggested layout:
|
|
40
|
+
Mobile/readability requirement:
|
|
41
|
+
Where the SVG will live:
|
|
42
|
+
Markdown block and alt text:
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
The brief can live in the discussion, in a source-only Markdown comment near
|
|
46
|
+
the image, or in `docs/design/` when it is useful for future maintenance.
|
|
47
|
+
|
|
48
|
+
## Design Principles
|
|
49
|
+
|
|
50
|
+
- Show one primary flow or relationship.
|
|
51
|
+
- Prefer two to five main objects.
|
|
52
|
+
- Use short labels.
|
|
53
|
+
- Use one clear visual hierarchy.
|
|
54
|
+
- Keep arrows few and directional.
|
|
55
|
+
- Avoid diagrams where every object connects to every other object.
|
|
56
|
+
- Prefer multiple simple diagrams over one dense diagram.
|
|
57
|
+
- Make route order, URL slugs, section ids, image folders, source files, and
|
|
58
|
+
generated output visually distinct when those ideas matter.
|
|
59
|
+
- Do not show templates, components, custom rendering logic, route-level
|
|
60
|
+
technical configuration, or hosting integrations that Norna does not support.
|
|
61
|
+
- Do not show page layouts that Norna cannot actually render unless the diagram
|
|
62
|
+
is clearly abstract and not a product capability example.
|
|
63
|
+
|
|
64
|
+
## Norna-Specific Accuracy
|
|
65
|
+
|
|
66
|
+
Diagrams must match the current Norna model:
|
|
67
|
+
|
|
68
|
+
- A Norna site is described with site files, not arbitrary project structure.
|
|
69
|
+
- `content.md` is the homepage content file.
|
|
70
|
+
- Additional pages are route directories with `route-content.md`.
|
|
71
|
+
- Route folder prefixes control route presentation order.
|
|
72
|
+
- Route ids become default URL slugs.
|
|
73
|
+
- Images belong under the image root for the page or route, usually grouped by
|
|
74
|
+
section id.
|
|
75
|
+
- Markdown remains the primary writing format.
|
|
76
|
+
- Norna managed media blocks cover fixed site patterns such as image stacks,
|
|
77
|
+
carousels, and card lists.
|
|
78
|
+
- `theme.md` controls visual presentation.
|
|
79
|
+
- `config.mjs` controls technical site configuration.
|
|
80
|
+
- `dist/` is generated static output.
|
|
81
|
+
- GitHub Pages is the integrated publishing target today.
|
|
82
|
+
|
|
83
|
+
## SVG Requirements
|
|
84
|
+
|
|
85
|
+
Use hand-authored SVG for the first experiment.
|
|
86
|
+
|
|
87
|
+
SVG assets should:
|
|
88
|
+
|
|
89
|
+
- have a `viewBox`;
|
|
90
|
+
- include `<title>` and `<desc>`;
|
|
91
|
+
- use real text, not outlined text;
|
|
92
|
+
- avoid external fonts and external image files;
|
|
93
|
+
- remain readable at the size used on the site;
|
|
94
|
+
- work when scaled down on a phone;
|
|
95
|
+
- use restrained colors that fit the surrounding page;
|
|
96
|
+
- avoid decorative effects that compete with the explanation;
|
|
97
|
+
- keep text inside boxes with visible margins;
|
|
98
|
+
- be maintainable by editing the SVG source.
|
|
99
|
+
|
|
100
|
+
If a diagram is too wide for mobile, prefer splitting it into smaller diagrams
|
|
101
|
+
over relying on horizontal scrolling.
|
|
102
|
+
|
|
103
|
+
## Source Placement
|
|
104
|
+
|
|
105
|
+
Store diagram SVG files as normal Norna managed image assets:
|
|
106
|
+
|
|
107
|
+
```text
|
|
108
|
+
site/routes/<NNN-route-id>/images/<section-id>/<diagram-name>.svg
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Reference them with a Norna managed media block:
|
|
112
|
+
|
|
113
|
+
````md
|
|
114
|
+
<!-- norna-image-provenance:
|
|
115
|
+
image: diagram-name.svg
|
|
116
|
+
source: hand-authored
|
|
117
|
+
Short maintenance note explaining why the diagram exists.
|
|
118
|
+
-->
|
|
119
|
+
|
|
120
|
+
```norna-image-stack
|
|
121
|
+
- image: diagram-name.svg
|
|
122
|
+
alt: Concise explanation of what the diagram shows.
|
|
123
|
+
```
|
|
124
|
+
````
|
|
125
|
+
|
|
126
|
+
## Review Checklist
|
|
127
|
+
|
|
128
|
+
Before accepting a diagram:
|
|
129
|
+
|
|
130
|
+
- The main message is obvious without reading the surrounding section.
|
|
131
|
+
- The diagram does not imply unsupported Norna functionality.
|
|
132
|
+
- URL, route, section, image, theme, config, and output terminology is
|
|
133
|
+
consistent with documentation.
|
|
134
|
+
- Text fits inside boxes at desktop and mobile widths.
|
|
135
|
+
- Arrows clarify the relationship instead of adding noise.
|
|
136
|
+
- The SVG has title, description, and useful alt text in Markdown.
|
|
137
|
+
- `norna content:check` passes.
|
|
138
|
+
- A desktop and mobile visual check has been done when layout changed.
|
|
139
|
+
|
|
140
|
+
## Relationship To Excalidraw
|
|
141
|
+
|
|
142
|
+
Excalidraw can be useful as a sketching style or inspiration for box-and-arrow
|
|
143
|
+
clarity, but the first Norna experiment should not depend on Excalidraw files,
|
|
144
|
+
exports, or MCP tooling.
|
|
145
|
+
|
|
146
|
+
If future experiments show that diagram generation should be automated, evaluate
|
|
147
|
+
that as a separate authoring tool or CLI. Do not make it part of the site build
|
|
148
|
+
engine unless there is a clear product reason.
|
|
149
|
+
|
|
150
|
+
## Future Questions
|
|
151
|
+
|
|
152
|
+
- Should diagram briefs become tracked files next to SVG assets?
|
|
153
|
+
- Should Norna have a separate authoring helper for diagrams?
|
|
154
|
+
- Should generated diagrams store both a source format and exported SVG?
|
|
155
|
+
- Should a later tool create Excalidraw-compatible files, plain SVG, or both?
|
|
156
|
+
- What review rules are needed before diagrams are used in starters or examples?
|