@janga/norna 0.7.3 → 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.
Files changed (87) hide show
  1. package/docs/README.md +3 -3
  2. package/docs/commands.md +2 -2
  3. package/docs/configuration.md +2 -1
  4. package/docs/design/command-organization.md +4 -3
  5. package/docs/design/site-examples-structure.md +4 -3
  6. package/docs/getting-started.md +8 -7
  7. package/docs/theme.md +27 -43
  8. package/docs/typography.md +47 -31
  9. package/examples/dog-gallery/site/content.md +1 -1
  10. package/examples/dog-gallery/site/theme.md +12 -14
  11. package/package.json +1 -1
  12. package/scripts/check-config.mjs +1 -0
  13. package/scripts/lib/project-config.mjs +87 -32
  14. package/scripts/lib/site-content.mjs +4 -4
  15. package/scripts/lib/typography.mjs +79 -39
  16. package/scripts/show-typography.mjs +75 -11
  17. package/scripts/test-engine-commands.mjs +18 -0
  18. package/scripts/test-package-check.mjs +19 -3
  19. package/src/components/SiteSection.astro +82 -20
  20. package/src/content.config.ts +11 -9
  21. package/src/layouts/BaseLayout.astro +0 -6
  22. package/src/styles/global.css +44 -17
  23. package/starters/basic/README.md +4 -3
  24. package/starters/basic/site/theme.md +19 -46
  25. package/starters/project/README.md +7 -7
  26. package/starters/project/package-lock.json +4 -4
  27. package/starters/project/package.json +1 -1
  28. package/starters/project/site/content.md +86 -46
  29. package/starters/project/site/routes/guide/route-content.md +52 -25
  30. package/starters/project/site/theme.md +29 -1
  31. package/examples/dog-gallery/.astro/collections/site.schema.json +0 -802
  32. package/examples/dog-gallery/.astro/collections/theme.schema.json +0 -714
  33. package/examples/dog-gallery/.astro/content-assets.mjs +0 -4
  34. package/examples/dog-gallery/.astro/content-modules.mjs +0 -1
  35. package/examples/dog-gallery/.astro/content.d.ts +0 -175
  36. package/examples/dog-gallery/.astro/data-store.json +0 -1
  37. package/examples/dog-gallery/.astro/dev-local.json +0 -8
  38. package/examples/dog-gallery/.astro/dev.json +0 -13
  39. package/examples/dog-gallery/.astro/dev.log +0 -49
  40. package/examples/dog-gallery/.astro/settings.json +0 -5
  41. package/examples/dog-gallery/.astro/types.d.ts +0 -2
  42. package/examples/dog-gallery/dist/_astro/GalleryGrid.astro_astro_type_script_index_0_lang.B0kxDyGz.js +0 -1
  43. package/examples/dog-gallery/dist/_astro/SitePage.BFHZm5UG.css +0 -1
  44. package/examples/dog-gallery/dist/dog-care/index.html +0 -15
  45. package/examples/dog-gallery/dist/favicon.svg +0 -7
  46. package/examples/dog-gallery/dist/images/generated/black-dogs/black-puppy-meadow-7255e3d9-1080.webp +0 -0
  47. package/examples/dog-gallery/dist/images/generated/black-dogs/black-puppy-meadow-7255e3d9-1440.webp +0 -0
  48. package/examples/dog-gallery/dist/images/generated/black-dogs/black-puppy-meadow-7255e3d9-1536.webp +0 -0
  49. package/examples/dog-gallery/dist/images/generated/black-dogs/black-puppy-meadow-7255e3d9-480.webp +0 -0
  50. package/examples/dog-gallery/dist/images/generated/black-dogs/black-puppy-meadow-7255e3d9-768.webp +0 -0
  51. package/examples/dog-gallery/dist/images/generated/black-dogs/photo-of-a-black-dog-5cf614d2-480.webp +0 -0
  52. package/examples/dog-gallery/dist/images/generated/black-dogs/photo-of-a-black-dog-5cf614d2-768.webp +0 -0
  53. package/examples/dog-gallery/dist/images/generated/black-dogs/photo-of-a-black-dog-5cf614d2-960.webp +0 -0
  54. package/examples/dog-gallery/dist/images/generated/brown-dogs/brown-dog-50ef114e-1080.webp +0 -0
  55. package/examples/dog-gallery/dist/images/generated/brown-dogs/brown-dog-50ef114e-1440.webp +0 -0
  56. package/examples/dog-gallery/dist/images/generated/brown-dogs/brown-dog-50ef114e-1920.webp +0 -0
  57. package/examples/dog-gallery/dist/images/generated/brown-dogs/brown-dog-50ef114e-3939.webp +0 -0
  58. package/examples/dog-gallery/dist/images/generated/brown-dogs/brown-dog-50ef114e-480.webp +0 -0
  59. package/examples/dog-gallery/dist/images/generated/brown-dogs/brown-dog-50ef114e-768.webp +0 -0
  60. package/examples/dog-gallery/dist/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-1080.webp +0 -0
  61. package/examples/dog-gallery/dist/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-1440.webp +0 -0
  62. package/examples/dog-gallery/dist/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-1920.webp +0 -0
  63. package/examples/dog-gallery/dist/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-2400.webp +0 -0
  64. package/examples/dog-gallery/dist/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-480.webp +0 -0
  65. package/examples/dog-gallery/dist/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-768.webp +0 -0
  66. package/examples/dog-gallery/dist/images/generated/golden-dogs/golden-retriever-f797fd88-1080.webp +0 -0
  67. package/examples/dog-gallery/dist/images/generated/golden-dogs/golden-retriever-f797fd88-1440.webp +0 -0
  68. package/examples/dog-gallery/dist/images/generated/golden-dogs/golden-retriever-f797fd88-1600.webp +0 -0
  69. package/examples/dog-gallery/dist/images/generated/golden-dogs/golden-retriever-f797fd88-480.webp +0 -0
  70. package/examples/dog-gallery/dist/images/generated/golden-dogs/golden-retriever-f797fd88-768.webp +0 -0
  71. package/examples/dog-gallery/dist/images/generated/golden-dogs/toller-puppy-a2a8fbc0-1080.webp +0 -0
  72. package/examples/dog-gallery/dist/images/generated/golden-dogs/toller-puppy-a2a8fbc0-1440.webp +0 -0
  73. package/examples/dog-gallery/dist/images/generated/golden-dogs/toller-puppy-a2a8fbc0-1920.webp +0 -0
  74. package/examples/dog-gallery/dist/images/generated/golden-dogs/toller-puppy-a2a8fbc0-2576.webp +0 -0
  75. package/examples/dog-gallery/dist/images/generated/golden-dogs/toller-puppy-a2a8fbc0-480.webp +0 -0
  76. package/examples/dog-gallery/dist/images/generated/golden-dogs/toller-puppy-a2a8fbc0-768.webp +0 -0
  77. package/examples/dog-gallery/dist/images/generated/white-dogs/white-cute-dog-077a0689-1080.webp +0 -0
  78. package/examples/dog-gallery/dist/images/generated/white-dogs/white-cute-dog-077a0689-1277.webp +0 -0
  79. package/examples/dog-gallery/dist/images/generated/white-dogs/white-cute-dog-077a0689-480.webp +0 -0
  80. package/examples/dog-gallery/dist/images/generated/white-dogs/white-cute-dog-077a0689-768.webp +0 -0
  81. package/examples/dog-gallery/dist/images/generated/white-dogs/white-puppy-garden-d3ab2ca0-1080.webp +0 -0
  82. package/examples/dog-gallery/dist/images/generated/white-dogs/white-puppy-garden-d3ab2ca0-1440.webp +0 -0
  83. package/examples/dog-gallery/dist/images/generated/white-dogs/white-puppy-garden-d3ab2ca0-1536.webp +0 -0
  84. package/examples/dog-gallery/dist/images/generated/white-dogs/white-puppy-garden-d3ab2ca0-480.webp +0 -0
  85. package/examples/dog-gallery/dist/images/generated/white-dogs/white-puppy-garden-d3ab2ca0-768.webp +0 -0
  86. package/examples/dog-gallery/dist/index.html +0 -43
  87. package/examples/dog-gallery/dist/robots.txt +0 -2
@@ -1,88 +1,128 @@
1
1
  ---
2
- title: Project Name
3
- description: A concise project site for an open source tool, library, or CLI.
2
+ title: Your project
3
+ description: A compact project site starter for an open source developer tool.
4
4
  navigation:
5
5
  label: Home
6
6
  order: 0
7
7
  sections:
8
8
  - id: intro
9
- presentation:
10
- typography:
11
- preset: statement
12
9
  - id: links
13
10
  - id: install
14
11
  - id: example
15
- - id: features
16
- - id: when-to-use
12
+ - id: why
13
+ - id: good-fit
17
14
  - id: next
15
+ - id: license
18
16
  ---
19
17
 
20
- ## Project Name keeps project workflows predictable {#intro}
18
+ ## `<Your project> - <short value proposition>` {#intro}
21
19
 
22
- Project Name is a small open source tool for teams that want repeatable
23
- results without adding a large platform. It provides one focused command-line
24
- workflow and a compact JavaScript API for automation.
20
+ Describe the project in one short, concrete phrase. Focus on what it helps the
21
+ user accomplish rather than implementation details.
25
22
 
26
- ## Links {#links}
23
+ > Example: **Checkline - keep project checks simple.**
27
24
 
28
- - [GitHub repository](https://github.com/owner/project-name)
29
- - [Documentation](https://example.com/docs/)
30
- - [Package](https://www.npmjs.com/package/project-name)
31
- - [Issue tracker](https://github.com/owner/project-name/issues)
25
+ `<Your project>` is an open source `<tool / library / CLI>` for
26
+ `<main purpose>`.
27
+
28
+ Briefly explain what the project does and who it is for. Optionally mention one
29
+ or two qualities that distinguish it.
30
+
31
+ > Example: Checkline is a small open source developer tool for running project
32
+ > checks from the command line or automated workflows.
33
+
34
+ ## Project links {#links}
35
+
36
+ Link to the most useful project resources. Keep only the links that are
37
+ relevant.
38
+
39
+ - [GitHub repository](https://github.com/owner/project)
40
+ - [Guide / Documentation](/guide/)
41
+ - [Package](https://www.npmjs.com/package/project)
42
+ - [Issue tracker](https://github.com/owner/project/issues)
32
43
 
33
44
  ## Install {#install}
34
45
 
46
+ Show the simplest normal way to install the project. Add requirements or other
47
+ explanation only when needed.
48
+
35
49
  ```sh
36
- npm install project-name
50
+ <install command>
37
51
  ```
38
52
 
39
- Project Name supports current Node.js releases and works in local development,
40
- CI jobs, and small publishing workflows.
53
+ > Example:
54
+ >
55
+ > ```sh
56
+ > npm install checkline
57
+ > ```
41
58
 
42
59
  ## Example {#example}
43
60
 
61
+ Show the smallest realistic example that demonstrates the project's main value.
62
+ More advanced usage belongs in the guide.
63
+
44
64
  ```sh
45
- project-name check ./src --format summary
65
+ <main command or minimal usage example>
46
66
  ```
47
67
 
48
- ```js
49
- import { checkProject } from 'project-name';
68
+ > Example:
69
+ >
70
+ > ```sh
71
+ > npx checkline
72
+ > ```
50
73
 
51
- const report = await checkProject({
52
- input: './src',
53
- format: 'summary',
54
- });
74
+ If a programmatic API is central to the project, a similarly small API example
75
+ may also be shown.
55
76
 
56
- console.log(report.status);
57
- ```
77
+ ## Why `<Your project>`? {#why}
78
+
79
+ Give two or three concrete reasons someone might choose the project. Focus on
80
+ meaningful benefits rather than generic claims such as "fast", "powerful", or
81
+ "easy to use".
58
82
 
59
- Use the CLI for everyday checks and the API when the same behavior belongs
60
- inside a larger build script.
83
+ ### `<Primary benefit>`
61
84
 
62
- ## Features {#features}
85
+ Explain the benefit in one or two sentences.
63
86
 
64
- ### Simple inputs
87
+ > Example:
88
+ >
89
+ > ### Fits existing workflows
90
+ >
91
+ > Use Checkline from the command line, project scripts, or automated workflows
92
+ > without introducing a separate service.
65
93
 
66
- The project works with ordinary files and predictable commands.
94
+ ### `<Secondary benefit>`
67
95
 
68
- ### Scriptable results
96
+ Explain another important property or advantage.
69
97
 
70
- The CLI prints human-readable summaries while the API returns structured data
71
- for automation.
98
+ > Example:
99
+ >
100
+ > ### Configuration stays with the project
101
+ >
102
+ > Keep configuration alongside the rest of the source files so changes remain
103
+ > visible and versioned.
72
104
 
73
- ### Small surface area
105
+ Add a third benefit only when it adds useful information.
74
106
 
75
- There are only a few concepts to learn, so the project stays easy to adopt and
76
- easy to replace.
107
+ ## Good fit for {#good-fit}
77
108
 
78
- ## When to use it {#when-to-use}
109
+ Help visitors decide whether the project matches their needs. Describe a few
110
+ realistic situations or workflows rather than repeating the feature list.
79
111
 
80
- - Validate repository conventions before a pull request is reviewed.
81
- - Reuse the same checks locally and in CI.
82
- - Add a focused command to an existing project without introducing a service.
83
- - Expose a small API for downstream tooling.
112
+ > Example: Checkline is a good fit for projects that want lightweight checks
113
+ > that can run locally and in automated workflows without adding separate
114
+ > infrastructure.
84
115
 
85
116
  ## Next steps {#next}
86
117
 
87
- Read the [guide](/guide/) for configuration options and a longer example, or
88
- open the repository to inspect the implementation.
118
+ Give the visitor a clear path forward.
119
+
120
+ > Example: Read the [guide](/guide/) to get started, or visit the GitHub
121
+ > repository for source code, issues, and contribution information.
122
+
123
+ ## License {#license}
124
+
125
+ State the project's license and link to the license file when one exists.
126
+
127
+ > Example: Checkline is released under the MIT License. See
128
+ > [LICENSE](https://github.com/owner/checkline/blob/main/LICENSE) for details.
@@ -1,58 +1,85 @@
1
1
  ---
2
2
  title: Guide
3
- description: Learn the basic Project Name workflow.
3
+ description: Adapt this compact guide for normal project use.
4
4
  navigation:
5
5
  label: Guide
6
6
  order: 10
7
7
  sections:
8
8
  - id: quickstart
9
9
  - id: configuration
10
- - id: api
10
+ - id: usage
11
+ - id: topic
11
12
  ---
12
13
 
13
14
  ## Quickstart {#quickstart}
14
15
 
15
- Install the package and run the default check against a source directory:
16
+ Show the shortest path from installation to a useful result.
16
17
 
17
18
  ```sh
18
- npm install project-name
19
- npx project-name check ./src
19
+ <install command>
20
+ <first useful command>
20
21
  ```
21
22
 
22
- The command exits with a non-zero status when it finds an issue, so it can run
23
- unchanged in local scripts and CI jobs.
23
+ Briefly explain what happens and what the user should expect.
24
+
25
+ > Example:
26
+ >
27
+ > ```sh
28
+ > npm install checkline
29
+ > npx checkline
30
+ > ```
31
+ >
32
+ > The command runs the default project check and prints a short result in the
33
+ > terminal.
24
34
 
25
35
  ## Configuration {#configuration}
26
36
 
27
- Project Name looks for a project config file at the repository root:
37
+ Include this section only if configuration is relevant. Explain when
38
+ configuration is needed and show the smallest realistic example.
28
39
 
29
40
  ```js
30
41
  export default {
31
- include: ['src', 'scripts'],
32
- reporter: 'summary',
42
+ // project-specific options
33
43
  };
34
44
  ```
35
45
 
36
- Keep configuration small and explicit. Defaults should be good enough for a new
37
- project, while advanced projects can opt into stricter behavior one setting at a
38
- time.
46
+ If the project works well without configuration, say so.
39
47
 
40
- ## API {#api}
48
+ > Example: Checkline can run without configuration. Add a config file only when
49
+ > the default paths or command behavior need to change.
41
50
 
42
- Use the API when checks need to be part of another tool:
51
+ ## Using `<Your project>` {#usage}
43
52
 
44
- ```js
45
- import { checkProject } from 'project-name';
53
+ Show one slightly more complete example of the normal workflow. The purpose is
54
+ to demonstrate typical use, not every available command or option.
46
55
 
47
- const report = await checkProject({
48
- input: './src',
49
- reporter: 'json',
50
- });
56
+ > Example: A project might keep the command in `package.json`:
51
57
 
52
- if (!report.ok) {
53
- process.exitCode = 1;
58
+ ```json
59
+ {
60
+ "scripts": {
61
+ "check": "checkline"
62
+ }
54
63
  }
55
64
  ```
56
65
 
57
- The API returns structured results so callers can decide whether to print a
58
- summary, write a report file, or fail a build.
66
+ ```sh
67
+ npm run check
68
+ ```
69
+
70
+ ## `<API / Commands / Integration / Deployment>` {#topic}
71
+
72
+ Choose the topic that best fits the project. For a library this may be `API`;
73
+ for a CLI it may be `Commands`; other projects may need `Integration`,
74
+ `Deployment`, or something else.
75
+
76
+ For example, if a JavaScript API is relevant:
77
+
78
+ ```js
79
+ import { check } from 'checkline';
80
+
81
+ const result = await check();
82
+ ```
83
+
84
+ Keep the example deliberately small. Detailed reference documentation can live
85
+ elsewhere as the project grows.
@@ -2,8 +2,36 @@
2
2
  # Site-wide visual defaults. Remove a value to use the engine default.
3
3
  navigation:
4
4
  brand: Project Name
5
+ layout:
6
+ density: compact
7
+ pageWidth: 1120px
8
+ gutter:
9
+ desktop: clamp(1.25rem, 4vw, 3rem)
10
+ mobile: 1rem
11
+ spacing:
12
+ firstSectionTop:
13
+ desktop: clamp(0.9rem, 1.6vw, 1.5rem)
14
+ mobile: 0.9rem
15
+ sectionGap:
16
+ desktop: clamp(0.8rem, 1.6vw, 1.5rem)
17
+ mobile: 1rem
18
+ finalSectionBottom:
19
+ desktop: clamp(1rem, 2vw, 1.75rem)
20
+ mobile: 1rem
21
+ gallery:
22
+ width: 840px
23
+ maxAvailableWidthPercent:
24
+ desktop: 100
25
+ mobile: 100
26
+ maxAvailableHeightPercent:
27
+ desktop: 70
28
+ mobile: 62
29
+ typography:
30
+ fontFamily: "Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif"
31
+ preset: text-forward
32
+ rhythm: compact
5
33
  presentation:
6
- backgroundColor: "#101314"
34
+ backgroundColor: "#001314"
7
35
  textColor: "#f6f1e8"
8
36
  inlineStyles:
9
37
  accent: