@heroiclands/package-build 23.1.0 → 23.2.0
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/CHANGELOG.md +71 -0
- package/bin/content-commands.mjs +68 -149
- package/bin/package-build.mjs +56 -10
- package/ci/check-banners.mjs +42 -6
- package/ci/confirm-npm-version.mjs +135 -0
- package/ci/content-format-reference.mjs +14 -5
- package/config.mjs +1 -0
- package/container.mjs +185 -4
- package/content-config.mjs +333 -210
- package/deploy.mjs +116 -10
- package/docs/api.md +238 -246
- package/docs/authoring/assets.md +11 -5
- package/docs/authoring/frontmatter.md +1 -1
- package/docs/authoring/links-and-markup.md +87 -0
- package/docs/commands.md +138 -99
- package/docs/configuration.md +277 -125
- package/docs/content-format.md +2 -0
- package/docs/diagnostics.md +48 -13
- package/docs/guides/book.md +341 -21
- package/docs/guides/e2e.md +13 -2
- package/docs/guides/icons.md +14 -4
- package/docs/guides/module-project.md +18 -8
- package/docs/guides/release-and-deploy.md +54 -6
- package/docs/guides/site.md +5 -2
- package/docs/project-setup.md +30 -10
- package/docs/reference/format-details.md +373 -170
- package/docs/reference/note-types.md +128 -109
- package/docs/reference/theme-pages.md +31 -6
- package/e2e.mjs +140 -28
- package/engine/actor-compiler.mjs +22 -31
- package/engine/address-charset.mjs +4 -17
- package/engine/address-fields.mjs +1 -1
- package/engine/address-render.mjs +12 -1
- package/engine/address-values.mjs +6 -0
- package/engine/address.mjs +46 -33
- package/engine/art-fields.mjs +30 -5
- package/engine/art-slots.mjs +10 -1
- package/engine/asset-bindings.mjs +12 -1
- package/engine/base-compiler.mjs +34 -65
- package/engine/being-age.mjs +2 -7
- package/engine/being-measurements.mjs +12 -1
- package/engine/calendar-artifacts.mjs +6 -0
- package/engine/calendar-choice.mjs +12 -1
- package/engine/calendar-format.mjs +12 -1
- package/engine/calendar-human.mjs +12 -1
- package/engine/compile-corpus.mjs +3 -1
- package/engine/content-address.mjs +9 -12
- package/engine/content-alerts.mjs +13 -1
- package/engine/content-blocks.mjs +14 -3
- package/engine/content-embeds.mjs +11 -3
- package/engine/content-figures.mjs +9 -0
- package/engine/content-footnotes.mjs +12 -1
- package/engine/content-format-check.mjs +11 -262
- package/engine/content-format.yaml +5 -2
- package/engine/content-images.mjs +3 -0
- package/engine/content-index.mjs +443 -20
- package/engine/content-links.mjs +29 -35
- package/engine/content-lint.mjs +2 -3
- package/engine/content-poetry.mjs +12 -1
- package/engine/content-slug.mjs +2 -14
- package/engine/content-spans.mjs +13 -1
- package/engine/content-tables.mjs +12 -1
- package/engine/culture-choice.mjs +210 -13
- package/engine/data-keys.mjs +19 -16
- package/engine/date-conversion.mjs +12 -1
- package/engine/declaration-check.mjs +9 -0
- package/engine/derived-fields.mjs +6 -7
- package/engine/diagnostics.mjs +34 -4
- package/engine/docs-checks.mjs +9 -0
- package/engine/document-subtypes.mjs +47 -34
- package/engine/event-views.mjs +139 -14
- package/engine/exported-scene.mjs +92 -28
- package/engine/extension-attributes.mjs +12 -1
- package/engine/field-spec.mjs +11 -102
- package/engine/folder-notes.mjs +0 -64
- package/engine/foreign-catalog.mjs +2 -1
- package/engine/format-generated.mjs +9 -0
- package/engine/foundry-entries.mjs +10 -28
- package/engine/frontmatter-lint.mjs +83 -392
- package/engine/frontmatter.mjs +20 -70
- package/engine/generate.mjs +10 -15
- package/engine/heading-attributes.mjs +12 -1
- package/engine/helpers.mjs +41 -102
- package/engine/holdings.mjs +1 -1
- package/engine/homepage.mjs +3 -10
- package/engine/ids.mjs +1 -167
- package/engine/index-records.mjs +6 -4
- package/engine/index.mjs +0 -3
- package/engine/infobox-render.mjs +15 -3
- package/engine/infobox.mjs +13 -14
- package/engine/item-compiler.mjs +4 -10
- package/engine/item-docs.mjs +3 -5
- package/engine/item-registry.mjs +2 -10
- package/engine/journals.mjs +1 -5
- package/engine/literature-notes.mjs +4 -12
- package/engine/macros.mjs +1 -2
- package/engine/map-graphviz.mjs +12 -1
- package/engine/markdown-expressions.mjs +12 -1
- package/engine/markdownlint-run.mjs +567 -0
- package/engine/metadata-index.mjs +42 -12
- package/engine/note-addresses.mjs +143 -35
- package/engine/note-claims.mjs +14 -28
- package/engine/note-dates.mjs +3 -3
- package/engine/note-frontmatter.mjs +6 -0
- package/engine/note-ids.mjs +8 -14
- package/engine/note-package.mjs +8 -25
- package/engine/note-state.mjs +1 -3
- package/engine/note-vocabulary.mjs +148 -84
- package/engine/number-words.mjs +12 -1
- package/engine/pack-config.mjs +15 -25
- package/engine/pack-router.mjs +10 -16
- package/engine/pathnames.mjs +8 -22
- package/engine/pdf-build.mjs +773 -121
- package/engine/pdf-coverage.mjs +188 -0
- package/engine/pdf-index.mjs +54 -7
- package/engine/pdf-pages.mjs +247 -0
- package/engine/pdf-render.mjs +114 -4
- package/engine/pdf-toc.mjs +29 -32
- package/engine/project-init.mjs +46 -6
- package/engine/prose-config.mjs +1 -1
- package/engine/prose-lint.mjs +52 -88
- package/engine/readability-lint.mjs +9 -0
- package/engine/reckoning-markers.mjs +12 -1
- package/engine/reference-targets.mjs +7 -0
- package/engine/runtime-only-fields.mjs +5 -8
- package/engine/scene-levels.mjs +2 -2
- package/engine/scenes.mjs +1 -1
- package/engine/shortcode-references.mjs +7 -0
- package/engine/site-build.mjs +30 -16
- package/engine/site-index.mjs +10 -16
- package/engine/site-preview.mjs +6 -0
- package/engine/site-root.mjs +8 -1
- package/engine/social-tie-terms.mjs +12 -1
- package/engine/social-ties.mjs +3 -0
- package/engine/sql-tables.mjs +56 -20
- package/engine/standing-terms.mjs +11 -1
- package/engine/standings.mjs +11 -27
- package/engine/system-block.mjs +39 -141
- package/engine/system-vocabulary.mjs +6 -0
- package/engine/walk-files.mjs +69 -0
- package/engine/web-wikilinks.mjs +23 -3
- package/engine/wikilink-syntax.mjs +32 -21
- package/engine/wikilinks.mjs +27 -16
- package/engine/yaml-lint.mjs +7 -4
- package/githooks/attribution.mjs +8 -0
- package/githooks/commit-message.mjs +9 -0
- package/hm3/actors.mjs +9 -48
- package/hm3/default-item-art.mjs +9 -9
- package/hm3/item-fields.mjs +2 -9
- package/hm3/template-priority.mjs +6 -7
- package/hugo-theme/data/banner-kinds.yaml +78 -0
- package/hugo-theme/data/banners.yaml +2 -3
- package/hugo-theme/layouts/404.html +3 -3
- package/hugo-theme/layouts/partials/banner-url.html +31 -7
- package/hugo-theme/layouts/partials/hero-banner.html +13 -14
- package/hugo-theme/layouts/partials/related.html +1 -1
- package/hugo-theme/layouts/partials/warn-missing-banner.html +1 -1
- package/hugo-theme/static/css/style.css +1 -1
- package/manifest.mjs +11 -4
- package/markdownlint-config.mjs +1 -1
- package/package.json +6 -3
- package/release.mjs +83 -18
- package/sohl/actors.mjs +16 -27
- package/sohl/default-item-art.mjs +3 -3
- package/sohl/document-subtypes.mjs +1 -16
- package/sohl/infobox.mjs +2 -3
- package/sohl/item-builders.mjs +5 -8
- package/sohl/item-fields.mjs +5 -35
- package/sohl/items.mjs +0 -4
- package/sohl/kb-passes.mjs +3 -3
- package/types/container.d.mts +116 -5
- package/types/content-config.d.mts +83 -35
- package/types/deploy.d.mts +42 -6
- package/types/e2e.d.mts +35 -3
- package/types/engine/address-charset.d.mts +4 -17
- package/types/engine/address.d.mts +17 -8
- package/types/engine/art-fields.d.mts +7 -4
- package/types/engine/art-slots.d.mts +6 -0
- package/types/engine/base-compiler.d.mts +15 -17
- package/types/engine/content-address.d.mts +9 -12
- package/types/engine/content-embeds.d.mts +4 -2
- package/types/engine/content-format-check.d.mts +0 -64
- package/types/engine/content-index.d.mts +82 -3
- package/types/engine/content-links.d.mts +2 -4
- package/types/engine/culture-choice.d.mts +51 -8
- package/types/engine/data-keys.d.mts +2 -2
- package/types/engine/derived-fields.d.mts +1 -2
- package/types/engine/diagnostics.d.mts +27 -4
- package/types/engine/document-subtypes.d.mts +12 -31
- package/types/engine/event-views.d.mts +14 -2
- package/types/engine/exported-scene.d.mts +3 -2
- package/types/engine/field-spec.d.mts +13 -122
- package/types/engine/folder-notes.d.mts +0 -39
- package/types/engine/foreign-catalog.d.mts +2 -1
- package/types/engine/foundry-entries.d.mts +4 -5
- package/types/engine/frontmatter-lint.d.mts +2 -2
- package/types/engine/frontmatter.d.mts +19 -45
- package/types/engine/generate.d.mts +1 -1
- package/types/engine/helpers.d.mts +25 -42
- package/types/engine/homepage.d.mts +3 -10
- package/types/engine/ids.d.mts +0 -114
- package/types/engine/index-records.d.mts +6 -4
- package/types/engine/index.d.mts +0 -1
- package/types/engine/infobox-render.d.mts +7 -1
- package/types/engine/infobox.d.mts +3 -2
- package/types/engine/item-docs.d.mts +1 -1
- package/types/engine/item-registry.d.mts +2 -4
- package/types/engine/literature-notes.d.mts +1 -1
- package/types/engine/markdownlint-run.d.mts +40 -0
- package/types/engine/metadata-index.d.mts +9 -1
- package/types/engine/note-addresses.d.mts +27 -2
- package/types/engine/note-claims.d.mts +3 -5
- package/types/engine/note-ids.d.mts +2 -4
- package/types/engine/note-package.d.mts +1 -1
- package/types/engine/note-state.d.mts +1 -3
- package/types/engine/note-vocabulary.d.mts +28 -21
- package/types/engine/pack-config.d.mts +2 -6
- package/types/engine/pack-router.d.mts +4 -4
- package/types/engine/pathnames.d.mts +3 -3
- package/types/engine/pdf-build.d.mts +98 -12
- package/types/engine/pdf-coverage.d.mts +60 -0
- package/types/engine/pdf-index.d.mts +34 -5
- package/types/engine/pdf-pages.d.mts +143 -0
- package/types/engine/pdf-render.d.mts +45 -1
- package/types/engine/pdf-toc.d.mts +12 -14
- package/types/engine/prose-config.d.mts +1 -1
- package/types/engine/prose-lint.d.mts +11 -10
- package/types/engine/runtime-only-fields.d.mts +2 -2
- package/types/engine/site-build.d.mts +9 -5
- package/types/engine/site-index.d.mts +4 -5
- package/types/engine/site-root.d.mts +1 -1
- package/types/engine/sql-tables.d.mts +31 -2
- package/types/engine/standing-terms.d.mts +2 -1
- package/types/engine/standings.d.mts +7 -9
- package/types/engine/system-block.d.mts +10 -44
- package/types/engine/walk-files.d.mts +15 -0
- package/types/engine/wikilink-syntax.d.mts +18 -19
- package/types/engine/yaml-lint.d.mts +5 -4
- package/types/hm3/actors.d.mts +1 -2
- package/types/hm3/item-fields.d.mts +2 -4
- package/types/hm3/template-priority.d.mts +6 -7
- package/types/manifest.d.mts +3 -2
- package/types/release.d.mts +12 -7
- package/types/sohl/actors.d.mts +2 -1
- package/types/sohl/document-subtypes.d.mts +1 -2
- package/types/sohl/item-fields.d.mts +3 -7
- package/engine/retired-fields.mjs +0 -631
- package/types/engine/retired-fields.d.mts +0 -354
|
@@ -30,16 +30,15 @@ These are the only keys a note writes at its top level, in the order the formatt
|
|
|
30
30
|
|
|
31
31
|
## Shared `data` fields
|
|
32
32
|
|
|
33
|
-
These fields are accepted by every note type. A field's value can still be irrelevant to a particular output; the build reports that where it can.
|
|
33
|
+
These fields are accepted by every note type. A field's value can still be irrelevant to a particular output; the build reports that where it can. `data.icon` is not shared: it is listed under each type whose document carries art.
|
|
34
34
|
|
|
35
|
-
| Field | Shape | Meaning
|
|
36
|
-
| ----------------- | ----------------------------------------------- |
|
|
37
|
-
| `data.id` | string | A fixed document identity when the derived identity is unsuitable.
|
|
38
|
-
| `data.pack` | string | The shared compendium route, with a system block overriding it.
|
|
39
|
-
| `data.packFolder` | an Address, or a map of Addresses keyed by pack | The shared compendium folder Address, with a system block overriding it.
|
|
40
|
-
| `data.harnworld` | `{ realm?, ritual? }` | HârnWorld source details shared by every system — `realm` and `ritual`.
|
|
41
|
-
| `data.
|
|
42
|
-
| `data.banner` | an Address | The page's hero image — an `image` address, cut to 1792×768. Reaches no compiled document. |
|
|
35
|
+
| Field | Shape | Meaning |
|
|
36
|
+
| ----------------- | ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
|
|
37
|
+
| `data.id` | string | A fixed document identity when the derived identity is unsuitable. |
|
|
38
|
+
| `data.pack` | string | The shared compendium route, with a system block overriding it. |
|
|
39
|
+
| `data.packFolder` | an Address, or a map of Addresses keyed by pack | The shared compendium folder Address, with a system block overriding it. |
|
|
40
|
+
| `data.harnworld` | `{ realm?, ritual? }` | HârnWorld source details shared by every system — `realm` and `ritual`. |
|
|
41
|
+
| `data.banner` | an Address | The page's hero image — an `image` address, cut to 1792×768, or `none` to decline a hero image. Reaches no compiled document. |
|
|
43
42
|
|
|
44
43
|
**Inner keys** — a key a field's value does not declare is an error at its own line and column.
|
|
45
44
|
|
|
@@ -54,40 +53,41 @@ These fields are accepted by every note type. A field's value can still be irrel
|
|
|
54
53
|
|
|
55
54
|
**Subtypes:** `npc`, `character`, `creature`.
|
|
56
55
|
|
|
57
|
-
| Field | Shape
|
|
58
|
-
| -------------------------------- |
|
|
59
|
-
| `data.
|
|
60
|
-
| `data.
|
|
61
|
-
| `data.
|
|
62
|
-
| `data.
|
|
63
|
-
| `data.
|
|
64
|
-
| `data.lore` | list of Addresses
|
|
65
|
-
| `data.culture` | an Address
|
|
66
|
-
| `data.homes` | list of Addresses
|
|
67
|
-
| `data.affiliations` | a standing map keyed by Address
|
|
68
|
-
| `data.socialTies` | a map keyed by Address
|
|
69
|
-
| `data.gender` | string
|
|
70
|
-
| `data.species` | an Address
|
|
71
|
-
| `data.born` | string
|
|
72
|
-
| `data.calendar` | an Address
|
|
73
|
-
| `data.died` | string
|
|
74
|
-
| `data.age` | string
|
|
75
|
-
| `data.ageYears` | number
|
|
76
|
-
| `data.height` | metres or feet and inches
|
|
77
|
-
| `data.weight` | kilograms or pounds
|
|
78
|
-
| `data.frame` | string
|
|
79
|
-
| `data.appearance.eye_color` | string
|
|
80
|
-
| `data.appearance.hair_color` | string
|
|
81
|
-
| `data.appearance.skin_color` | string
|
|
82
|
-
| `data.appearance.complexion` | string or list
|
|
83
|
-
| `data.appearance.extra_features` | list of strings
|
|
56
|
+
| Field | Shape | Meaning |
|
|
57
|
+
| -------------------------------- | ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
58
|
+
| `data.icon` | an Address | The document's profile art — an `icon` address, resolved into `img`. |
|
|
59
|
+
| `data.tokenIcon` | an Address | What a token on the canvas wears — an `icon` address; unset, it follows `icon`. |
|
|
60
|
+
| `data.templatePriority` | number | Template priority; unset means the note is not a template. |
|
|
61
|
+
| `data.archetypes` | list of strings | Archetypal behaviours the being fits. |
|
|
62
|
+
| `data.occupation` | string | What the being does for a living. |
|
|
63
|
+
| `data.lore` | list of Addresses | Lore concerning this being — the law it lives under, the customs it is subject to, the traditions it was raised in. |
|
|
64
|
+
| `data.culture` | an Address | The being's primary culture, as a culture lore note. |
|
|
65
|
+
| `data.homes` | list of Addresses | Places the being calls home. |
|
|
66
|
+
| `data.affiliations` | a standing map keyed by Address | Bodies the being belongs to, keyed by Address, each entry holding the standing it holds there — `rank`, required, a level on that body's own ladder, and `office`, optional, a post that body names. |
|
|
67
|
+
| `data.socialTies` | a map keyed by Address | Defining ties directed from this being to others: `patron` (Supports the subject from greater power, wealth, or status.); `friend` (Supports the subject out of goodwill.); `dependent` (Relies on the subject's support or protection.); `acquaintance` (Knows the subject without a strong disposition.); `rival` (Opposes the subject without implacable hostility.); `nemesis` (Opposes the subject personally and implacably.) |
|
|
68
|
+
| `data.gender` | string | One of `male`, `female`, `nonbinary`, `none` or `other`. `none` says the being has no gender; an absent field says its gender is unrecorded. |
|
|
69
|
+
| `data.species` | an Address | The being's species, as a lore note. |
|
|
70
|
+
| `data.born` | string | When the being was born — a date, or `unknown` where the birth is unrecorded. Absent, the being was never born. |
|
|
71
|
+
| `data.calendar` | an Address | Calendar that displays this being's dates. |
|
|
72
|
+
| `data.died` | string | When the being died — a date, or `unknown` where the death is unrecorded. Absent, the being is alive. |
|
|
73
|
+
| `data.age` | string | Age in years, stated only to override what `born` says — `34`, or `~34` for an estimate. Unstated beside a dated `born` it is computed; unstated beside an unknown or absent `born` the age is unknown. |
|
|
74
|
+
| `data.ageYears` | number | Written by the compiler beside an `age` estimate — the `~` stripped, the magnitude alone. A note never authors this. |
|
|
75
|
+
| `data.height` | metres or feet and inches | Height in metres or feet and inches. |
|
|
76
|
+
| `data.weight` | kilograms or pounds | Body weight in kilograms or pounds. |
|
|
77
|
+
| `data.frame` | string | Relative frame — one of `scant`, `light`, `medium`, `heavy` or `massive`. |
|
|
78
|
+
| `data.appearance.eye_color` | string | Eye colour. |
|
|
79
|
+
| `data.appearance.hair_color` | string | Hair colour. |
|
|
80
|
+
| `data.appearance.skin_color` | string | Skin colour. |
|
|
81
|
+
| `data.appearance.complexion` | string or list | The skin's condition — one value, or several, because a face carries more than one at once. A single value means a list of one. |
|
|
82
|
+
| `data.appearance.extra_features` | list of strings | Anything else a stranger would notice. |
|
|
84
83
|
|
|
85
84
|
**Inner keys** — a key a field's value does not declare is an error at its own line and column.
|
|
86
85
|
|
|
87
|
-
| Key
|
|
88
|
-
|
|
|
89
|
-
| `data.affiliations.<Address>.rank`
|
|
90
|
-
| `data.affiliations.<Address>.office`
|
|
86
|
+
| Key | Shape | Required | Meaning |
|
|
87
|
+
| --------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------- |
|
|
88
|
+
| `data.affiliations.<Address>.rank` | the level on that body's own ladder, as a whole number — an ordinary member is `1`, and `0` is the rung for someone cast out | yes | The level on the body's own `governance.ranks` ladder. |
|
|
89
|
+
| `data.affiliations.<Address>.office` | a post from that body's `governance.offices` | no | A post the body names in its `governance.offices`, where one is held. |
|
|
90
|
+
| `data.affiliations.<Address>.societies` | a list of society names | no | The societies the membership is held in, by name. SoHL carries one, the first, as the affiliation item's `system.society`. |
|
|
91
91
|
|
|
92
92
|
**System mappings**
|
|
93
93
|
|
|
@@ -110,6 +110,7 @@ These fields are accepted by every note type. A field's value can still be irrel
|
|
|
110
110
|
|
|
111
111
|
| Field | Shape | Meaning |
|
|
112
112
|
| ----------------------- | ---------- | ------------------------------------------------------------------------------- |
|
|
113
|
+
| `data.icon` | an Address | The document's profile art — an `icon` address, resolved into `img`. |
|
|
113
114
|
| `data.tokenIcon` | an Address | What a token on the canvas wears — an `icon` address; unset, it follows `icon`. |
|
|
114
115
|
| `data.templatePriority` | number | Template priority; unset means the note is not a template. |
|
|
115
116
|
|
|
@@ -119,6 +120,7 @@ These fields are accepted by every note type. A field's value can still be irrel
|
|
|
119
120
|
|
|
120
121
|
| Field | Shape | Meaning |
|
|
121
122
|
| ------------------------- | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
|
|
123
|
+
| `data.icon` | an Address | The document's profile art — an `icon` address, resolved into `img`. |
|
|
122
124
|
| `data.templatePriority` | number | Template priority; unset means the note is not a template. |
|
|
123
125
|
| `data.events` | list of event entries | What happened to or at this subject — each entry one dated, attributed event: a founding, a war, a fall, or an occasion that recurs. |
|
|
124
126
|
| `data.demonym` | string | What one member is called — a Vylarian. |
|
|
@@ -133,6 +135,7 @@ These fields are accepted by every note type. A field's value can still be irrel
|
|
|
133
135
|
| `data.economy` | list of Addresses | What its economic life runs on — currencies, banking bodies, goods. |
|
|
134
136
|
| `data.lore` | list of Addresses | Lore concerning it — the peoples it draws on, the god a faith venerates, its law, its calendar. |
|
|
135
137
|
| `data.parents` | list of Addresses | Affiliations it is subordinate to. |
|
|
138
|
+
| `data.culture` | an Address | The people this affiliation belongs to, as a culture lore note. |
|
|
136
139
|
| `data.relations` | a map keyed by Address | Standing with other affiliations — aligned, unaligned, rival, nemesis. |
|
|
137
140
|
|
|
138
141
|
**Inner keys** — a key a field's value does not declare is an error at its own line and column.
|
|
@@ -201,20 +204,21 @@ These fields are accepted by every note type. A field's value can still be irrel
|
|
|
201
204
|
|
|
202
205
|
**Subtypes:** `disease`, `poisontoxin`, `maladiction`.
|
|
203
206
|
|
|
204
|
-
| Field | Shape
|
|
205
|
-
| ---------------------------------- |
|
|
206
|
-
| `data.
|
|
207
|
-
| `data.
|
|
208
|
-
| `data.
|
|
209
|
-
| `data.
|
|
210
|
-
| `data.
|
|
211
|
-
| `data.
|
|
212
|
-
| `data.
|
|
213
|
-
| `data.
|
|
214
|
-
| `data.
|
|
215
|
-
| `data.
|
|
216
|
-
| `data.
|
|
217
|
-
| `data.
|
|
207
|
+
| Field | Shape | Meaning |
|
|
208
|
+
| ---------------------------------- | ---------- | -------------------------------------------------------------------- |
|
|
209
|
+
| `data.icon` | an Address | The document's profile art — an `icon` address, resolved into `img`. |
|
|
210
|
+
| `data.templatePriority` | number | Template priority; unset means the note is not a template. |
|
|
211
|
+
| `data.transmission` | string | How it passes from one host to another. |
|
|
212
|
+
| `data.outcome` | string | Where it ends once it has run its course — `death` or `cured`. |
|
|
213
|
+
| `data.healingRate` | number | How readily a healing test goes well. |
|
|
214
|
+
| `data.contagionIndex` | number | How contagious it is. |
|
|
215
|
+
| `data.outcomeTraumas` | string | Expression returning the traumas recovery leaves behind. |
|
|
216
|
+
| `data.onsetDurationFormula` | string | Roll formula for the delay between contraction and onset. |
|
|
217
|
+
| `data.onsetDurationBase` | number | That delay in seconds, stated outright instead of rolled. |
|
|
218
|
+
| `data.healingCheckDurationFormula` | string | Roll formula for the interval between healing checks. |
|
|
219
|
+
| `data.healingCheckDurationBase` | number | That interval in seconds, stated outright instead of rolled. |
|
|
220
|
+
| `data.resolutionDurationFormula` | string | Roll formula for the time from onset to resolution. |
|
|
221
|
+
| `data.resolutionDurationBase` | number | That time in seconds, stated outright instead of rolled. |
|
|
218
222
|
|
|
219
223
|
**System mappings**
|
|
220
224
|
|
|
@@ -237,6 +241,7 @@ These fields are accepted by every note type. A field's value can still be irrel
|
|
|
237
241
|
|
|
238
242
|
| Field | Shape | Meaning |
|
|
239
243
|
| ----------------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------ |
|
|
244
|
+
| `data.icon` | an Address | The document's profile art — an `icon` address, resolved into `img`. |
|
|
240
245
|
| `data.templatePriority` | number | Template priority; unset means the note is not a template. |
|
|
241
246
|
| `data.weight` | number | What the thing weighs. |
|
|
242
247
|
| `data.value` | number | What the thing is worth. |
|
|
@@ -260,17 +265,19 @@ These fields are accepted by every note type. A field's value can still be irrel
|
|
|
260
265
|
|
|
261
266
|
**Subtypes:** Open vocabulary.
|
|
262
267
|
|
|
263
|
-
| Field | Shape
|
|
264
|
-
| ----------------------- |
|
|
265
|
-
| `data.
|
|
268
|
+
| Field | Shape | Meaning |
|
|
269
|
+
| ----------------------- | ---------- | -------------------------------------------------------------------- |
|
|
270
|
+
| `data.icon` | an Address | The document's profile art — an `icon` address, resolved into `img`. |
|
|
271
|
+
| `data.templatePriority` | number | Template priority; unset means the note is not a template. |
|
|
266
272
|
|
|
267
273
|
### attribute
|
|
268
274
|
|
|
269
275
|
**Subtypes:** None.
|
|
270
276
|
|
|
271
|
-
| Field | Shape
|
|
272
|
-
| ----------------------- |
|
|
273
|
-
| `data.
|
|
277
|
+
| Field | Shape | Meaning |
|
|
278
|
+
| ----------------------- | ---------- | -------------------------------------------------------------------- |
|
|
279
|
+
| `data.icon` | an Address | The document's profile art — an `icon` address, resolved into `img`. |
|
|
280
|
+
| `data.templatePriority` | number | Template priority; unset means the note is not a template. |
|
|
274
281
|
|
|
275
282
|
### concoctiongear
|
|
276
283
|
|
|
@@ -278,6 +285,7 @@ These fields are accepted by every note type. A field's value can still be irrel
|
|
|
278
285
|
|
|
279
286
|
| Field | Shape | Meaning |
|
|
280
287
|
| ----------------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------ |
|
|
288
|
+
| `data.icon` | an Address | The document's profile art — an `icon` address, resolved into `img`. |
|
|
281
289
|
| `data.templatePriority` | number | Template priority; unset means the note is not a template. |
|
|
282
290
|
| `data.weight` | number | What the thing weighs. |
|
|
283
291
|
| `data.value` | number | What the thing is worth. |
|
|
@@ -305,6 +313,7 @@ These fields are accepted by every note type. A field's value can still be irrel
|
|
|
305
313
|
|
|
306
314
|
| Field | Shape | Meaning |
|
|
307
315
|
| ----------------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------ |
|
|
316
|
+
| `data.icon` | an Address | The document's profile art — an `icon` address, resolved into `img`. |
|
|
308
317
|
| `data.templatePriority` | number | Template priority; unset means the note is not a template. |
|
|
309
318
|
| `data.weight` | number | What the thing weighs. |
|
|
310
319
|
| `data.value` | number | What the thing is worth. |
|
|
@@ -332,6 +341,7 @@ These fields are accepted by every note type. A field's value can still be irrel
|
|
|
332
341
|
|
|
333
342
|
| Field | Shape | Meaning |
|
|
334
343
|
| ----------------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------ |
|
|
344
|
+
| `data.icon` | an Address | The document's profile art — an `icon` address, resolved into `img`. |
|
|
335
345
|
| `data.templatePriority` | number | Template priority; unset means the note is not a template. |
|
|
336
346
|
| `data.weight` | number | What the thing weighs. |
|
|
337
347
|
| `data.value` | number | What the thing is worth. |
|
|
@@ -359,6 +369,7 @@ These fields are accepted by every note type. A field's value can still be irrel
|
|
|
359
369
|
|
|
360
370
|
| Field | Shape | Meaning |
|
|
361
371
|
| ----------------------- | -------------------------------------------- | -------------------------------------------------------------------------- |
|
|
372
|
+
| `data.icon` | an Address | The document's profile art — an `icon` address, resolved into `img`. |
|
|
362
373
|
| `data.templatePriority` | number | Template priority; unset means the note is not a template. |
|
|
363
374
|
| `data.assocSkill` | an Address | The skill it is associated with. |
|
|
364
375
|
| `data.assocAffiliation` | an Address | The affiliation it is associated with. |
|
|
@@ -380,15 +391,16 @@ These fields are accepted by every note type. A field's value can still be irrel
|
|
|
380
391
|
|
|
381
392
|
**Subtypes:** `spiritrite`, `spiritaction`, `spiritpower`, `ritualaction`, `divineincantation`, `arcaneincantation`, `arcanetalent`, `spirittalent`, `alchemy`, `divination`.
|
|
382
393
|
|
|
383
|
-
| Field | Shape | Meaning
|
|
384
|
-
| ----------------------- | ---------- |
|
|
385
|
-
| `data.
|
|
386
|
-
| `data.
|
|
387
|
-
| `data.
|
|
388
|
-
| `data.
|
|
389
|
-
| `data.
|
|
390
|
-
| `data.
|
|
391
|
-
| `data.charges.
|
|
394
|
+
| Field | Shape | Meaning |
|
|
395
|
+
| ----------------------- | ---------- | -------------------------------------------------------------------- |
|
|
396
|
+
| `data.icon` | an Address | The document's profile art — an `icon` address, resolved into `img`. |
|
|
397
|
+
| `data.templatePriority` | number | Template priority; unset means the note is not a template. |
|
|
398
|
+
| `data.assocSkill` | an Address | The skill it is associated with. |
|
|
399
|
+
| `data.assocAffiliation` | an Address | The affiliation it is associated with. |
|
|
400
|
+
| `data.masteryLevel` | number | Mastery before any modifier. |
|
|
401
|
+
| `data.level` | number | The magnitude of the ability. |
|
|
402
|
+
| `data.charges.value` | number | Charges available now; unset means charges are not used. |
|
|
403
|
+
| `data.charges.max` | number | Most charges it can hold; unset means no maximum. |
|
|
392
404
|
|
|
393
405
|
**System mappings**
|
|
394
406
|
|
|
@@ -404,6 +416,7 @@ These fields are accepted by every note type. A field's value can still be irrel
|
|
|
404
416
|
|
|
405
417
|
| Field | Shape | Meaning |
|
|
406
418
|
| ----------------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------ |
|
|
419
|
+
| `data.icon` | an Address | The document's profile art — an `icon` address, resolved into `img`. |
|
|
407
420
|
| `data.templatePriority` | number | Template priority; unset means the note is not a template. |
|
|
408
421
|
| `data.weight` | number | What the thing weighs. |
|
|
409
422
|
| `data.value` | number | What the thing is worth. |
|
|
@@ -430,11 +443,12 @@ These fields are accepted by every note type. A field's value can still be irrel
|
|
|
430
443
|
|
|
431
444
|
**Subtypes:** `social`, `nature`, `craft`, `lore`, `language`, `script`, `mystical`, `physical`, `combat`, `combattechnique`.
|
|
432
445
|
|
|
433
|
-
| Field | Shape | Meaning
|
|
434
|
-
| ----------------------- | ---------- |
|
|
435
|
-
| `data.
|
|
436
|
-
| `data.
|
|
437
|
-
| `data.
|
|
446
|
+
| Field | Shape | Meaning |
|
|
447
|
+
| ----------------------- | ---------- | -------------------------------------------------------------------- |
|
|
448
|
+
| `data.icon` | an Address | The document's profile art — an `icon` address, resolved into `img`. |
|
|
449
|
+
| `data.templatePriority` | number | Template priority; unset means the note is not a template. |
|
|
450
|
+
| `data.masteryLevel` | number | Mastery before any modifier. |
|
|
451
|
+
| `data.parentSkill` | an Address | The skill this one specialises. |
|
|
438
452
|
|
|
439
453
|
**System mappings**
|
|
440
454
|
|
|
@@ -447,15 +461,16 @@ These fields are accepted by every note type. A field's value can still be irrel
|
|
|
447
461
|
|
|
448
462
|
**Subtypes:** `injury`, `fear`, `morale`, `pall`, `psycond`, `physcond`, `auralshock`, `fatigue`, `infection`, `shock`, `coma`.
|
|
449
463
|
|
|
450
|
-
| Field | Shape
|
|
451
|
-
| -------------------------------------- |
|
|
452
|
-
| `data.
|
|
453
|
-
| `data.
|
|
454
|
-
| `data.
|
|
455
|
-
| `data.
|
|
456
|
-
| `data.
|
|
457
|
-
| `data.
|
|
458
|
-
| `data.
|
|
464
|
+
| Field | Shape | Meaning |
|
|
465
|
+
| -------------------------------------- | ---------- | -------------------------------------------------------------------- |
|
|
466
|
+
| `data.icon` | an Address | The document's profile art — an `icon` address, resolved into `img`. |
|
|
467
|
+
| `data.templatePriority` | number | Template priority; unset means the note is not a template. |
|
|
468
|
+
| `data.healingCheckDurationFormula` | string | Roll formula for the interval between healing checks. |
|
|
469
|
+
| `data.healingCheckDurationBase` | number | That interval in seconds, stated outright instead of rolled. |
|
|
470
|
+
| `data.bloodLossAdvanceDurationFormula` | string | Roll formula for the interval between blood-loss advances. |
|
|
471
|
+
| `data.bloodLossAdvanceDurationBase` | number | That interval in seconds. Setting it is what makes the wound bleed. |
|
|
472
|
+
| `data.courseDurationFormula` | string | Roll formula for the interval between course tests. |
|
|
473
|
+
| `data.courseDurationBase` | number | That interval in seconds, stated outright instead of rolled. |
|
|
459
474
|
|
|
460
475
|
**System mappings**
|
|
461
476
|
|
|
@@ -475,6 +490,7 @@ These fields are accepted by every note type. A field's value can still be irrel
|
|
|
475
490
|
|
|
476
491
|
| Field | Shape | Meaning |
|
|
477
492
|
| ----------------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------ |
|
|
493
|
+
| `data.icon` | an Address | The document's profile art — an `icon` address, resolved into `img`. |
|
|
478
494
|
| `data.templatePriority` | number | Template priority; unset means the note is not a template. |
|
|
479
495
|
| `data.weight` | number | What the thing weighs. |
|
|
480
496
|
| `data.value` | number | What the thing is worth. |
|
|
@@ -500,20 +516,20 @@ These fields are accepted by every note type. A field's value can still be irrel
|
|
|
500
516
|
|
|
501
517
|
Lore records in-world knowledge. A `culture` describes a people; a `custom` describes how they practice a rite, observance, or usage. A `material` describes a physical constituent and its qualities, which may vary by region. See the [lore subtype definitions](format-details.md#type-lore) for the complete vocabulary.
|
|
502
518
|
|
|
503
|
-
| Field | Shape | Meaning
|
|
504
|
-
| ---------------- | ----------------------------------------------------------------------------------- |
|
|
505
|
-
| `data.epoch` | a canonical `<year>.<day>` | Canonical day when calendar year 1, day 1 begins — `1.1`.
|
|
506
|
-
| `data.months` | list of `{ name, abbreviation?, days }` | The months this calendar keeps, in order — position in the list is position in the year, and the day counts sum to the world's year.
|
|
507
|
-
| `data.weekdays` | list of `{ name, abbreviation? }` | The days of the week this calendar names, in order. A calendar with no week writes none.
|
|
508
|
-
| `data.seasons` | list of `{ name, abbreviation?, start }` | The seasons this calendar marks, starting on numbered days of the year.
|
|
509
|
-
| `data.namedDays` | list of `{ name, abbreviation?, day }` | Names assigned to particular days of the year.
|
|
510
|
-
| `data.eras` | list of `{ shortcode, name, marker?, abbreviation?, proclaimedBy?, start, label? }` | The year-counts kept in this calendar. A marker names one era and uses these months.
|
|
511
|
-
| `data.formats` | map of named Calendaria format strings | Named patterns for reading and writing this calendar's dates.
|
|
512
|
-
| `data.culture` | an Address | The people whose work
|
|
513
|
-
| `data.form` | string | The kind of work in its people's own terms — an epic, a saga, a praise-song, an elegy. Free text.
|
|
514
|
-
| `data.subjects` | list of Addresses | The beings, places, gods and other notes the work concerns, and each event it concerns, named as `place-ironfells#sack`.
|
|
515
|
-
| `data.language` | an Address | The tongue the work is composed in, as a language skill note.
|
|
516
|
-
| `data.events` | list of event entries | What happened to or at this subject — each entry one dated, attributed event: a founding, a war, a fall, or an occasion that recurs.
|
|
519
|
+
| Field | Shape | Meaning |
|
|
520
|
+
| ---------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
521
|
+
| `data.epoch` | a canonical `<year>.<day>` | Canonical day when calendar year 1, day 1 begins — `1.1`. |
|
|
522
|
+
| `data.months` | list of `{ name, abbreviation?, days }` | The months this calendar keeps, in order — position in the list is position in the year, and the day counts sum to the world's year. |
|
|
523
|
+
| `data.weekdays` | list of `{ name, abbreviation? }` | The days of the week this calendar names, in order. A calendar with no week writes none. |
|
|
524
|
+
| `data.seasons` | list of `{ name, abbreviation?, start }` | The seasons this calendar marks, starting on numbered days of the year. |
|
|
525
|
+
| `data.namedDays` | list of `{ name, abbreviation?, day }` | Names assigned to particular days of the year. |
|
|
526
|
+
| `data.eras` | list of `{ shortcode, name, marker?, abbreviation?, proclaimedBy?, start, label? }` | The year-counts kept in this calendar. A marker names one era and uses these months. |
|
|
527
|
+
| `data.formats` | map of named Calendaria format strings | Named patterns for reading and writing this calendar's dates. |
|
|
528
|
+
| `data.culture` | an Address | The people this lore belongs to — for a work of literature, the people whose work it is — as a culture lore note. A culture note is its own culture, and states the field only as itself. |
|
|
529
|
+
| `data.form` | string | The kind of work in its people's own terms — an epic, a saga, a praise-song, an elegy. Free text. |
|
|
530
|
+
| `data.subjects` | list of Addresses | The beings, places, gods and other notes the work concerns, and each event it concerns, named as `place-ironfells#sack`. |
|
|
531
|
+
| `data.language` | an Address | The tongue the work is composed in, as a language skill note. |
|
|
532
|
+
| `data.events` | list of event entries | What happened to or at this subject — each entry one dated, attributed event: a founding, a war, a fall, or an occasion that recurs. |
|
|
517
533
|
|
|
518
534
|
**Inner keys** — a key a field's value does not declare is an error at its own line and column.
|
|
519
535
|
|
|
@@ -582,11 +598,12 @@ Lore records in-world knowledge. A `culture` describes a people; a `custom` desc
|
|
|
582
598
|
|
|
583
599
|
**Subtypes:** `battlemap`, `localmap`, `regionalmap`, `totm`.
|
|
584
600
|
|
|
585
|
-
| Field
|
|
586
|
-
|
|
|
587
|
-
| `data.scene`
|
|
588
|
-
| `data.fixup`
|
|
589
|
-
| `data.
|
|
601
|
+
| Field | Shape | Meaning |
|
|
602
|
+
| ---------------- | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
603
|
+
| `data.scene` | an object — a Foundry Scene document as exported | The Foundry Scene as exported, passed through unchanged apart from `data.fixup` and its pins marked `#anchor`. Nothing inside it is checked; the book prints its levels' background images. |
|
|
604
|
+
| `data.fixup` | list of `{ path, type, value }` | Asset address replacements in an exported Scene. |
|
|
605
|
+
| `data.thumbnail` | an Address | The map's thumbnail — an `image` address, resolved into the Scene's `thumb` the way a `data.fixup` entry is. Background art is untouched. |
|
|
606
|
+
| `data.place` | an Address | The place this map depicts. Named here and not on the place, because a place has several maps and a map depicts one place. |
|
|
590
607
|
|
|
591
608
|
**Inner keys** — a key a field's value does not declare is an error at its own line and column.
|
|
592
609
|
|
|
@@ -603,11 +620,12 @@ Lore records in-world knowledge. A `culture` describes a people; a `custom` desc
|
|
|
603
620
|
| Field | Shape | Meaning |
|
|
604
621
|
| -------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
605
622
|
| `data.events` | list of event entries | What happened to or at this subject — each entry one dated, attributed event: a founding, a war, a fall, or an occasion that recurs. |
|
|
606
|
-
| `data.calendar` | an Address | Calendar
|
|
623
|
+
| `data.calendar` | an Address | Calendar that displays this place's dates. |
|
|
607
624
|
| `data.demonym` | string | What a person from this place is called — a Vylarian. |
|
|
608
625
|
| `data.purpose` | string | The reason this settlement, site, or structure exists, selected from its placeCharacter tags. |
|
|
609
626
|
| `data.lore` | list of Addresses | Lore concerning this place — its peoples, its law, its calendar, its history. |
|
|
610
627
|
| `data.parents` | list of Addresses | Enclosing places this one sits within. |
|
|
628
|
+
| `data.culture` | an Address | The people this place belongs to, as a culture lore note. |
|
|
611
629
|
| `data.population` | number | Approximate population, to two significant digits. |
|
|
612
630
|
| `data.government` | an Address or null | The governing affiliation Address; the default target type is affiliation. Explicit null means complete anarchy. A positive population with no government key produces an advisory. |
|
|
613
631
|
| `data.market` | number | What trade the settlement supports, on a scale of six: 1 hamlet, 2 village, 3 town, 4 market town, 5 city, 6 great city. |
|
|
@@ -699,17 +717,17 @@ Lore records in-world knowledge. A `culture` describes a people; a `custom` desc
|
|
|
699
717
|
|
|
700
718
|
**Subtypes:** `rules`, `userguide`, `reference`, `howto`, `concept`, `settingguide`.
|
|
701
719
|
|
|
702
|
-
| Field
|
|
703
|
-
|
|
|
704
|
-
|
|
|
720
|
+
| Field | Shape | Meaning |
|
|
721
|
+
| -------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------- |
|
|
722
|
+
| `data.culture` | an Address | The culture a setting guide introduces, as a culture lore note. Required on `settingguide`; no other subType states it. |
|
|
705
723
|
|
|
706
724
|
### macro
|
|
707
725
|
|
|
708
726
|
**Subtypes:** None.
|
|
709
727
|
|
|
710
|
-
| Field
|
|
711
|
-
|
|
|
712
|
-
|
|
|
728
|
+
| Field | Shape | Meaning |
|
|
729
|
+
| ----------- | ---------- | -------------------------------------------------------------------- |
|
|
730
|
+
| `data.icon` | an Address | The document's profile art — an `icon` address, resolved into `img`. |
|
|
713
731
|
|
|
714
732
|
### bundle
|
|
715
733
|
|
|
@@ -717,6 +735,7 @@ Lore records in-world knowledge. A `culture` describes a people; a `custom` desc
|
|
|
717
735
|
|
|
718
736
|
| Field | Shape | Meaning |
|
|
719
737
|
| --------------- | ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
738
|
+
| `data.icon` | an Address | The document's profile art — an `icon` address, resolved into `img`. |
|
|
720
739
|
| `data.contents` | list of Addresses | The documents the Adventure holds, as addresses. Empty when unstated. A document of neither `none` nor the system being compiled is left out rather than failing. |
|
|
721
740
|
|
|
722
741
|
### folder
|
|
@@ -137,8 +137,9 @@ a top-level `banner:`, which the theme resolves against `params.cdnBaseURL`
|
|
|
137
137
|
one; an unset or `null` value carries on to the next step.
|
|
138
138
|
2. `banner:` at the top level. `none` (or `false`) declines a hero image; a
|
|
139
139
|
full URL is used as-is; anything else is a fragment under `images/`.
|
|
140
|
-
3. `images/banners/{
|
|
141
|
-
|
|
140
|
+
3. `images/banners/{name}.webp`, where the name comes from the kind mapping
|
|
141
|
+
described below: the banner the page's `type` and `subType` map to, or its
|
|
142
|
+
`category` for a `type: doc` page.
|
|
142
143
|
4. `images/banners/default.webp` — when the page has no type, **and** whenever
|
|
143
144
|
the name picked by 2 or 3 is not in the declared inventory.
|
|
144
145
|
|
|
@@ -157,9 +158,33 @@ either and must not second-guess an address it cannot know about. A step 1
|
|
|
157
158
|
address is not checked for the same reason: the question has already been
|
|
158
159
|
answered upstream.
|
|
159
160
|
|
|
161
|
+
**The kind mapping.** `data/banner-kinds.yaml` declares, once, which banner a
|
|
162
|
+
page of each note `type` opens with. A type maps to one banner name for all of
|
|
163
|
+
its subTypes, or to a table that names a banner for every subType the note
|
|
164
|
+
vocabulary declares for it:
|
|
165
|
+
|
|
166
|
+
```yaml
|
|
167
|
+
categoryTypes:
|
|
168
|
+
- doc
|
|
169
|
+
kinds:
|
|
170
|
+
skill: skills-attributes
|
|
171
|
+
being:
|
|
172
|
+
character: character
|
|
173
|
+
creature: creature
|
|
174
|
+
npc: character
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
`default` names the default banner as a deliberate choice, and emits no
|
|
178
|
+
warning. A type missing from the file resolves to its own name, so a kind with
|
|
179
|
+
no declared art still produces the missing-banner warning. The lint check and
|
|
180
|
+
the test suite fail on a mapped name that `banners.yaml` does not declare, and
|
|
181
|
+
on a type or subType of the note vocabulary that the mapping omits. A consumer
|
|
182
|
+
publishing its own artwork set ships its own `data/banner-kinds.yaml` beside
|
|
183
|
+
its `data/banners.yaml`.
|
|
184
|
+
|
|
160
185
|
**One resolver.** The order above lives in `partials/banner-url.html`, which
|
|
161
186
|
returns a URL or an empty string; `hero-banner.html` calls it with the page's
|
|
162
|
-
|
|
187
|
+
`type`, `subType` and `category`, for step 3.
|
|
163
188
|
|
|
164
189
|
**Keeping the inventory honest.** The lint check over `data/banners.yaml`
|
|
165
190
|
fetches every declared name from the asset host and fails on any non-200
|
|
@@ -169,14 +194,14 @@ list by shipping its own `data/banners.yaml`, which Hugo reads in preference
|
|
|
169
194
|
to the theme's bundled one, and can run the same check against it.
|
|
170
195
|
|
|
171
196
|
**Declining a hero image.** `banner: none` on a hand-authored page, and a
|
|
172
|
-
blank `data.banner` on a note
|
|
197
|
+
blank `data.banner` on a note (which the build emits for `data.banner: none`),
|
|
198
|
+
render the band with no image at all — the
|
|
173
199
|
title, the palette and the `.hero-with-image` gradient, which is what gives
|
|
174
200
|
the band its presence. A package may have a standing editorial reason to
|
|
175
201
|
publish no imagery, and falling back to a default for those would substitute
|
|
176
202
|
artwork where the considered answer was "none". See
|
|
177
203
|
[images, icons, audio, and provenance](../authoring/assets.md) for how a note
|
|
178
|
-
declines one
|
|
179
|
-
are not interchangeable.
|
|
204
|
+
declines one with `data.banner: none`.
|
|
180
205
|
|
|
181
206
|
## Generated sections
|
|
182
207
|
|