@heroiclands/package-build 22.15.1 → 22.16.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 +95 -0
- package/README.md +39 -678
- package/bin/{content-build.mjs → content-commands.mjs} +197 -118
- package/bin/package-build.mjs +303 -42
- package/bin/report.mjs +1 -1
- package/ci/ci-docker.mjs +6 -3
- package/ci/ci-steps.mjs +6 -4
- package/ci/content-format-reference.mjs +106 -0
- package/config.mjs +22 -2
- package/content-config.mjs +74 -134
- package/docs/api.md +294 -234
- package/docs/authoring/assets.md +31 -0
- package/docs/authoring/dates-and-calendars.md +33 -0
- package/docs/authoring/first-note.md +48 -0
- package/docs/authoring/frontmatter.md +40 -0
- package/docs/authoring/links-and-markup.md +137 -0
- package/docs/commands.md +631 -162
- package/docs/configuration.md +176 -140
- package/docs/content-format.md +50 -4229
- package/docs/design.md +32 -0
- package/docs/diagnostics.md +29 -22
- package/docs/getting-started.md +21 -877
- package/docs/guides/book.md +153 -0
- package/docs/guides/e2e.md +143 -0
- package/docs/guides/icons.md +126 -0
- package/docs/guides/localization.md +120 -0
- package/docs/guides/module-project.md +915 -0
- package/docs/guides/packs.md +167 -0
- package/docs/guides/reference-pages.md +148 -0
- package/docs/guides/release-and-deploy.md +114 -0
- package/docs/guides/site.md +152 -0
- package/docs/guides/system-project.md +45 -0
- package/docs/index.md +16 -0
- package/docs/project-setup.md +54 -35
- package/docs/reference/format-details.md +4420 -0
- package/docs/reference/note-types.md +531 -0
- package/engine/address-render.mjs +26 -0
- package/engine/address.mjs +3 -20
- package/engine/anchors.mjs +15 -6
- package/engine/asset-bindings.mjs +6 -2
- package/engine/base-compiler.mjs +47 -11
- package/engine/being-measurements.mjs +70 -0
- package/engine/calendar-artifacts.mjs +1 -1
- package/engine/calendar-choice.mjs +32 -0
- package/engine/calendar-human.mjs +71 -0
- package/engine/calendar-notes.mjs +41 -3
- package/engine/calendars.mjs +8 -1
- package/engine/changelog-lint.mjs +2 -2
- package/engine/code-fences.mjs +23 -97
- package/engine/compile-corpus.mjs +6 -7
- package/engine/content-admonitions.mjs +114 -0
- package/engine/content-captions.mjs +181 -0
- package/engine/content-embeds.mjs +2 -2
- package/engine/content-footnotes.mjs +34 -0
- package/engine/content-format-check.mjs +2 -2
- package/engine/content-format.mjs +127 -73
- package/engine/content-format.yaml +745 -0
- package/engine/content-html.mjs +1 -1
- package/engine/content-icons.mjs +45 -92
- package/engine/content-images.mjs +22 -74
- package/engine/content-index.mjs +12 -3
- package/engine/content-links.mjs +21 -26
- package/engine/content-lint.mjs +1 -5
- package/engine/content-secrets.mjs +3 -1
- package/engine/content-tables.mjs +47 -1257
- package/engine/culture-choice.mjs +32 -0
- package/engine/date-conversion.mjs +47 -0
- package/engine/declaration-check.mjs +87 -0
- package/engine/docs-checks.mjs +140 -0
- package/engine/documentation-links.mjs +31 -0
- package/engine/exported-scene.mjs +1 -1
- package/engine/extension-attributes.mjs +74 -0
- package/engine/field-reference.mjs +1 -1
- package/engine/field-spec.mjs +4 -0
- package/engine/foreign-catalog.mjs +5 -5
- package/engine/format-generated.mjs +15 -0
- package/engine/foundry-entries.mjs +3 -1
- package/engine/frontmatter-lint.mjs +5 -1
- package/engine/frontmatter.mjs +10 -0
- package/engine/generate.mjs +2 -2
- package/engine/helpers.mjs +71 -117
- package/engine/homepage.mjs +2 -3
- package/engine/index-records.mjs +1 -0
- package/engine/index.mjs +18 -3
- package/engine/infobox-registry.mjs +3 -1
- package/engine/infobox.mjs +38 -20
- package/engine/item-compiler.mjs +10 -8
- package/engine/item-docs.mjs +7 -6
- package/engine/journals.mjs +51 -10
- package/engine/macros.mjs +1 -1
- package/engine/map-build.mjs +1 -1
- package/engine/map-dot.mjs +1 -1
- package/engine/markdown-expressions.mjs +117 -0
- package/engine/metadata-index.mjs +7 -3
- package/engine/note-addresses.mjs +1 -0
- package/engine/note-dates.mjs +283 -61
- package/engine/note-package.mjs +5 -25
- package/engine/note-state.mjs +6 -2
- package/engine/note-vocabulary.mjs +74 -19
- package/engine/number-words.mjs +75 -0
- package/engine/office-holders.mjs +188 -0
- package/engine/pack-config.mjs +2 -15
- package/engine/pack-router.mjs +24 -5
- package/engine/packages.mjs +3 -2
- package/engine/pathnames.mjs +21 -24
- package/engine/pdf-build.mjs +217 -55
- package/engine/pdf-fonts.mjs +2 -2
- package/engine/pdf-images.mjs +82 -0
- package/engine/pdf-render.mjs +174 -22
- package/engine/populations.mjs +3 -2
- package/engine/project-init.mjs +499 -0
- package/engine/prose-config.mjs +1 -1
- package/engine/prose-lint.mjs +7 -6
- package/engine/readability-lint.mjs +86 -0
- package/engine/reckoning-markers.mjs +205 -93
- package/engine/scenes.mjs +5 -2
- package/engine/schema-check.mjs +3 -3
- package/engine/site-build.mjs +87 -37
- package/engine/site-config.mjs +8 -8
- package/engine/site-index.mjs +4 -0
- package/engine/site-maps.mjs +1 -1
- package/engine/site-preview.mjs +19 -8
- package/engine/social-ties.mjs +5 -1
- package/engine/sql-tables.mjs +92 -22
- package/engine/web-wikilinks.mjs +15 -31
- package/engine/wikilink-syntax.mjs +4 -1
- package/engine/wikilinks.mjs +12 -14
- package/hm3/item-fields.mjs +1 -1
- package/hm3/items.mjs +12 -45
- package/index.mjs +2 -14
- package/manifest.mjs +31 -4
- package/markdownlint-config.mjs +1 -1
- package/package.json +32 -11
- package/prettier-config.mjs +1 -1
- package/sohl/being-info.mjs +3 -145
- package/sohl/index.mjs +1 -1
- package/sohl/infobox.mjs +2 -1
- package/sohl/item-builders.mjs +3 -27
- package/sohl/item-fields.mjs +61 -22
- package/sohl/kb-passes.mjs +2 -2
- package/sohl/note-schemas.mjs +0 -8
- package/stage.mjs +19 -0
- package/types/config.d.mts +12 -3
- package/types/content-config.d.mts +15 -81
- package/types/engine/address-render.d.mts +13 -0
- package/types/engine/address.d.mts +2 -11
- package/types/engine/anchors.d.mts +3 -4
- package/types/engine/asset-bindings.d.mts +9 -2
- package/types/engine/base-compiler.d.mts +1 -2
- package/types/engine/being-measurements.d.mts +16 -0
- package/types/engine/calendar-choice.d.mts +14 -0
- package/types/engine/calendar-human.d.mts +4 -0
- package/types/engine/calendar-notes.d.mts +2 -0
- package/types/engine/calendars.d.mts +5 -3
- package/types/engine/code-fences.d.mts +6 -72
- package/types/engine/compile-corpus.d.mts +1 -3
- package/types/engine/content-admonitions.d.mts +24 -0
- package/types/engine/content-captions.d.mts +45 -0
- package/types/engine/content-footnotes.d.mts +10 -0
- package/types/engine/content-format-check.d.mts +17 -4
- package/types/engine/content-format.d.mts +24 -11
- package/types/engine/content-icons.d.mts +14 -23
- package/types/engine/content-images.d.mts +2 -2
- package/types/engine/content-index.d.mts +9 -2
- package/types/engine/content-links.d.mts +3 -5
- package/types/engine/content-tables.d.mts +11 -140
- package/types/engine/culture-choice.d.mts +14 -0
- package/types/engine/date-conversion.d.mts +4 -0
- package/types/engine/declaration-check.d.mts +24 -0
- package/types/engine/docs-checks.d.mts +28 -0
- package/types/engine/documentation-links.d.mts +7 -0
- package/types/engine/exported-scene.d.mts +6 -2
- package/types/engine/extension-attributes.d.mts +14 -0
- package/types/engine/field-spec.d.mts +9 -0
- package/types/engine/format-generated.d.mts +7 -0
- package/types/engine/frontmatter.d.mts +14 -4
- package/types/engine/generate.d.mts +1 -1
- package/types/engine/helpers.d.mts +37 -92
- package/types/engine/homepage.d.mts +2 -3
- package/types/engine/index.d.mts +5 -0
- package/types/engine/infobox-registry.d.mts +3 -1
- package/types/engine/infobox.d.mts +17 -6
- package/types/engine/item-compiler.d.mts +4 -4
- package/types/engine/item-docs.d.mts +4 -3
- package/types/engine/journals.d.mts +10 -7
- package/types/engine/map-graphviz.d.mts +1 -1
- package/types/engine/markdown-expressions.d.mts +17 -0
- package/types/engine/note-dates.d.mts +47 -1
- package/types/engine/note-package.d.mts +3 -19
- package/types/engine/note-state.d.mts +2 -1
- package/types/engine/note-vocabulary.d.mts +9 -0
- package/types/engine/number-words.d.mts +4 -0
- package/types/engine/office-holders.d.mts +14 -0
- package/types/engine/pack-config.d.mts +1 -1
- package/types/engine/packages.d.mts +3 -2
- package/types/engine/pdf-images.d.mts +38 -0
- package/types/engine/populations.d.mts +2 -2
- package/types/engine/project-init.d.mts +17 -0
- package/types/engine/prose-config.d.mts +1 -1
- package/types/engine/prose-lint.d.mts +3 -2
- package/types/engine/readability-lint.d.mts +22 -0
- package/types/engine/reckoning-markers.d.mts +4 -2
- package/types/engine/schema-check.d.mts +3 -3
- package/types/engine/site-build.d.mts +38 -28
- package/types/engine/site-config.d.mts +2 -2
- package/types/engine/site-index.d.mts +4 -0
- package/types/engine/site-preview.d.mts +1 -1
- package/types/engine/social-ties.d.mts +8 -2
- package/types/engine/sql-tables.d.mts +13 -2
- package/types/engine/web-wikilinks.d.mts +2 -1
- package/types/engine/wikilinks.d.mts +7 -1
- package/types/hm3/items.d.mts +5 -6
- package/types/labels.d.mts +40 -0
- package/types/manifest.d.mts +3 -3
- package/types/sohl/actors.d.mts +2 -2
- package/types/sohl/being-info.d.mts +3 -43
- package/types/sohl/index.d.mts +1 -1
- package/types/sohl/infobox.d.mts +5 -2
- package/types/sohl/item-fields.d.mts +4 -13
- package/types/stage.d.mts +9 -0
- package/CONTENT.md +0 -3239
|
@@ -7,53 +7,13 @@
|
|
|
7
7
|
export function isBeing(fm: {
|
|
8
8
|
type?: unknown;
|
|
9
9
|
} | null | undefined): boolean;
|
|
10
|
+
/** Shared being type and gear groups used by the SoHL infobox. @module */
|
|
10
11
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* Each item's `shortcode` is resolved against `index` — keyed
|
|
14
|
-
* `"<type>:<shortcode>"` — for a display name and a link to the item's own
|
|
15
|
-
* page. `attributes` already match the sidebar shape and pass through
|
|
16
|
-
* untouched.
|
|
17
|
-
*
|
|
18
|
-
* **Authored values win.** Only fields the author did not supply are derived,
|
|
19
|
-
* so a note that hand-writes `sohl.skills` keeps exactly what it wrote. An
|
|
20
|
-
* item's inline `name` beats the index, and an unresolved shortcode falls back
|
|
21
|
-
* to *itself* rather than being dropped — a page that names an item the index
|
|
22
|
-
* has not heard of is better than a page silently missing a row.
|
|
23
|
-
*
|
|
24
|
-
* Returns a new object; the input is not mutated.
|
|
25
|
-
*
|
|
26
|
-
* @param {object|null|undefined} sohl - The note's `sohl` frontmatter block.
|
|
27
|
-
* @param {Map<string, {name?: string, url?: string}>} index - Content index,
|
|
28
|
-
* `"<type>:<shortcode>"` → the item's page.
|
|
29
|
-
* @returns {object|null} The block with its info-block fields filled in, or the
|
|
30
|
-
* input unchanged when there is nothing to derive from — with an absent block
|
|
31
|
-
* reported as `null`, the value an empty one already carries.
|
|
32
|
-
*/
|
|
33
|
-
export function deriveBeingInfo(sohl: object | null | undefined, index: Map<string, {
|
|
34
|
-
name?: string;
|
|
35
|
-
url?: string;
|
|
36
|
-
}>): object | null;
|
|
37
|
-
/**
|
|
38
|
-
* The note `type` whose pages carry a being info block.
|
|
39
|
-
*
|
|
40
|
-
* One name: `character` and `creature` are the `being` they
|
|
41
|
-
* had always compiled into. The retired names are deliberately **not** accepted
|
|
42
|
-
* as aliases: they throw elsewhere in the system, and tolerating them here
|
|
43
|
-
* would hide the next drift of this kind rather than surface it.
|
|
12
|
+
* The note type for a being.
|
|
44
13
|
*/
|
|
45
14
|
export const BEING_TYPE: "being";
|
|
46
15
|
/**
|
|
47
|
-
* The
|
|
48
|
-
*
|
|
49
|
-
* Presentation naming, not data-model naming: the note type says `weapongear`,
|
|
50
|
-
* the sidebar heading says "weapons". Kept as one table so a new gear type is
|
|
51
|
-
* added in a single place rather than in each consumer's site build.
|
|
52
|
-
*
|
|
53
|
-
* Keyed by **note** type, which is what a being's embedded `(type, shortcode)`
|
|
54
|
-
* references spell — and three of those are not the document
|
|
55
|
-
* subtype they compile into. A reference still on a renamed spelling is
|
|
56
|
-
* normalised at the lookup below rather than given a second row here.
|
|
16
|
+
* The infobox group displayed for each gear note type.
|
|
57
17
|
*
|
|
58
18
|
* @type {Readonly<Record<string, string>>}
|
|
59
19
|
*/
|
package/types/sohl/index.d.mts
CHANGED
|
@@ -6,4 +6,4 @@ export * as kbPasses from "./kb-passes.mjs";
|
|
|
6
6
|
export * as infobox from "./infobox.mjs";
|
|
7
7
|
export { AFFILIATION_STANDINGS } from "./affiliation-standings.mjs";
|
|
8
8
|
export { DEFAULT_ITEM_ART, defaultItemArt } from "./default-item-art.mjs";
|
|
9
|
-
export { BEING_TYPE, GEAR_TYPE_TO_KEY,
|
|
9
|
+
export { BEING_TYPE, GEAR_TYPE_TO_KEY, isBeing } from "./being-info.mjs";
|
package/types/sohl/infobox.d.mts
CHANGED
|
@@ -26,10 +26,13 @@ export function decodeItem(entry: object): {
|
|
|
26
26
|
* sparse creature's box short rather than mostly empty.
|
|
27
27
|
*
|
|
28
28
|
* @param {object} fm - The note's frontmatter.
|
|
29
|
-
* @param {
|
|
29
|
+
* @param {{block: string, resolve?: Function}} ctx - Rendering context.
|
|
30
30
|
* @returns {object[]} The sections.
|
|
31
31
|
*/
|
|
32
|
-
export function beingSections(fm: object, { block, resolve }:
|
|
32
|
+
export function beingSections(fm: object, { block, resolve }: {
|
|
33
|
+
block: string;
|
|
34
|
+
resolve?: Function;
|
|
35
|
+
}): object[];
|
|
33
36
|
/**
|
|
34
37
|
* Armour's box: whatever the note states, then the protection it gives.
|
|
35
38
|
*
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/** The strike mode required for combat techniques and omitted for other skills.
|
|
2
|
+
* @type {import("../engine/field-spec.mjs").FieldSpec}
|
|
3
|
+
*/
|
|
4
|
+
export const COMBAT_TECHNIQUE_STRIKE_MODE: import("../engine/field-spec.mjs").FieldSpec;
|
|
1
5
|
/**
|
|
2
6
|
* Every item type's frontmatter vocabulary, in the order the `system` block
|
|
3
7
|
* emits it.
|
|
@@ -13,16 +17,3 @@
|
|
|
13
17
|
* @type {Readonly<Record<string, readonly import("../engine/field-spec.mjs").FieldSpec[]>>}
|
|
14
18
|
*/
|
|
15
19
|
export const ITEM_FIELDS: Readonly<Record<string, readonly import("../engine/field-spec.mjs").FieldSpec[]>>;
|
|
16
|
-
/**
|
|
17
|
-
* The one conditional field in the vocabulary: a combat technique's strike
|
|
18
|
-
* mode.
|
|
19
|
-
*
|
|
20
|
-
* A combat technique is authored as a `skill` of subtype `combattechnique` —
|
|
21
|
-
* the standalone item type was merged into Skill — and carries an embedded,
|
|
22
|
-
* discriminated strike mode. It is mandatory for that subtype and absent from
|
|
23
|
-
* every other skill, which is a conditional a flat field list cannot state, so
|
|
24
|
-
* it is applied after the declaration runs.
|
|
25
|
-
*
|
|
26
|
-
* @type {import("../engine/field-spec.mjs").FieldSpec}
|
|
27
|
-
*/
|
|
28
|
-
export const COMBAT_TECHNIQUE_STRIKE_MODE: import("../engine/field-spec.mjs").FieldSpec;
|
package/types/stage.d.mts
CHANGED
|
@@ -74,6 +74,15 @@ export function cleanBuildArtifacts(root: string, { extra, includeNodeModules }?
|
|
|
74
74
|
extra?: readonly string[] | undefined;
|
|
75
75
|
includeNodeModules?: boolean | undefined;
|
|
76
76
|
}): string[];
|
|
77
|
+
/**
|
|
78
|
+
* Remove the configured Foundry stage before a complete build assembles it.
|
|
79
|
+
* Other build outputs, including the content index, remain available.
|
|
80
|
+
*
|
|
81
|
+
* @param {string} root - Repository root.
|
|
82
|
+
* @param {string} stageDir - Configured stage directory, relative to root.
|
|
83
|
+
* @returns {boolean} Whether the stage existed.
|
|
84
|
+
*/
|
|
85
|
+
export function resetStage(root: string, stageDir: string): boolean;
|
|
77
86
|
/**
|
|
78
87
|
* Directories every HeroicLands repository regenerates and none commits.
|
|
79
88
|
*
|