@heroiclands/package-build 20.3.0 → 20.4.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 +97 -0
- package/CONTENT.md +111 -92
- package/README.md +2 -9
- package/bin/content-build.mjs +70 -61
- package/bin/package-build.mjs +2 -2
- package/config.mjs +6 -8
- package/content-config.mjs +187 -64
- package/docs/content-format.md +57 -68
- package/e2e.mjs +4 -4
- package/engine/actor-compiler.mjs +36 -36
- package/engine/address-charset.mjs +6 -6
- package/engine/address-diff.mjs +12 -11
- package/engine/anchored-sections.mjs +1 -1
- package/engine/anchors.mjs +1 -1
- package/engine/base-compiler.mjs +36 -38
- package/engine/bundle-notes.mjs +4 -4
- package/engine/bundles.mjs +8 -8
- package/engine/code-fences.mjs +3 -3
- package/engine/compendiums.mjs +8 -8
- package/engine/compile-corpus.mjs +4 -5
- package/engine/content-address.mjs +15 -15
- package/engine/content-charset.mjs +1 -1
- package/engine/content-format-check.mjs +24 -25
- package/engine/content-format.mjs +8 -8
- package/engine/content-html.mjs +202 -0
- package/engine/content-icons.mjs +225 -98
- package/engine/content-index.mjs +17 -17
- package/engine/content-links.mjs +30 -30
- package/engine/content-lint.mjs +20 -24
- package/engine/content-package.mjs +7 -9
- package/engine/content-slug.mjs +2 -2
- package/engine/content-tables.mjs +7 -8
- package/engine/content-tree.mjs +1 -1
- package/engine/derived-fields.mjs +174 -0
- package/engine/diagnostics.mjs +3 -4
- package/engine/document-subtypes.mjs +6 -7
- package/engine/field-reference.mjs +8 -8
- package/engine/field-spec.mjs +29 -30
- package/engine/folder-notes.mjs +14 -14
- package/engine/foreign-catalog.mjs +8 -9
- package/engine/foundry-entries.mjs +19 -20
- package/engine/frontmatter-lint.mjs +64 -69
- package/engine/frontmatter.mjs +11 -11
- package/engine/generate.mjs +39 -39
- package/engine/helpers.mjs +63 -54
- package/engine/homepage.mjs +20 -22
- package/engine/ids.mjs +15 -15
- package/engine/index-records.mjs +4 -4
- package/engine/index.mjs +14 -8
- package/engine/item-compiler.mjs +54 -29
- package/engine/item-docs.mjs +11 -13
- package/engine/item-registry.mjs +13 -13
- package/engine/journals.mjs +15 -15
- package/engine/macros.mjs +3 -3
- package/engine/map-notes.mjs +6 -6
- package/engine/metadata-index.mjs +5 -5
- package/engine/note-claims.mjs +36 -34
- package/engine/note-ids.mjs +5 -5
- package/engine/note-package.mjs +4 -4
- package/engine/note-renames.mjs +3 -3
- package/engine/note-schemas.mjs +3 -3
- package/engine/note-vocabulary.mjs +27 -26
- package/engine/pack-config.mjs +13 -13
- package/engine/pack-router.mjs +0 -0
- package/engine/prose-config.mjs +9 -9
- package/engine/prose-lint.mjs +12 -13
- package/engine/region-events.mjs +2 -2
- package/engine/retired-fields.mjs +24 -22
- package/engine/runtime-only-fields.mjs +1 -1
- package/engine/scene-levels.mjs +1 -1
- package/engine/scenes.mjs +19 -20
- package/engine/schema-check.mjs +20 -20
- package/engine/schema-extract.mjs +1 -1
- package/engine/site-build.mjs +45 -47
- package/engine/site-index.mjs +17 -18
- package/engine/sql-tables.mjs +21 -13
- package/engine/subtype-registry.mjs +5 -4
- package/engine/system-block.mjs +18 -19
- package/engine/systems.mjs +2 -2
- package/engine/web-wikilinks.mjs +35 -35
- package/engine/wikilink-syntax.mjs +16 -16
- package/engine/wikilinks.mjs +39 -39
- package/hm3/actors.mjs +22 -22
- package/hm3/document-subtypes.mjs +5 -5
- package/hm3/index.mjs +2 -2
- package/hm3/item-builders.mjs +1 -1
- package/hm3/item-fields.mjs +3 -3
- package/hm3/items.mjs +20 -8
- package/hm3/template-priority.mjs +2 -2
- package/lang.mjs +3 -3
- package/manifest.mjs +17 -20
- package/package.json +1 -2
- package/release.mjs +3 -3
- package/sohl/actors.mjs +28 -28
- package/sohl/affiliation-standings.mjs +2 -2
- package/sohl/being-info.mjs +5 -5
- package/sohl/default-item-art.mjs +5 -5
- package/sohl/document-subtypes.mjs +5 -5
- package/sohl/index.mjs +3 -3
- package/sohl/item-builders.mjs +7 -7
- package/sohl/item-fields.mjs +8 -9
- package/sohl/items.mjs +20 -6
- package/sohl/kb-passes.mjs +5 -5
- package/sohl/note-schemas.mjs +7 -7
- package/sohl/skill-base.mjs +1 -1
- package/types/content-config.d.mts +25 -24
- package/types/e2e.d.mts +3 -3
- package/types/engine/actor-compiler.d.mts +14 -13
- package/types/engine/address-charset.d.mts +6 -6
- package/types/engine/address-diff.d.mts +3 -3
- package/types/engine/base-compiler.d.mts +17 -19
- package/types/engine/bundle-notes.d.mts +3 -3
- package/types/engine/bundles.d.mts +1 -1
- package/types/engine/code-fences.d.mts +3 -3
- package/types/engine/compendiums.d.mts +3 -3
- package/types/engine/compile-corpus.d.mts +1 -1
- package/types/engine/content-address.d.mts +11 -11
- package/types/engine/content-format-check.d.mts +6 -6
- package/types/engine/content-format.d.mts +2 -2
- package/types/engine/content-html.d.mts +78 -0
- package/types/engine/content-icons.d.mts +150 -62
- package/types/engine/content-index.d.mts +2 -2
- package/types/engine/content-links.d.mts +8 -8
- package/types/engine/content-lint.d.mts +2 -2
- package/types/engine/content-package.d.mts +6 -8
- package/types/engine/derived-fields.d.mts +101 -0
- package/types/engine/diagnostics.d.mts +2 -2
- package/types/engine/document-subtypes.d.mts +3 -3
- package/types/engine/field-spec.d.mts +37 -39
- package/types/engine/folder-notes.d.mts +4 -5
- package/types/engine/foreign-catalog.d.mts +3 -3
- package/types/engine/foundry-entries.d.mts +6 -7
- package/types/engine/frontmatter-lint.d.mts +7 -7
- package/types/engine/frontmatter.d.mts +7 -7
- package/types/engine/generate.d.mts +7 -7
- package/types/engine/helpers.d.mts +25 -27
- package/types/engine/homepage.d.mts +16 -18
- package/types/engine/ids.d.mts +13 -13
- package/types/engine/index-records.d.mts +3 -3
- package/types/engine/index.d.mts +2 -0
- package/types/engine/item-compiler.d.mts +21 -5
- package/types/engine/item-docs.d.mts +2 -2
- package/types/engine/item-registry.d.mts +6 -6
- package/types/engine/journals.d.mts +3 -3
- package/types/engine/map-notes.d.mts +2 -2
- package/types/engine/metadata-index.d.mts +4 -4
- package/types/engine/note-claims.d.mts +16 -15
- package/types/engine/note-ids.d.mts +4 -4
- package/types/engine/note-package.d.mts +1 -1
- package/types/engine/note-renames.d.mts +3 -3
- package/types/engine/note-vocabulary.d.mts +9 -8
- package/types/engine/pack-config.d.mts +3 -3
- package/types/engine/pack-router.d.mts +1 -1
- package/types/engine/prose-config.d.mts +9 -9
- package/types/engine/prose-lint.d.mts +3 -4
- package/types/engine/region-events.d.mts +2 -2
- package/types/engine/retired-fields.d.mts +10 -9
- package/types/engine/schema-check.d.mts +11 -11
- package/types/engine/site-build.d.mts +18 -19
- package/types/engine/site-index.d.mts +3 -4
- package/types/engine/sql-tables.d.mts +11 -5
- package/types/engine/subtype-registry.d.mts +3 -3
- package/types/engine/system-block.d.mts +3 -3
- package/types/engine/web-wikilinks.d.mts +7 -7
- package/types/engine/wikilink-syntax.d.mts +17 -17
- package/types/engine/wikilinks.d.mts +13 -12
- package/types/hm3/actors.d.mts +1 -1
- package/types/hm3/document-subtypes.d.mts +1 -1
- package/types/hm3/items.d.mts +1 -2
- package/types/hm3/template-priority.d.mts +1 -1
- package/types/manifest.d.mts +8 -8
- package/types/sohl/actors.d.mts +2 -2
- package/types/sohl/affiliation-standings.d.mts +2 -2
- package/types/sohl/being-info.d.mts +2 -2
- package/types/sohl/document-subtypes.d.mts +1 -1
- package/types/sohl/items.d.mts +1 -2
- package/types/sohl/note-schemas.d.mts +1 -1
- package/MIGRATING.md +0 -608
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,102 @@
|
|
|
1
1
|
# @heroiclands/package-build
|
|
2
2
|
|
|
3
|
+
## 20.4.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 7b24587: Four rules, all of them about a note being renderable into a book.
|
|
8
|
+
|
|
9
|
+
**A package declares its own icons**, through a new `icons:` configuration key
|
|
10
|
+
validated when the configuration resolves. See the entry below for the shape it
|
|
11
|
+
settled on.
|
|
12
|
+
|
|
13
|
+
**Raw HTML in a note's prose is reported.** There is no route from `<p>` to a
|
|
14
|
+
PDF: the packs and the website pass HTML through, and Typst is handed markdown
|
|
15
|
+
and knows none. A fenced block or a code span is an example and is not
|
|
16
|
+
reported. A warning, like the checks beside it.
|
|
17
|
+
|
|
18
|
+
**A note may not author a key the compiler derives.** `sohl.system.docHtml`
|
|
19
|
+
holds the `@UUID` of the JournalEntry the note's prose compiled into, and the
|
|
20
|
+
compiler writes it unconditionally — so an authored one is overwritten, or ships
|
|
21
|
+
prose where every reader expects a pointer. Each pass declares its own derived
|
|
22
|
+
keys, so the rule is the general one rather than a list of names.
|
|
23
|
+
|
|
24
|
+
**A SQL table selecting nothing renders its header and rule** rather than
|
|
25
|
+
nothing at all. The finding is the point, not withholding the output: a heading
|
|
26
|
+
with an empty table under it says the query ran and matched nothing, where a
|
|
27
|
+
heading with nothing under it reads as a page that failed to build.
|
|
28
|
+
- 7695b06: **The icon registry belongs to the consumer, not to the toolchain.**
|
|
29
|
+
|
|
30
|
+
`DEFAULT_ICONS` and `ICON_FAMILIES` are gone. A package declares both halves —
|
|
31
|
+
the fonts it ships and the names it draws from them — in its own `icons:`
|
|
32
|
+
configuration, and a package that declares neither names no icons at all.
|
|
33
|
+
|
|
34
|
+
A registry entry is a promise that a glyph will render, and only the package
|
|
35
|
+
shipping the font can keep it: the Game-Icons webfont is built by a consumer
|
|
36
|
+
from its own templates, and Font Awesome reaches neither the knowledgebase nor a
|
|
37
|
+
printed page unless somebody puts it there. A shipped table would also be one
|
|
38
|
+
game system's vocabulary — `victory-star-tester` means nothing to another system
|
|
39
|
+
compiled by this same toolchain. What is shared is the mechanism: the `:icon-…:`
|
|
40
|
+
syntax, resolution, rendering, and the checks.
|
|
41
|
+
|
|
42
|
+
The value is either the registry inline or a **path to a file holding it**:
|
|
43
|
+
|
|
44
|
+
```yaml
|
|
45
|
+
icons: assets/icon-registry.yaml
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
The file form is what a real package wants, because a registry is derived from
|
|
49
|
+
what the interface actually draws — so it is generated, and a generated document
|
|
50
|
+
inlined into a hand-edited configuration conflicts on every regeneration.
|
|
51
|
+
|
|
52
|
+
A **family** declares its class prefix and the weights it ships. A style is
|
|
53
|
+
checked against that list rather than against Font Awesome's three, so a font
|
|
54
|
+
with five weights or none is describable. An entry may declare `fixedWidth`,
|
|
55
|
+
which emits `fa-fw`: whether a glyph needs a full advance to sit in a column of
|
|
56
|
+
controls is a fact about that glyph, so it belongs to the table rather than to a
|
|
57
|
+
note's use of it.
|
|
58
|
+
|
|
59
|
+
### Patch Changes
|
|
60
|
+
|
|
61
|
+
- 05fdfa7: Drop history, issue references and hand-counted values from the comments and
|
|
62
|
+
the shipped documentation.
|
|
63
|
+
|
|
64
|
+
A comment citing the issue it came from tells a reader nothing they can act on,
|
|
65
|
+
and a rule explained by narrating the shape it replaced buries what is true now.
|
|
66
|
+
Both are removed throughout `engine/`, `sohl/`, `hm3/`, `bin/`, `ci/`, the test
|
|
67
|
+
suites and the reference docs; the reasoning survives, stated in the present
|
|
68
|
+
tense.
|
|
69
|
+
|
|
70
|
+
`MIGRATING.md` is deleted and drops out of the published `files`. It carried
|
|
71
|
+
upgrade instructions for 15.0.0 down to 3.0.0, and no consumer is below 18.
|
|
72
|
+
|
|
73
|
+
`CHANGELOG.md` and `CHANGELOG-content-build.md` are untouched — history belongs
|
|
74
|
+
in them.
|
|
75
|
+
|
|
76
|
+
No behavior changes.
|
|
77
|
+
|
|
78
|
+
## 20.3.1
|
|
79
|
+
|
|
80
|
+
### Patch Changes
|
|
81
|
+
|
|
82
|
+
- 43188f2: A registry entry can now name an icon family, so a package that draws from two
|
|
83
|
+
of them can say so.
|
|
84
|
+
|
|
85
|
+
The SoHL icon legend states in its own prose that it uses Font Awesome plus
|
|
86
|
+
Game-Icons.net "for the arms, gear, and condition glyphs that Font Awesome does
|
|
87
|
+
not cover" — eighteen `ginf-*` classes the registry had no way to express. They
|
|
88
|
+
differ in more than a prefix: Game-Icons has no weights, so a `style` on such an
|
|
89
|
+
entry names something that does not exist, and it resolves to a different font,
|
|
90
|
+
which a PDF has to embed separately.
|
|
91
|
+
|
|
92
|
+
`family` defaults to `fontawesome`, so every existing entry is unchanged. A
|
|
93
|
+
style on an unstyled family is reported rather than silently ignored, because it
|
|
94
|
+
means the author expected a filled and hollow pair the family cannot spell.
|
|
95
|
+
|
|
96
|
+
Also adds `gem` and `gem-outline`, and repoints `diamond` at them. `fa-diamond`
|
|
97
|
+
is Font Awesome's playing-card suit and ships in solid only, so it could not
|
|
98
|
+
spell the hollow half of the Success Value scale it was being used for.
|
|
99
|
+
|
|
3
100
|
## 20.3.0
|
|
4
101
|
|
|
5
102
|
### Minor Changes
|