@heroiclands/package-build 22.15.1 → 22.17.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 +110 -0
- package/README.md +39 -678
- package/bin/{content-build.mjs → content-commands.mjs} +197 -118
- package/bin/package-build.mjs +315 -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 +296 -236
- package/docs/authoring/assets.md +31 -0
- package/docs/authoring/dates-and-calendars.md +85 -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 +633 -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 +4362 -0
- package/docs/reference/note-types.md +532 -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-format.mjs +441 -0
- package/engine/calendar-human.mjs +133 -0
- package/engine/calendar-notes.mjs +307 -88
- 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 +746 -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 +118 -0
- package/engine/metadata-index.mjs +7 -3
- package/engine/note-addresses.mjs +1 -0
- package/engine/note-dates.mjs +314 -64
- 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 +176 -166
- 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-format.d.mts +33 -0
- package/types/engine/calendar-human.d.mts +4 -0
- package/types/engine/calendar-notes.d.mts +5 -3
- 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 +13 -26
- 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
package/docs/commands.md
CHANGED
|
@@ -1,16 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
shortcode: commands
|
|
3
|
+
name: { full: "Command reference" }
|
|
4
|
+
type: doc
|
|
5
|
+
subType: reference
|
|
6
|
+
---
|
|
7
|
+
|
|
1
8
|
# Command reference
|
|
2
9
|
|
|
3
|
-
`@heroiclands/package-build` ships
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
compile a note tree into compendium packs, check it, publish it as a site or a
|
|
7
|
-
book, and manage the caches a build resolves other packages through.
|
|
10
|
+
`@heroiclands/package-build` ships the `package-build` command. It checks and
|
|
11
|
+
compiles content, builds sites and books, stages packages, writes manifests,
|
|
12
|
+
and manages release and deployment tasks.
|
|
8
13
|
|
|
9
|
-
|
|
10
|
-
[Configuration](configuration.md) for every key.
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
+
The commands read `package-build.config.yaml` from the repository root — see
|
|
15
|
+
[Configuration](configuration.md) for every key. `--version` and `--help`
|
|
16
|
+
work in a directory with no configuration. Commands that need a package
|
|
17
|
+
resolve its configuration and report missing or invalid values.
|
|
18
|
+
`package-build --help` lists every command; `package-build <command> --help`
|
|
19
|
+
shows its actions and options.
|
|
14
20
|
|
|
15
21
|
Each command below reads like a manual page: **NAME**, **SYNOPSIS**,
|
|
16
22
|
**DESCRIPTION**, **OPTIONS**, **EXIT STATUS**, **EXAMPLES**, **SEE ALSO**, in
|
|
@@ -21,7 +27,7 @@ says so under **OPTIONS** rather than omitting the section.
|
|
|
21
27
|
|
|
22
28
|
**Every finding is `file:line:column: severity: message`**, the path starting
|
|
23
29
|
the line — the diagnostic contract this package's own build tooling emits and
|
|
24
|
-
that
|
|
30
|
+
that content commands use for anything found in a
|
|
25
31
|
specific file. A field that cannot be known is dropped rather than guessed:
|
|
26
32
|
`file:line:` when the column means nothing, `file:` when only the file is
|
|
27
33
|
known. See [Diagnostics](diagnostics.md) for the full contract.
|
|
@@ -32,34 +38,24 @@ do. 1 is failure: a configuration error, a missing prerequisite, or findings
|
|
|
32
38
|
that the command treats as errors. Each command's own **EXIT STATUS** states
|
|
33
39
|
exactly what makes its run a 1.
|
|
34
40
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
for a located diagnostic) and sets `process.exitCode = 1`; a command-line
|
|
45
|
-
parse error — an unknown flag, a missing required option, an action outside
|
|
46
|
-
its `choices` — is reported by yargs' own default handler and also exits 1.
|
|
47
|
-
|
|
48
|
-
**Both binaries are `strict()` and `demandCommand(1, …)`.** An unknown
|
|
49
|
-
command or option is refused rather than ignored, and running either with no
|
|
50
|
-
command prints usage and exits 1 rather than silently doing nothing — the
|
|
51
|
-
failure mode that let a typo in a build script pass the step it was meant to
|
|
52
|
-
run. The one exception is `package-build e2e <action>`, which relaxes to
|
|
41
|
+
Packaging handlers report a thrown error as `package-build: <message>`, or as
|
|
42
|
+
the bare diagnostic when it already has a location. Content handlers report
|
|
43
|
+
their own failures, with ordinary failures prefixed by loglevel and located
|
|
44
|
+
diagnostics unprefixed. Both forms exit 1. A parse error from an unknown flag,
|
|
45
|
+
missing option, or invalid action also exits 1.
|
|
46
|
+
|
|
47
|
+
The command uses `strict()` and `demandCommand(1, …)`. An unknown
|
|
48
|
+
command or option is refused rather than ignored, and running it with no
|
|
49
|
+
command prints usage and exits 1. `package-build e2e <action>` relaxes to
|
|
53
50
|
`.strict(false)` for everything after the action, because that belongs to the
|
|
54
51
|
suite or the fast loop and this command line must not judge it.
|
|
55
52
|
|
|
56
|
-
**`--help` / `-h` and `--version` are global
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
lists them among its own options.
|
|
53
|
+
**`--help` / `-h` and `--version` are global.** The parser registers them
|
|
54
|
+
once, and `--help` can be used with any command for its own actions and options.
|
|
55
|
+
The command entries below list only their own options.
|
|
60
56
|
|
|
61
57
|
**`PACKAGE_BUILD_CONFIG`** names the configuration file explicitly instead of
|
|
62
|
-
the walk up from the working directory
|
|
58
|
+
the walk up from the working directory the CLI otherwise does — the only
|
|
63
59
|
environment variable the toolchain itself reads for configuration
|
|
64
60
|
resolution. `deploy`, `container` and `e2e` additionally read `FOUNDRYVTT_*`,
|
|
65
61
|
documented where each applies.
|
|
@@ -70,7 +66,139 @@ behaviour where they appear below; read the command, not the name.
|
|
|
70
66
|
|
|
71
67
|
---
|
|
72
68
|
|
|
73
|
-
##
|
|
69
|
+
## Package and release operations
|
|
70
|
+
|
|
71
|
+
### `package-build ci`
|
|
72
|
+
|
|
73
|
+
**NAME**
|
|
74
|
+
|
|
75
|
+
Replay the commands from pull-request workflows.
|
|
76
|
+
|
|
77
|
+
**SYNOPSIS**
|
|
78
|
+
|
|
79
|
+
```text
|
|
80
|
+
package-build ci [--native]
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
**DESCRIPTION**
|
|
84
|
+
|
|
85
|
+
The default command runs in Docker on Linux against a clean export of the
|
|
86
|
+
current commit. It reads the repository's pull-request workflows under
|
|
87
|
+
`.github/workflows/` and runs their `run:` steps in workflow order. A failed
|
|
88
|
+
step stops the replay. Uncommitted changes are absent from the clean export.
|
|
89
|
+
|
|
90
|
+
`--native` runs the same steps on the host in the current working tree. It
|
|
91
|
+
needs no Docker and includes uncommitted changes, but its operating system and
|
|
92
|
+
existing files can differ from a clean GitHub runner. The steps themselves
|
|
93
|
+
still come from the workflow files.
|
|
94
|
+
|
|
95
|
+
The command lists `uses:` steps that it cannot run locally. A successful replay
|
|
96
|
+
covers the listed `run:` steps; GitHub runs the published actions separately.
|
|
97
|
+
Workflow steps may install dependencies, generate files, or perform other
|
|
98
|
+
declared build actions.
|
|
99
|
+
|
|
100
|
+
**OPTIONS**
|
|
101
|
+
|
|
102
|
+
| Option | Type | Default | Description |
|
|
103
|
+
| ---------- | ------- | ------- | -------------------------------------------- |
|
|
104
|
+
| `--native` | boolean | false | Run on the host in the current working tree. |
|
|
105
|
+
|
|
106
|
+
**EXIT STATUS**
|
|
107
|
+
|
|
108
|
+
0 when every runnable step succeeds. 1 when a step fails, no pull-request
|
|
109
|
+
workflow supplies runnable steps, Docker is unavailable for the default mode,
|
|
110
|
+
or the replay cannot start.
|
|
111
|
+
|
|
112
|
+
**EXAMPLES**
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
package-build ci
|
|
116
|
+
package-build ci --native
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
**SEE ALSO**
|
|
120
|
+
|
|
121
|
+
[End-to-end testing](guides/e2e.md), [Project setup](project-setup.md).
|
|
122
|
+
|
|
123
|
+
### `package-build init [directory]`
|
|
124
|
+
|
|
125
|
+
**NAME**
|
|
126
|
+
|
|
127
|
+
Create a HeroicLands content package or check an existing one.
|
|
128
|
+
|
|
129
|
+
**SYNOPSIS**
|
|
130
|
+
|
|
131
|
+
```text
|
|
132
|
+
package-build init [directory] [--kind <kind>] [--name <name>] [--title <title>] [--description <description>] [--author <author>] [--license <license>] [--core-minimum <version>] [--core-verified <version>]
|
|
133
|
+
package-build init --check [directory]
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
**DESCRIPTION**
|
|
137
|
+
|
|
138
|
+
The directory defaults to the current directory. If it does not exist, `init`
|
|
139
|
+
creates it. The directory needs no Git repository, `package.json`, or local
|
|
140
|
+
installation of package-build. It may contain unrelated files, but `init`
|
|
141
|
+
refuses a package-build configuration or any file it would overwrite. It
|
|
142
|
+
generates a homepage, introduction, package metadata, content configuration,
|
|
143
|
+
book document tree, website and book scripts, formatting rules, changeset
|
|
144
|
+
configuration, label registry, and build workflow. It does not install
|
|
145
|
+
dependencies, initialize Git, or deploy a site.
|
|
146
|
+
|
|
147
|
+
`--check` reads the named directory and reports missing or invalid project
|
|
148
|
+
requirements without writing anything. It accepts existing files with valid
|
|
149
|
+
custom content and scripts; they need not be identical to the scaffold.
|
|
150
|
+
|
|
151
|
+
Without a terminal, the identity and license arguments must be supplied. At a
|
|
152
|
+
terminal, missing values are prompted. The package name defaults to the target
|
|
153
|
+
directory's basename and determines the content package id by removing hyphens.
|
|
154
|
+
The package kind defaults to `modules`; the license template defaults to
|
|
155
|
+
`original`. `systems` and `modules` receive a journal pack and Foundry
|
|
156
|
+
manifest configuration. `documentation` receives no Foundry pack or manifest.
|
|
157
|
+
Every kind includes site and book targets. Hugo Extended and Typst are needed
|
|
158
|
+
to render them locally; deployment needs separate hosting configuration.
|
|
159
|
+
|
|
160
|
+
**OPTIONS**
|
|
161
|
+
|
|
162
|
+
| Option | Type | Default | Description |
|
|
163
|
+
| ----------------- | ---------------------------------------- | ------------------------- | --------------------------------------------------------- |
|
|
164
|
+
| `directory` | path | current directory | New or existing target directory. |
|
|
165
|
+
| `--check` | boolean | `false` | Inspect an existing package without writing. |
|
|
166
|
+
| `--kind` | `systems`, `modules`, or `documentation` | `modules` | Package kind. |
|
|
167
|
+
| `--name` | string | target directory basename | npm and Foundry package name. |
|
|
168
|
+
| `--title` | string | words of the package name | Reader-facing title. |
|
|
169
|
+
| `--description` | string | — | Package and website description. |
|
|
170
|
+
| `--author` | string | — | Author credited in the package. |
|
|
171
|
+
| `--license` | `original` or `fan` | `original` | License template for original or unofficial fan material. |
|
|
172
|
+
| `--core-minimum` | string | `14.359` | Minimum Foundry core version for a Foundry package. |
|
|
173
|
+
| `--core-verified` | string | `14.364` | Verified Foundry core version for a Foundry package. |
|
|
174
|
+
|
|
175
|
+
**EXIT STATUS**
|
|
176
|
+
|
|
177
|
+
0 when the package is created or passes `--check`. 1 when required answers are
|
|
178
|
+
missing, the target conflicts with an existing project file, a generated file
|
|
179
|
+
cannot be written, or `--check` finds an unmet requirement. A failed write
|
|
180
|
+
removes the files created by that invocation.
|
|
181
|
+
|
|
182
|
+
**EXAMPLES**
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
npm exec --package=@heroiclands/package-build -- package-build init acme-bestiary --kind modules --name acme-bestiary --title "Acme Bestiary" --description "Creatures of the reed flats." --author "Acme" --license original
|
|
186
|
+
cd acme-bestiary
|
|
187
|
+
npm install
|
|
188
|
+
npm run lint
|
|
189
|
+
npm run build:site
|
|
190
|
+
npm run serve:site
|
|
191
|
+
npm run build:book
|
|
192
|
+
package-build init --check
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
For a global installation, run `npm install --global
|
|
196
|
+
@heroiclands/package-build` once and then `package-build init [directory]`.
|
|
197
|
+
|
|
198
|
+
**SEE ALSO**
|
|
199
|
+
|
|
200
|
+
[Getting started](getting-started.md), [Project setup](project-setup.md),
|
|
201
|
+
[Configuration](configuration.md).
|
|
74
202
|
|
|
75
203
|
### `package-build clean`
|
|
76
204
|
|
|
@@ -113,6 +241,43 @@ Nothing to clean.
|
|
|
113
241
|
|
|
114
242
|
[Configuration](configuration.md).
|
|
115
243
|
|
|
244
|
+
### `package-build stage reset`
|
|
245
|
+
|
|
246
|
+
**NAME**
|
|
247
|
+
|
|
248
|
+
Clear the assembled Foundry package stage before a complete build.
|
|
249
|
+
|
|
250
|
+
**SYNOPSIS**
|
|
251
|
+
|
|
252
|
+
```
|
|
253
|
+
package-build stage reset
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
**DESCRIPTION**
|
|
257
|
+
|
|
258
|
+
The `reset` action removes `packageBuild.stageDir` without removing the content index, PDF, site,
|
|
259
|
+
or other build outputs. Run it once before the commands that write assets, packs,
|
|
260
|
+
bundles, and the manifest. It succeeds when the stage is already empty.
|
|
261
|
+
|
|
262
|
+
**OPTIONS**
|
|
263
|
+
|
|
264
|
+
There are no options.
|
|
265
|
+
|
|
266
|
+
**EXIT STATUS**
|
|
267
|
+
|
|
268
|
+
1 on an invalid configuration or a stage directory outside the project. Otherwise 0.
|
|
269
|
+
|
|
270
|
+
**EXAMPLES**
|
|
271
|
+
|
|
272
|
+
```
|
|
273
|
+
$ package-build stage reset
|
|
274
|
+
Removed build/stage
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
**SEE ALSO**
|
|
278
|
+
|
|
279
|
+
[Project setup](project-setup.md), [Configuration](configuration.md).
|
|
280
|
+
|
|
116
281
|
### `package-build assets`
|
|
117
282
|
|
|
118
283
|
**NAME**
|
|
@@ -176,7 +341,7 @@ Reads the package's current JSONL content index and writes
|
|
|
176
341
|
`build/calendars/<shortcode>.calendaria.json` for each calendar note. The
|
|
177
342
|
import file contains the same definition and a fixed `exportedAt` sentinel,
|
|
178
343
|
making both files reproducible. A package with no calendars gets an empty
|
|
179
|
-
`build/calendars/` directory. Run `
|
|
344
|
+
`build/calendars/` directory. Run `package-build content-index` after changing
|
|
180
345
|
notes and before this command. Stage the generated directory with
|
|
181
346
|
`packageBuild.assets` when the Foundry package should ship it.
|
|
182
347
|
|
|
@@ -199,7 +364,90 @@ $ package-build calendars --calendaria-version 1.4.2
|
|
|
199
364
|
|
|
200
365
|
**SEE ALSO**
|
|
201
366
|
|
|
202
|
-
`
|
|
367
|
+
`package-build content-index`, [Getting started](getting-started.md).
|
|
368
|
+
|
|
369
|
+
### `package-build datefrom`
|
|
370
|
+
|
|
371
|
+
**NAME**
|
|
372
|
+
|
|
373
|
+
Convert a day in an authored calendar to a canonical date.
|
|
374
|
+
|
|
375
|
+
**SYNOPSIS**
|
|
376
|
+
|
|
377
|
+
```
|
|
378
|
+
package-build datefrom <calendar> <date>
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
**DESCRIPTION**
|
|
382
|
+
|
|
383
|
+
Reads the current content tree, resolves its world year and calendar eras, and
|
|
384
|
+
prints `<year>.<day>[:HHMMSS]` to standard output. `<calendar>` is a calendar
|
|
385
|
+
shortcode, full Address, or addressed era. The date follows the calendar's
|
|
386
|
+
`data.formats.std` pattern, or its first named pattern when `std` is absent.
|
|
387
|
+
For example, `MM/DD/Y GGG` reads `04/23/326 VR`. An era-relative year written
|
|
388
|
+
with `[yearInEra]` must identify its era. A date must specify a day;
|
|
389
|
+
year-only and month-only dates do not identify one canonical day.
|
|
390
|
+
Prefix the date with `~` to preserve an approximate value.
|
|
391
|
+
|
|
392
|
+
**OPTIONS**
|
|
393
|
+
|
|
394
|
+
None.
|
|
395
|
+
|
|
396
|
+
**EXIT STATUS**
|
|
397
|
+
|
|
398
|
+
1 if the content tree or calendar is invalid, the era is missing or mismatched,
|
|
399
|
+
or the date cannot be resolved to one day. Otherwise 0.
|
|
400
|
+
|
|
401
|
+
**EXAMPLES**
|
|
402
|
+
|
|
403
|
+
```
|
|
404
|
+
$ package-build datefrom vrcal '23 Taranis 326 VR'
|
|
405
|
+
326.114
|
|
406
|
+
```
|
|
407
|
+
|
|
408
|
+
**SEE ALSO**
|
|
409
|
+
|
|
410
|
+
`package-build dateto`, [Content format](content-format.md).
|
|
411
|
+
|
|
412
|
+
### `package-build dateto`
|
|
413
|
+
|
|
414
|
+
**NAME**
|
|
415
|
+
|
|
416
|
+
Express a canonical day in an authored calendar.
|
|
417
|
+
|
|
418
|
+
**SYNOPSIS**
|
|
419
|
+
|
|
420
|
+
```
|
|
421
|
+
package-build dateto <calendar> <canonical-date> [--format <name>]
|
|
422
|
+
```
|
|
423
|
+
|
|
424
|
+
**DESCRIPTION**
|
|
425
|
+
|
|
426
|
+
Reads the current content tree, selects the era covering the canonical day, and
|
|
427
|
+
prints the date using `data.formats.std`, or the first named pattern if `std`
|
|
428
|
+
is absent. The input is
|
|
429
|
+
`<year>.<day>[:HHMMSS]`, optionally prefixed with `~`. A date in a gap between
|
|
430
|
+
eras has no conversion.
|
|
431
|
+
|
|
432
|
+
**OPTIONS**
|
|
433
|
+
|
|
434
|
+
`--format` selects another named pattern from the calendar note; pass its name as the value.
|
|
435
|
+
|
|
436
|
+
**EXIT STATUS**
|
|
437
|
+
|
|
438
|
+
1 if the content tree or calendar is invalid, the canonical date is invalid,
|
|
439
|
+
or no era covers that day. Otherwise 0.
|
|
440
|
+
|
|
441
|
+
**EXAMPLES**
|
|
442
|
+
|
|
443
|
+
```
|
|
444
|
+
$ package-build dateto vrcal 326.114
|
|
445
|
+
23 Taranis 326 VR
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
**SEE ALSO**
|
|
449
|
+
|
|
450
|
+
`package-build datefrom`, [Content format](content-format.md).
|
|
203
451
|
|
|
204
452
|
### `package-build schema`
|
|
205
453
|
|
|
@@ -216,13 +464,13 @@ package-build schema
|
|
|
216
464
|
**DESCRIPTION**
|
|
217
465
|
|
|
218
466
|
Publishes the registries named in `packageBuild.schema` as `schema.json`, read
|
|
219
|
-
by `
|
|
220
|
-
`
|
|
467
|
+
by `package-build content-format schema` and, in a consuming package, by
|
|
468
|
+
`package-build lint`'s emitted-versus-declared check. A repository that
|
|
221
469
|
declares no registries has nothing to publish. Reads the registries
|
|
222
470
|
`packageBuild.schema` names; writes `build/schema.json`. A release publishes
|
|
223
471
|
it beside the archive and the manifest when `packageBuild.assets` names
|
|
224
472
|
`build/schema.json` (see `package-build release`); a module's
|
|
225
|
-
`
|
|
473
|
+
`package-build deps fetch` keeps the copy from the archive it downloads.
|
|
226
474
|
|
|
227
475
|
**OPTIONS**
|
|
228
476
|
|
|
@@ -242,7 +490,7 @@ package-build: no `packageBuild.schema` declared; nothing to publish.
|
|
|
242
490
|
|
|
243
491
|
**SEE ALSO**
|
|
244
492
|
|
|
245
|
-
`
|
|
493
|
+
`package-build content-format schema`, `package-build lint [root]`,
|
|
246
494
|
`package-build release`, [Configuration](configuration.md).
|
|
247
495
|
|
|
248
496
|
### `package-build manifest`
|
|
@@ -268,12 +516,14 @@ in `packageBuild.manifestFlags` for a flag the repository has to compute
|
|
|
268
516
|
itself — the compendium address of a document that exists only once the
|
|
269
517
|
content tree has been walked. Reads the shared pack configuration and
|
|
270
518
|
`package.json`; writes the manifest into `packageBuild.stageDir`.
|
|
519
|
+
`packageBuild.manifest.title` must be a non-empty string, so the staged
|
|
520
|
+
manifest carries the title Foundry requires for installation.
|
|
271
521
|
|
|
272
522
|
**Refused for `packageKind: documentation`.** A manifest is the file Foundry
|
|
273
523
|
reads to install a package, and a documentation package is not one —
|
|
274
524
|
emitting `module.json` for it would advertise an installable package with no
|
|
275
525
|
packs, no compatibility range and no id. Its site is built by
|
|
276
|
-
`
|
|
526
|
+
`package-build site`, and its book by `package-build pdf`.
|
|
277
527
|
|
|
278
528
|
**OPTIONS**
|
|
279
529
|
|
|
@@ -284,7 +534,8 @@ None.
|
|
|
284
534
|
1 for `packageKind: documentation`. 1 if `packageBuild.manifestFlags` is
|
|
285
535
|
declared but cannot be loaded, or exports no `flags` function. 1 on any other
|
|
286
536
|
thrown error (a manifest key the configuration cannot supply —
|
|
287
|
-
`package.json` naming no `repository.url`,
|
|
537
|
+
`package.json` naming no `repository.url`, or a missing or blank
|
|
538
|
+
`packageBuild.manifest.title`, for instance). Otherwise 0.
|
|
288
539
|
|
|
289
540
|
**EXAMPLES**
|
|
290
541
|
|
|
@@ -293,12 +544,12 @@ $ package-build manifest
|
|
|
293
544
|
✅ Wrote build/stage/module.json (10 keys, 2 packs).
|
|
294
545
|
|
|
295
546
|
$ package-build manifest # packageKind: documentation
|
|
296
|
-
package-build: `packageKind: documentation` ships no Foundry package, so there is no manifest to generate. The site and the book are built by `
|
|
547
|
+
package-build: `packageKind: documentation` ships no Foundry package, so there is no manifest to generate. The site and the book are built by `package-build`.
|
|
297
548
|
```
|
|
298
549
|
|
|
299
550
|
**SEE ALSO**
|
|
300
551
|
|
|
301
|
-
`
|
|
552
|
+
`package-build site`, `package-build pdf`, `package-build bundle check`,
|
|
302
553
|
[Configuration](configuration.md).
|
|
303
554
|
|
|
304
555
|
### `package-build site-root`
|
|
@@ -388,7 +639,7 @@ Search is off (`site.search: false`), so no index was written.
|
|
|
388
639
|
|
|
389
640
|
**SEE ALSO**
|
|
390
641
|
|
|
391
|
-
`
|
|
642
|
+
`package-build site`, [Configuration](configuration.md).
|
|
392
643
|
|
|
393
644
|
`package-build lang <action>` asks three independent questions about this
|
|
394
645
|
repository's localization, each blind to what the others see: `check`,
|
|
@@ -721,7 +972,9 @@ from the heading rule, since neither is authored.
|
|
|
721
972
|
A token that reads as code — `camelCase()`, a `path/with/slashes.ext`,
|
|
722
973
|
`SCREAMING_SNAKE` — outside any code span is a warning, not a failure: a
|
|
723
974
|
user-facing note sometimes needs one (`Compendium.hm3.items.Item.<id>`), but
|
|
724
|
-
rarely.
|
|
975
|
+
rarely. Accented letters keep proper names such as HârnMaster whole, so a
|
|
976
|
+
fragment of one does not trigger a code-token warning. A block's bold label
|
|
977
|
+
absent from a declared `changelog.labels` is
|
|
725
978
|
also a warning — the drift `**Character data**` beside `**Characters**`
|
|
726
979
|
produces — and checks nothing when the repository declares no
|
|
727
980
|
`changelog.labels`. Every other finding is an error. Reads the files given,
|
|
@@ -885,8 +1138,8 @@ states it a second time. It also publishes the content index the manifest
|
|
|
885
1138
|
advertises (`flags.metadataUrl`) and, when the stage carries one,
|
|
886
1139
|
`schema.json` — a repository that names `build/schema.json` in
|
|
887
1140
|
`packageBuild.assets` gets it released beside the archive; one that does not
|
|
888
|
-
gets none. When the
|
|
889
|
-
also builds the content-tree book (see `
|
|
1141
|
+
gets none. When the content tree holds notes beyond its homepage, it
|
|
1142
|
+
also builds the content-tree book (see `package-build pdf`) and reports it
|
|
890
1143
|
alongside the archive; `--no-pdf` skips that step for a release that has a
|
|
891
1144
|
tree but does not want the book this time. A book that fails to build is
|
|
892
1145
|
reported, never fatal — the archive above is the release regardless. Reads
|
|
@@ -910,12 +1163,12 @@ are reported on stderr but do not fail the release.
|
|
|
910
1163
|
```
|
|
911
1164
|
$ package-build release
|
|
912
1165
|
✅ Packaged 1.0.0 for release: build/dist/module.zip (0.0 MB)
|
|
913
|
-
No book:
|
|
1166
|
+
No book: The content tree contains only a homepage, so there is no book to build.
|
|
914
1167
|
```
|
|
915
1168
|
|
|
916
1169
|
**SEE ALSO**
|
|
917
1170
|
|
|
918
|
-
`
|
|
1171
|
+
`package-build pdf`, `package-build schema`, [Configuration](configuration.md).
|
|
919
1172
|
|
|
920
1173
|
### `package-build deploy <stage>`
|
|
921
1174
|
|
|
@@ -1107,9 +1360,9 @@ package-build: This repository declares no end-to-end suite to `run`. Name one u
|
|
|
1107
1360
|
|
|
1108
1361
|
---
|
|
1109
1362
|
|
|
1110
|
-
##
|
|
1363
|
+
## Content operations
|
|
1111
1364
|
|
|
1112
|
-
### `
|
|
1365
|
+
### `package-build package <action> [pack] [entry]`
|
|
1113
1366
|
|
|
1114
1367
|
**NAME**
|
|
1115
1368
|
|
|
@@ -1119,9 +1372,9 @@ process.
|
|
|
1119
1372
|
**SYNOPSIS**
|
|
1120
1373
|
|
|
1121
1374
|
```
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1375
|
+
package-build package compile [pack]
|
|
1376
|
+
package-build package unpack [pack] [entry]
|
|
1377
|
+
package-build package clean [pack] [entry]
|
|
1125
1378
|
```
|
|
1126
1379
|
|
|
1127
1380
|
**DESCRIPTION**
|
|
@@ -1141,8 +1394,8 @@ the staged LevelDB packs.
|
|
|
1141
1394
|
`unpack` and `clean` alike. A package of that kind declares no packs by
|
|
1142
1395
|
rule, so there is nothing to compile, unpack or clean; a run that exited 0
|
|
1143
1396
|
having done nothing would be the quiet failure this toolchain refuses
|
|
1144
|
-
everywhere else. Its site is built by `
|
|
1145
|
-
`
|
|
1397
|
+
everywhere else. Its site is built by `package-build site`, and its book by
|
|
1398
|
+
`package-build pdf`.
|
|
1146
1399
|
|
|
1147
1400
|
**OPTIONS**
|
|
1148
1401
|
|
|
@@ -1163,10 +1416,10 @@ step to report against. 1 on any other thrown error. Otherwise 0.
|
|
|
1163
1416
|
**EXAMPLES**
|
|
1164
1417
|
|
|
1165
1418
|
```
|
|
1166
|
-
$
|
|
1167
|
-
[…] ERROR: `packageKind: documentation` compiles no compendium, so there is nothing to compile. Build its site with `
|
|
1419
|
+
$ package-build package compile # packageKind: documentation
|
|
1420
|
+
[…] ERROR: `packageKind: documentation` compiles no compendium, so there is nothing to compile. Build its site with `package-build site` and its book with `package-build pdf`.
|
|
1168
1421
|
|
|
1169
|
-
$
|
|
1422
|
+
$ package-build package compile
|
|
1170
1423
|
[…] Content tree: 4 note(s) at /private/tmp/pb-docs-demo-410/assets/content
|
|
1171
1424
|
[…] Pack items: /private/tmp/pb-docs-demo-410/assets/content → …/build/packs-json/items
|
|
1172
1425
|
[…] Compiled 0 items:
|
|
@@ -1176,7 +1429,7 @@ $ content-build package compile
|
|
|
1176
1429
|
[…] Pack journals: compiling to LevelDB at …/build/stage/packs/journals
|
|
1177
1430
|
[…] Pack compilation complete.
|
|
1178
1431
|
|
|
1179
|
-
$
|
|
1432
|
+
$ package-build package unpack
|
|
1180
1433
|
[…] Extracting pack items
|
|
1181
1434
|
[…] Extracting pack journals
|
|
1182
1435
|
Wrote welcome.json
|
|
@@ -1184,10 +1437,10 @@ Wrote welcome.json
|
|
|
1184
1437
|
|
|
1185
1438
|
**SEE ALSO**
|
|
1186
1439
|
|
|
1187
|
-
`
|
|
1440
|
+
`package-build site`, `package-build pdf`, `package-build addresses diff`,
|
|
1188
1441
|
[Diagnostics](diagnostics.md), [Configuration](configuration.md).
|
|
1189
1442
|
|
|
1190
|
-
### `
|
|
1443
|
+
### `package-build deps fetch`
|
|
1191
1444
|
|
|
1192
1445
|
**NAME**
|
|
1193
1446
|
|
|
@@ -1196,7 +1449,7 @@ Fill the caches a build resolves other packages through.
|
|
|
1196
1449
|
**SYNOPSIS**
|
|
1197
1450
|
|
|
1198
1451
|
```
|
|
1199
|
-
|
|
1452
|
+
package-build deps fetch [--from <zip|dir>] [--id <id>]
|
|
1200
1453
|
```
|
|
1201
1454
|
|
|
1202
1455
|
**DESCRIPTION**
|
|
@@ -1212,6 +1465,12 @@ is not reproducible and hides a dependency's version change behind a
|
|
|
1212
1465
|
passing run. Each cache is stamped complete only once its fetch finishes,
|
|
1213
1466
|
so a half-finished one reads as cold.
|
|
1214
1467
|
|
|
1468
|
+
`lint`, `links`, `site`, `pdf`, `map`, `reachability`, and `package compile`
|
|
1469
|
+
check the declared dependencies' content-index cache before reading notes or
|
|
1470
|
+
writing output. A cold cache produces a diagnostic at the package configuration
|
|
1471
|
+
file naming `deps fetch`. These checks only read local files; `deps fetch` is
|
|
1472
|
+
the separate step that reaches the network.
|
|
1473
|
+
|
|
1215
1474
|
The navigation is fetched first, because every package needs it and it
|
|
1216
1475
|
depends on nothing a repository declares — so a dependency whose release
|
|
1217
1476
|
cannot be read stops the run with the navigation already cached.
|
|
@@ -1240,20 +1499,140 @@ including when the repository declares no dependencies at all.
|
|
|
1240
1499
|
**EXAMPLES**
|
|
1241
1500
|
|
|
1242
1501
|
```
|
|
1243
|
-
$
|
|
1502
|
+
$ package-build deps fetch
|
|
1244
1503
|
[…] Fetched the site navigation to build/cache/navigation/nav.json.
|
|
1245
1504
|
[…] No relationship declares `itemCatalog: true`; nothing to fetch.
|
|
1246
1505
|
[…] This package declares no dependencies.
|
|
1247
1506
|
|
|
1248
|
-
$
|
|
1507
|
+
$ package-build deps fetch --from build/dist/module.zip
|
|
1249
1508
|
[…] ERROR: --from needs --id when a package declares several dependencies (declared: none)
|
|
1250
1509
|
```
|
|
1251
1510
|
|
|
1252
1511
|
**SEE ALSO**
|
|
1253
1512
|
|
|
1254
|
-
`
|
|
1513
|
+
`package-build site`, `package-build addresses diff`, [Configuration](configuration.md).
|
|
1514
|
+
|
|
1515
|
+
### `package-build types check`
|
|
1516
|
+
|
|
1517
|
+
**NAME**
|
|
1518
|
+
|
|
1519
|
+
Check project declarations.
|
|
1520
|
+
|
|
1521
|
+
**SYNOPSIS**
|
|
1522
|
+
|
|
1523
|
+
```sh
|
|
1524
|
+
package-build types check [--project <tsconfig>] [--exports]
|
|
1525
|
+
```
|
|
1526
|
+
|
|
1527
|
+
**DESCRIPTION**
|
|
1528
|
+
|
|
1529
|
+
Check a TypeScript project's declarations with library checking enabled. The
|
|
1530
|
+
default `--project` is `tsconfig.json`. Diagnostics in `node_modules` are
|
|
1531
|
+
excluded; diagnostics in project files name the file, line, and column.
|
|
1532
|
+
`--exports` also checks every declaration entry point advertised by
|
|
1533
|
+
`package.json` `exports`, including wildcard subpaths. Run it after generating
|
|
1534
|
+
declarations.
|
|
1535
|
+
|
|
1536
|
+
**OPTIONS**
|
|
1537
|
+
|
|
1538
|
+
| Option | Default | Meaning |
|
|
1539
|
+
| ----------- | --------------- | ------------------------------------------- |
|
|
1540
|
+
| `--project` | `tsconfig.json` | TypeScript project file. |
|
|
1541
|
+
| `--exports` | off | Include published declaration entry points. |
|
|
1542
|
+
|
|
1543
|
+
**EXIT STATUS**
|
|
1544
|
+
|
|
1545
|
+
1 when a project declaration fails to type-check or an exported entry point is
|
|
1546
|
+
missing; otherwise 0.
|
|
1547
|
+
|
|
1548
|
+
**EXAMPLES**
|
|
1549
|
+
|
|
1550
|
+
```sh
|
|
1551
|
+
package-build types check --project tsconfig.json
|
|
1552
|
+
```
|
|
1553
|
+
|
|
1554
|
+
**SEE ALSO**
|
|
1555
|
+
|
|
1556
|
+
`package-build docs links`.
|
|
1557
|
+
|
|
1558
|
+
### `package-build docs links`
|
|
1559
|
+
|
|
1560
|
+
**NAME**
|
|
1561
|
+
|
|
1562
|
+
Check documentation links.
|
|
1563
|
+
|
|
1564
|
+
**SYNOPSIS**
|
|
1565
|
+
|
|
1566
|
+
```sh
|
|
1567
|
+
package-build docs links [--root <dir>]
|
|
1568
|
+
```
|
|
1569
|
+
|
|
1570
|
+
**DESCRIPTION**
|
|
1571
|
+
|
|
1572
|
+
Check relative Markdown links and heading anchors in a documentation tree.
|
|
1573
|
+
Code fences and code spans are ignored. The default root is `docs`; use
|
|
1574
|
+
`--root <dir>` for another tree. Missing targets and anchors are reported at
|
|
1575
|
+
the link's file, line, and column.
|
|
1576
|
+
|
|
1577
|
+
**OPTIONS**
|
|
1578
|
+
|
|
1579
|
+
| Option | Default | Meaning |
|
|
1580
|
+
| -------- | ------- | ------------------- |
|
|
1581
|
+
| `--root` | `docs` | Documentation root. |
|
|
1582
|
+
|
|
1583
|
+
**EXIT STATUS**
|
|
1584
|
+
|
|
1585
|
+
1 when a link or anchor fails to resolve; otherwise 0.
|
|
1586
|
+
|
|
1587
|
+
**EXAMPLES**
|
|
1588
|
+
|
|
1589
|
+
```sh
|
|
1590
|
+
package-build docs links --root docs
|
|
1591
|
+
```
|
|
1592
|
+
|
|
1593
|
+
**SEE ALSO**
|
|
1594
|
+
|
|
1595
|
+
`package-build docs index`.
|
|
1255
1596
|
|
|
1256
|
-
### `
|
|
1597
|
+
### `package-build docs index`
|
|
1598
|
+
|
|
1599
|
+
**NAME**
|
|
1600
|
+
|
|
1601
|
+
Check documentation index coverage.
|
|
1602
|
+
|
|
1603
|
+
**SYNOPSIS**
|
|
1604
|
+
|
|
1605
|
+
```sh
|
|
1606
|
+
package-build docs index [--root <dir>]
|
|
1607
|
+
```
|
|
1608
|
+
|
|
1609
|
+
**DESCRIPTION**
|
|
1610
|
+
|
|
1611
|
+
Check that every Markdown page immediately inside each section directory is
|
|
1612
|
+
linked from the documentation root's `README.md`. The default root is `docs`;
|
|
1613
|
+
use `--root <dir>` for another tree. Each unlinked page is reported by path.
|
|
1614
|
+
|
|
1615
|
+
**OPTIONS**
|
|
1616
|
+
|
|
1617
|
+
| Option | Default | Meaning |
|
|
1618
|
+
| -------- | ------- | ------------------- |
|
|
1619
|
+
| `--root` | `docs` | Documentation root. |
|
|
1620
|
+
|
|
1621
|
+
**EXIT STATUS**
|
|
1622
|
+
|
|
1623
|
+
1 when a page is not indexed; otherwise 0.
|
|
1624
|
+
|
|
1625
|
+
**EXAMPLES**
|
|
1626
|
+
|
|
1627
|
+
```sh
|
|
1628
|
+
package-build docs index --root docs
|
|
1629
|
+
```
|
|
1630
|
+
|
|
1631
|
+
**SEE ALSO**
|
|
1632
|
+
|
|
1633
|
+
`package-build docs links`.
|
|
1634
|
+
|
|
1635
|
+
### `package-build docs item-fields`
|
|
1257
1636
|
|
|
1258
1637
|
**NAME**
|
|
1259
1638
|
|
|
@@ -1262,7 +1641,7 @@ Render this repository's item-frontmatter reference.
|
|
|
1262
1641
|
**SYNOPSIS**
|
|
1263
1642
|
|
|
1264
1643
|
```
|
|
1265
|
-
|
|
1644
|
+
package-build docs item-fields [--out <path>] [--check] [--title <title>]
|
|
1266
1645
|
```
|
|
1267
1646
|
|
|
1268
1647
|
**DESCRIPTION**
|
|
@@ -1303,15 +1682,16 @@ body alone, with no frontmatter, exactly as before.
|
|
|
1303
1682
|
|
|
1304
1683
|
**OPTIONS**
|
|
1305
1684
|
|
|
1306
|
-
| Positional | Type
|
|
1307
|
-
| ---------- |
|
|
1308
|
-
| `action` | string, one of `item-fields` | — | The
|
|
1685
|
+
| Positional | Type | Default | Description |
|
|
1686
|
+
| ---------- | ---------------------------------------------- | ------- | ------------------------- |
|
|
1687
|
+
| `action` | string, one of `item-fields`, `links`, `index` | — | The documentation action. |
|
|
1309
1688
|
|
|
1310
1689
|
| Option | Type | Default | Description |
|
|
1311
1690
|
| --------- | ------- | ----------------------- | ------------------------------------------------------ |
|
|
1312
1691
|
| `--out` | string | `docs.itemFields.out` | Write to this file instead of the configured location. |
|
|
1313
1692
|
| `--check` | boolean | `false` | Compare against the file already there; write nothing. |
|
|
1314
1693
|
| `--title` | string | `docs.itemFields.title` | The page's H1. |
|
|
1694
|
+
| `--root` | string | `docs` | Documentation root for `links` and `index`. |
|
|
1315
1695
|
|
|
1316
1696
|
**EXIT STATUS**
|
|
1317
1697
|
|
|
@@ -1321,10 +1701,10 @@ body alone, with no frontmatter, exactly as before.
|
|
|
1321
1701
|
**EXAMPLES**
|
|
1322
1702
|
|
|
1323
1703
|
```
|
|
1324
|
-
$
|
|
1704
|
+
$ package-build docs item-fields --out docs/item-fields.md --title "Demo Item Fields"
|
|
1325
1705
|
[…] Wrote docs/item-fields.md
|
|
1326
1706
|
|
|
1327
|
-
$
|
|
1707
|
+
$ package-build docs item-fields --out docs/item-fields.md --title "Demo Item Fields" --check
|
|
1328
1708
|
[…] docs/item-fields.md is up to date.
|
|
1329
1709
|
```
|
|
1330
1710
|
|
|
@@ -1332,7 +1712,96 @@ $ content-build docs item-fields --out docs/item-fields.md --title "Demo Item Fi
|
|
|
1332
1712
|
|
|
1333
1713
|
[Configuration](configuration.md).
|
|
1334
1714
|
|
|
1335
|
-
### `
|
|
1715
|
+
### `package-build prose lint [path]`
|
|
1716
|
+
|
|
1717
|
+
**NAME**
|
|
1718
|
+
|
|
1719
|
+
Analyze note prose for readability and simpler wording.
|
|
1720
|
+
|
|
1721
|
+
**SYNOPSIS**
|
|
1722
|
+
|
|
1723
|
+
```text
|
|
1724
|
+
package-build prose lint [path] [--age <years>] [--threshold <count>] [--min-words <count>]
|
|
1725
|
+
```
|
|
1726
|
+
|
|
1727
|
+
**DESCRIPTION**
|
|
1728
|
+
|
|
1729
|
+
Run this command from the package root to review the readable prose in one
|
|
1730
|
+
Markdown note or a content tree. Pass a note path while editing that note;
|
|
1731
|
+
omit it to review the configured `paths.content` tree. A directory path scans
|
|
1732
|
+
its Markdown files recursively and honors `skipDirectories`. A file path
|
|
1733
|
+
analyzes that file alone, even if it sits in an excluded directory. The command
|
|
1734
|
+
reads source files and writes nothing. It is an optional editorial check:
|
|
1735
|
+
`package-build lint` and the normal lint scripts do not run it.
|
|
1736
|
+
|
|
1737
|
+
Set defaults in `package-build.config.yaml` under `packageBuild.proseLint`:
|
|
1738
|
+
|
|
1739
|
+
```yaml
|
|
1740
|
+
packageBuild:
|
|
1741
|
+
proseLint: { age: 21, threshold: 5, minWords: 8 }
|
|
1742
|
+
```
|
|
1743
|
+
|
|
1744
|
+
No configuration is required; the values above are the defaults. `age` is the
|
|
1745
|
+
intended reader's age in years. `threshold` is the number of seven readability
|
|
1746
|
+
algorithms that must classify a sentence as difficult before it is reported.
|
|
1747
|
+
For example, a threshold of 5 reports a sentence if five or more algorithms
|
|
1748
|
+
flag it; a threshold of 7 reports only unanimous findings. `minWords` excludes
|
|
1749
|
+
shorter sentences from readability analysis. Each setting is a positive integer,
|
|
1750
|
+
and `threshold` must be at most 7. CLI options override individual settings:
|
|
1751
|
+
`--min-words` overrides `minWords`, while `--age` and `--threshold` override
|
|
1752
|
+
their matching keys.
|
|
1753
|
+
|
|
1754
|
+
The command analyzes Markdown prose with `retext-english`,
|
|
1755
|
+
`retext-readability`, and `retext-simplify`; `retext-stringify` completes the
|
|
1756
|
+
text pipeline. YAML frontmatter, code blocks, wikilink addresses, and inline
|
|
1757
|
+
expressions are excluded. Each suggestion is a warning with a file, line,
|
|
1758
|
+
column, rule ID, confidence, offending sentence, and `expected` replacement
|
|
1759
|
+
list. The source location marks the difficult sentence or the specific phrase
|
|
1760
|
+
that could be simplified. Readability confidence is the number of algorithms
|
|
1761
|
+
that found the sentence difficult, out of seven. Simplify suggestions have no
|
|
1762
|
+
numeric confidence score, so they say `unscored`. `expected` lists suggested
|
|
1763
|
+
replacements; `[]` means the rule offers no replacement and may recommend
|
|
1764
|
+
deleting a word or rewriting a sentence. Suggestions are advisory, are never
|
|
1765
|
+
applied automatically, and do not make the command fail. Unreadable paths and
|
|
1766
|
+
invalid options do.
|
|
1767
|
+
|
|
1768
|
+
**OPTIONS**
|
|
1769
|
+
|
|
1770
|
+
| Input | Default | Meaning |
|
|
1771
|
+
| ------------- | -------------------------- | ---------------------------------------- |
|
|
1772
|
+
| `path` | configured `paths.content` | Markdown file or content tree |
|
|
1773
|
+
| `--age` | 21 | Reader age in years |
|
|
1774
|
+
| `--threshold` | 5 | Number of readability algorithms (1–7) |
|
|
1775
|
+
| `--min-words` | 8 | Minimum words for readability assessment |
|
|
1776
|
+
|
|
1777
|
+
**EXIT STATUS**
|
|
1778
|
+
|
|
1779
|
+
0 after reporting suggestions; 1 for invalid options or unreadable paths.
|
|
1780
|
+
|
|
1781
|
+
**EXAMPLES**
|
|
1782
|
+
|
|
1783
|
+
```bash
|
|
1784
|
+
package-build prose lint assets/content/Lore/Harbor.md
|
|
1785
|
+
package-build prose lint
|
|
1786
|
+
package-build prose lint assets/content --age 18 --threshold 6 --min-words 10
|
|
1787
|
+
```
|
|
1788
|
+
|
|
1789
|
+
For a note whose fifth line says `The utilization is very high.`, the command
|
|
1790
|
+
can report:
|
|
1791
|
+
|
|
1792
|
+
```text
|
|
1793
|
+
assets/content/Lore/Harbor.md:5:5: warning: retext-simplify/utilization: confidence=unscored; sentence="The utilization is very high."; expected=["use"]; Unexpected `utilization`, use `use` instead
|
|
1794
|
+
```
|
|
1795
|
+
|
|
1796
|
+
Open the file at line 5, column 5, and decide whether `use` suits the context.
|
|
1797
|
+
The rule ID identifies the suggestion if you need to search or group results.
|
|
1798
|
+
|
|
1799
|
+
**SEE ALSO**
|
|
1800
|
+
|
|
1801
|
+
[`package-build lint`](#package-build-lint-root),
|
|
1802
|
+
[Configuration](configuration.md#packagebuildproselint).
|
|
1803
|
+
|
|
1804
|
+
### `package-build lint [root]`
|
|
1336
1805
|
|
|
1337
1806
|
**NAME**
|
|
1338
1807
|
|
|
@@ -1341,7 +1810,7 @@ Check a content tree's addresses and frontmatter without compiling it.
|
|
|
1341
1810
|
**SYNOPSIS**
|
|
1342
1811
|
|
|
1343
1812
|
```
|
|
1344
|
-
|
|
1813
|
+
package-build lint [root] [--no-references]
|
|
1345
1814
|
```
|
|
1346
1815
|
|
|
1347
1816
|
**DESCRIPTION**
|
|
@@ -1377,27 +1846,27 @@ itself could not be built for any note. Otherwise 0.
|
|
|
1377
1846
|
**EXAMPLES**
|
|
1378
1847
|
|
|
1379
1848
|
```
|
|
1380
|
-
$
|
|
1849
|
+
$ package-build lint
|
|
1381
1850
|
[…] No `itemBuilders` registry declares the vocabulary of `demo`, so that system's block is unchecked — a key inside one is discarded at compile with no warning. Declare `itemBuilders: [demo]`.
|
|
1382
|
-
[…] No published schema for demo@1.0.0, so emitted `system` fields are unchecked. A system generates its own; a module gets one from `
|
|
1851
|
+
[…] No published schema for demo@1.0.0, so emitted `system` fields are unchecked. A system generates its own; a module gets one from `package-build deps fetch`.
|
|
1383
1852
|
[…] Addresses and frontmatter are well-formed (4 address(es) across 4 note(s)).
|
|
1384
1853
|
```
|
|
1385
1854
|
|
|
1386
1855
|
**SEE ALSO**
|
|
1387
1856
|
|
|
1388
|
-
`
|
|
1389
|
-
`
|
|
1390
|
-
`
|
|
1857
|
+
`package-build links [root]`, `package-build reachability <dir> [file]`,
|
|
1858
|
+
`package-build content-format schema`, `package-build content-format fields`,
|
|
1859
|
+
`package-build content-format notes`, [Diagnostics](diagnostics.md),
|
|
1391
1860
|
[Configuration](configuration.md).
|
|
1392
1861
|
|
|
1393
|
-
`
|
|
1862
|
+
`package-build content-format <action>` checks `docs/content-format.md` —
|
|
1394
1863
|
the content-format specification this package ships — against reality, in
|
|
1395
1864
|
three ways that fail for different reasons at different times: `schema`,
|
|
1396
1865
|
`fields` and `notes`, one section below per action. All three read the
|
|
1397
1866
|
specification named by `--spec`, defaulting to the one this package ships,
|
|
1398
1867
|
and write nothing.
|
|
1399
1868
|
|
|
1400
|
-
### `
|
|
1869
|
+
### `package-build content-format schema`
|
|
1401
1870
|
|
|
1402
1871
|
**NAME**
|
|
1403
1872
|
|
|
@@ -1406,7 +1875,7 @@ Compare the content-format specification against a published schema.
|
|
|
1406
1875
|
**SYNOPSIS**
|
|
1407
1876
|
|
|
1408
1877
|
```
|
|
1409
|
-
|
|
1878
|
+
package-build content-format schema --schema <system>=<path> [--schema <system>=<path> ...] [--spec <path>]
|
|
1410
1879
|
```
|
|
1411
1880
|
|
|
1412
1881
|
**DESCRIPTION**
|
|
@@ -1419,10 +1888,10 @@ like one that passed.
|
|
|
1419
1888
|
|
|
1420
1889
|
**OPTIONS**
|
|
1421
1890
|
|
|
1422
|
-
| Option | Type | Default
|
|
1423
|
-
| ---------- | ---------------------------- |
|
|
1424
|
-
| `--spec` | string | the shipped `
|
|
1425
|
-
| `--schema` | string, repeatable, required | —
|
|
1891
|
+
| Option | Type | Default | Description |
|
|
1892
|
+
| ---------- | ---------------------------- | ---------------------------------------- | ----------------------------------------- |
|
|
1893
|
+
| `--spec` | string | the shipped `engine/content-format.yaml` | The specification to read. |
|
|
1894
|
+
| `--schema` | string, repeatable, required | — | A published schema, as `<system>=<path>`. |
|
|
1426
1895
|
|
|
1427
1896
|
**EXIT STATUS**
|
|
1428
1897
|
|
|
@@ -1432,17 +1901,17 @@ like one that passed.
|
|
|
1432
1901
|
**EXAMPLES**
|
|
1433
1902
|
|
|
1434
1903
|
```
|
|
1435
|
-
$
|
|
1904
|
+
$ package-build content-format schema --schema sohl=schema.json
|
|
1436
1905
|
[…] 19 claim(s) about hm3 are unchecked — no schema was supplied for it, so nothing here confirms them.
|
|
1437
1906
|
[…] 76 mapping claim(s) confirmed against the supplied schemas.
|
|
1438
1907
|
```
|
|
1439
1908
|
|
|
1440
1909
|
**SEE ALSO**
|
|
1441
1910
|
|
|
1442
|
-
`
|
|
1911
|
+
`package-build content-format fields`, `package-build content-format notes`,
|
|
1443
1912
|
`package-build schema`, [Configuration](configuration.md).
|
|
1444
1913
|
|
|
1445
|
-
### `
|
|
1914
|
+
### `package-build content-format fields`
|
|
1446
1915
|
|
|
1447
1916
|
**NAME**
|
|
1448
1917
|
|
|
@@ -1452,7 +1921,7 @@ declarations.
|
|
|
1452
1921
|
**SYNOPSIS**
|
|
1453
1922
|
|
|
1454
1923
|
```
|
|
1455
|
-
|
|
1924
|
+
package-build content-format fields [--fields <system>] [--coverage] [--spec <path>]
|
|
1456
1925
|
```
|
|
1457
1926
|
|
|
1458
1927
|
**DESCRIPTION**
|
|
@@ -1474,7 +1943,7 @@ vocabularies differ by design until a note's data fully moves under `data:`.
|
|
|
1474
1943
|
|
|
1475
1944
|
| Option | Type | Default | Description |
|
|
1476
1945
|
| ------------ | ---------------------------- | --------------------------------------------- | --------------------------------------------------- |
|
|
1477
|
-
| `--spec` | string | the shipped `
|
|
1946
|
+
| `--spec` | string | the shipped `engine/content-format.yaml` | The specification to read. |
|
|
1478
1947
|
| `--fields` | string, one of `sohl`, `hm3` | the consuming repository's own `itemBuilders` | A declaration set this package ships, by system id. |
|
|
1479
1948
|
| `--coverage` | boolean | `false` | List, per type, the fields only one side names. |
|
|
1480
1949
|
|
|
@@ -1486,7 +1955,7 @@ declaration that compiles it. Otherwise 0.
|
|
|
1486
1955
|
**EXAMPLES**
|
|
1487
1956
|
|
|
1488
1957
|
```
|
|
1489
|
-
$
|
|
1958
|
+
$ package-build content-format fields --fields sohl --coverage
|
|
1490
1959
|
[…] 13 type(s) compared against sohl's declarations (56 field pair(s)).
|
|
1491
1960
|
[…] 12 type(s) the format declares are out of reach — no `itemBuilders` entry covers them: being, homepage, vehicle, armorlocation, lore, map, place, scenario, doc, macro, bundle, folder.
|
|
1492
1961
|
[…] affiliation: format only [demonym, economy, epithet, governance, lore, population, symbol, templatePriority], declaration only [commonSkills, level, office, society, subType, title]
|
|
@@ -1494,10 +1963,10 @@ $ content-build content-format fields --fields sohl --coverage
|
|
|
1494
1963
|
|
|
1495
1964
|
**SEE ALSO**
|
|
1496
1965
|
|
|
1497
|
-
`
|
|
1966
|
+
`package-build content-format schema`, `package-build content-format notes`,
|
|
1498
1967
|
[Configuration](configuration.md).
|
|
1499
1968
|
|
|
1500
|
-
### `
|
|
1969
|
+
### `package-build content-format notes`
|
|
1501
1970
|
|
|
1502
1971
|
**NAME**
|
|
1503
1972
|
|
|
@@ -1506,7 +1975,7 @@ Measure a content tree against the specification's vocabulary.
|
|
|
1506
1975
|
**SYNOPSIS**
|
|
1507
1976
|
|
|
1508
1977
|
```
|
|
1509
|
-
|
|
1978
|
+
package-build content-format notes [root] [--strict] [--spec <path>]
|
|
1510
1979
|
```
|
|
1511
1980
|
|
|
1512
1981
|
**DESCRIPTION**
|
|
@@ -1524,10 +1993,10 @@ class of finding reaches zero.
|
|
|
1524
1993
|
| ---------- | ------ | ------------------------------ | ------------------------ |
|
|
1525
1994
|
| `root` | string | the configured `paths.content` | Content tree to measure. |
|
|
1526
1995
|
|
|
1527
|
-
| Option | Type | Default
|
|
1528
|
-
| ---------- | ------- |
|
|
1529
|
-
| `--spec` | string | the shipped `
|
|
1530
|
-
| `--strict` | boolean | `false`
|
|
1996
|
+
| Option | Type | Default | Description |
|
|
1997
|
+
| ---------- | ------- | ---------------------------------------- | ---------------------------------------------------- |
|
|
1998
|
+
| `--spec` | string | the shipped `engine/content-format.yaml` | The specification to read. |
|
|
1999
|
+
| `--strict` | boolean | `false` | Fail on the findings instead of only reporting them. |
|
|
1531
2000
|
|
|
1532
2001
|
**EXIT STATUS**
|
|
1533
2002
|
|
|
@@ -1538,17 +2007,17 @@ Otherwise 0.
|
|
|
1538
2007
|
**EXAMPLES**
|
|
1539
2008
|
|
|
1540
2009
|
```
|
|
1541
|
-
$
|
|
2010
|
+
$ package-build content-format notes
|
|
1542
2011
|
[…] 0 finding(s) across 4 note(s) measured against docs/content-format.md.
|
|
1543
2012
|
```
|
|
1544
2013
|
|
|
1545
2014
|
**SEE ALSO**
|
|
1546
2015
|
|
|
1547
|
-
`
|
|
1548
|
-
`
|
|
2016
|
+
`package-build content-format schema`, `package-build content-format fields`,
|
|
2017
|
+
`package-build lint [root]`, [Diagnostics](diagnostics.md),
|
|
1549
2018
|
[Configuration](configuration.md).
|
|
1550
2019
|
|
|
1551
|
-
### `
|
|
2020
|
+
### `package-build links [root]`
|
|
1552
2021
|
|
|
1553
2022
|
**NAME**
|
|
1554
2023
|
|
|
@@ -1557,7 +2026,7 @@ Check that every link in a content tree lands.
|
|
|
1557
2026
|
**SYNOPSIS**
|
|
1558
2027
|
|
|
1559
2028
|
```
|
|
1560
|
-
|
|
2029
|
+
package-build links [root]
|
|
1561
2030
|
```
|
|
1562
2031
|
|
|
1563
2032
|
**DESCRIPTION**
|
|
@@ -1568,7 +2037,7 @@ retired — every link is an address), a wikilink authored in frontmatter
|
|
|
1568
2037
|
(which is data and is never resolved), and a package homepage's markdown
|
|
1569
2038
|
links and `landing:` addresses, which are published verbatim and use no
|
|
1570
2039
|
wikilink at all. Also reports a vendored foreign-package content index that
|
|
1571
|
-
has drifted out of reach, naming `
|
|
2040
|
+
has drifted out of reach, naming `package-build deps fetch` as the fix.
|
|
1572
2041
|
Reads the content tree named by `root`, defaulting to `paths.content`, and
|
|
1573
2042
|
the cached content indexes of any declared dependency; writes nothing.
|
|
1574
2043
|
|
|
@@ -1587,17 +2056,17 @@ found. Otherwise 0.
|
|
|
1587
2056
|
**EXAMPLES**
|
|
1588
2057
|
|
|
1589
2058
|
```
|
|
1590
|
-
$
|
|
2059
|
+
$ package-build links
|
|
1591
2060
|
[…] 2 notes: every link is a labelled address, every anchor link lands and every address resolves (0 cross-package reference(s) via manifest), no wikilink in frontmatter, every homepage address resolvable.
|
|
1592
2061
|
```
|
|
1593
2062
|
|
|
1594
2063
|
**SEE ALSO**
|
|
1595
2064
|
|
|
1596
|
-
`
|
|
1597
|
-
`
|
|
2065
|
+
`package-build lint [root]`, `package-build reachability <dir> [file]`,
|
|
2066
|
+
`package-build deps fetch`, [Diagnostics](diagnostics.md),
|
|
1598
2067
|
[Configuration](configuration.md).
|
|
1599
2068
|
|
|
1600
|
-
### `
|
|
2069
|
+
### `package-build format [paths..]`
|
|
1601
2070
|
|
|
1602
2071
|
**NAME**
|
|
1603
2072
|
|
|
@@ -1606,7 +2075,7 @@ Check formatting with the shared Prettier configuration.
|
|
|
1606
2075
|
**SYNOPSIS**
|
|
1607
2076
|
|
|
1608
2077
|
```
|
|
1609
|
-
|
|
2078
|
+
package-build format [paths..] [--write]
|
|
1610
2079
|
```
|
|
1611
2080
|
|
|
1612
2081
|
**DESCRIPTION**
|
|
@@ -1644,24 +2113,24 @@ Otherwise 0.
|
|
|
1644
2113
|
**EXAMPLES**
|
|
1645
2114
|
|
|
1646
2115
|
```
|
|
1647
|
-
$
|
|
1648
|
-
warning: this repository declares no Prettier configuration, so `
|
|
1649
|
-
build/dist/module.json: error: is not formatted; run `
|
|
2116
|
+
$ package-build format
|
|
2117
|
+
warning: this repository declares no Prettier configuration, so `package-build format` applies the shared conventions while an editor and a bare `npx prettier` apply Prettier's own to the same tree; declare them in a prettier.config.mjs — export { default } from "@heroiclands/package-build/prettier";
|
|
2118
|
+
build/dist/module.json: error: is not formatted; run `package-build format --write` to fix it
|
|
1650
2119
|
[…]
|
|
1651
2120
|
[…] ERROR: 10 of 15 file(s) are not formatted.
|
|
1652
2121
|
|
|
1653
|
-
$
|
|
2122
|
+
$ package-build format --write
|
|
1654
2123
|
[…] Formatted 10 of 15 file(s).
|
|
1655
2124
|
|
|
1656
|
-
$
|
|
2125
|
+
$ package-build format
|
|
1657
2126
|
[…] Formatting is clean (15 file(s)).
|
|
1658
2127
|
```
|
|
1659
2128
|
|
|
1660
2129
|
**SEE ALSO**
|
|
1661
2130
|
|
|
1662
|
-
`
|
|
2131
|
+
`package-build markdown [paths..]`, [Diagnostics](diagnostics.md).
|
|
1663
2132
|
|
|
1664
|
-
### `
|
|
2133
|
+
### `package-build markdown [paths..]`
|
|
1665
2134
|
|
|
1666
2135
|
**NAME**
|
|
1667
2136
|
|
|
@@ -1670,7 +2139,7 @@ Lint markdown with the shared markdownlint rule set.
|
|
|
1670
2139
|
**SYNOPSIS**
|
|
1671
2140
|
|
|
1672
2141
|
```
|
|
1673
|
-
|
|
2142
|
+
package-build markdown [paths..] [--fix]
|
|
1674
2143
|
```
|
|
1675
2144
|
|
|
1676
2145
|
**DESCRIPTION**
|
|
@@ -1682,6 +2151,8 @@ the one these repositories write. Runs over the repository rather than the
|
|
|
1682
2151
|
content tree, taking its rules from this package unless the consumer
|
|
1683
2152
|
declares its own. `--fix` applies the fixes markdownlint can make. Reads
|
|
1684
2153
|
every matched file; `--fix` rewrites them.
|
|
2154
|
+
Installed dependencies under `node_modules` are excluded even when the
|
|
2155
|
+
repository has no `.gitignore` or supplies its own markdownlint ignore list.
|
|
1685
2156
|
|
|
1686
2157
|
**OPTIONS**
|
|
1687
2158
|
|
|
@@ -1701,15 +2172,15 @@ exists at all). Otherwise 0.
|
|
|
1701
2172
|
**EXAMPLES**
|
|
1702
2173
|
|
|
1703
2174
|
```
|
|
1704
|
-
$
|
|
2175
|
+
$ package-build markdown
|
|
1705
2176
|
[…] Markdown is clean.
|
|
1706
2177
|
```
|
|
1707
2178
|
|
|
1708
2179
|
**SEE ALSO**
|
|
1709
2180
|
|
|
1710
|
-
`
|
|
2181
|
+
`package-build format [paths..]`, [Diagnostics](diagnostics.md).
|
|
1711
2182
|
|
|
1712
|
-
### `
|
|
2183
|
+
### `package-build content-index [root]`
|
|
1713
2184
|
|
|
1714
2185
|
**NAME**
|
|
1715
2186
|
|
|
@@ -1718,7 +2189,7 @@ Emit this package's note index as JSON Lines.
|
|
|
1718
2189
|
**SYNOPSIS**
|
|
1719
2190
|
|
|
1720
2191
|
```
|
|
1721
|
-
|
|
2192
|
+
package-build content-index [root] [--out <dir>]
|
|
1722
2193
|
```
|
|
1723
2194
|
|
|
1724
2195
|
**DESCRIPTION**
|
|
@@ -1751,16 +2222,16 @@ into `--out`, defaulting to the configured `paths.contentIndex`.
|
|
|
1751
2222
|
**EXAMPLES**
|
|
1752
2223
|
|
|
1753
2224
|
```
|
|
1754
|
-
$
|
|
2225
|
+
$ package-build content-index
|
|
1755
2226
|
[…] demo → build/content-index/demo-metadata.jsonl (4 notes, 2 KiB)
|
|
1756
2227
|
```
|
|
1757
2228
|
|
|
1758
2229
|
**SEE ALSO**
|
|
1759
2230
|
|
|
1760
|
-
`
|
|
2231
|
+
`package-build site`, `package-build pdf`, `package-build deps fetch`,
|
|
1761
2232
|
[Configuration](configuration.md).
|
|
1762
2233
|
|
|
1763
|
-
### `
|
|
2234
|
+
### `package-build site`
|
|
1764
2235
|
|
|
1765
2236
|
**NAME**
|
|
1766
2237
|
|
|
@@ -1769,7 +2240,7 @@ Build the Hugo source tree from the content tree.
|
|
|
1769
2240
|
**SYNOPSIS**
|
|
1770
2241
|
|
|
1771
2242
|
```
|
|
1772
|
-
|
|
2243
|
+
package-build site
|
|
1773
2244
|
```
|
|
1774
2245
|
|
|
1775
2246
|
**DESCRIPTION**
|
|
@@ -1823,7 +2294,7 @@ None.
|
|
|
1823
2294
|
|
|
1824
2295
|
1 if `package.json` declares no `homepage`, or one that does not end
|
|
1825
2296
|
`/<contentPackage>/`; if `packageBuild.manifest.title` is undeclared; if the
|
|
1826
|
-
navigation has not been fetched (`
|
|
2297
|
+
navigation has not been fetched (`package-build deps fetch` fills the cache
|
|
1827
2298
|
and is named in the message); or if `@heroiclands/hugo-theme` is not
|
|
1828
2299
|
installed. 1 if any gate fires — no homepage or two competing for it, a
|
|
1829
2300
|
frontmatter wikilink, an address that cannot be derived, a stale or
|
|
@@ -1833,20 +2304,20 @@ failed to expand, or a dead wikilink. Otherwise 0.
|
|
|
1833
2304
|
**EXAMPLES**
|
|
1834
2305
|
|
|
1835
2306
|
```
|
|
1836
|
-
$
|
|
2307
|
+
$ package-build site
|
|
1837
2308
|
[…] wrote 1 homepage(s) + 1 content page(s) to build/hugo/content
|
|
1838
2309
|
[…] wrote build/hugo/hugo.toml
|
|
1839
2310
|
|
|
1840
|
-
$
|
|
1841
|
-
[…] ERROR: the site navigation has not been fetched. Run `
|
|
2311
|
+
$ package-build site
|
|
2312
|
+
[…] ERROR: the site navigation has not been fetched. Run `package-build deps fetch` first.
|
|
1842
2313
|
```
|
|
1843
2314
|
|
|
1844
2315
|
**SEE ALSO**
|
|
1845
2316
|
|
|
1846
|
-
`
|
|
2317
|
+
`package-build deps fetch`, `package-build site-root`, `package-build package <action> [pack] [entry]`, `package-build pdf`, `package-build content-index [root]`,
|
|
1847
2318
|
[Diagnostics](diagnostics.md), [Configuration](configuration.md).
|
|
1848
2319
|
|
|
1849
|
-
### `
|
|
2320
|
+
### `package-build pdf`
|
|
1850
2321
|
|
|
1851
2322
|
**NAME**
|
|
1852
2323
|
|
|
@@ -1855,7 +2326,7 @@ Build the book the content tree publishes as.
|
|
|
1855
2326
|
**SYNOPSIS**
|
|
1856
2327
|
|
|
1857
2328
|
```
|
|
1858
|
-
|
|
2329
|
+
package-build pdf [--out <path>] [--book-version <version>] [--compile]
|
|
1859
2330
|
```
|
|
1860
2331
|
|
|
1861
2332
|
**DESCRIPTION**
|
|
@@ -1883,8 +2354,8 @@ configured `pdf.out`.
|
|
|
1883
2354
|
|
|
1884
2355
|
**EXIT STATUS**
|
|
1885
2356
|
|
|
1886
|
-
0 when there is a stated reason not to build (`
|
|
1887
|
-
|
|
2357
|
+
0 when there is a stated reason not to build (only a homepage note, no `pdf:`
|
|
2358
|
+
block, no content tree). 1 if the document tree
|
|
1888
2359
|
`pdf.document` names cannot be read or parsed, or on any other thrown
|
|
1889
2360
|
error. Otherwise 0 — findings inside a book that did build (a filter that
|
|
1890
2361
|
matched nothing, for instance) are reported but never fail the command.
|
|
@@ -1892,19 +2363,19 @@ matched nothing, for instance) are reported but never fail the command.
|
|
|
1892
2363
|
**EXAMPLES**
|
|
1893
2364
|
|
|
1894
2365
|
```
|
|
1895
|
-
$
|
|
2366
|
+
$ package-build pdf
|
|
1896
2367
|
[…] No book built: no `pdf:` block is configured, so this package publishes no book
|
|
1897
2368
|
|
|
1898
|
-
$
|
|
2369
|
+
$ package-build pdf --no-compile
|
|
1899
2370
|
demo-book: error: the document tree named by `pdf.document` cannot be read
|
|
1900
2371
|
```
|
|
1901
2372
|
|
|
1902
2373
|
**SEE ALSO**
|
|
1903
2374
|
|
|
1904
|
-
`
|
|
2375
|
+
`package-build site`, `package-build package <action> [pack] [entry]`,
|
|
1905
2376
|
[Diagnostics](diagnostics.md), [Configuration](configuration.md).
|
|
1906
2377
|
|
|
1907
|
-
### `
|
|
2378
|
+
### `package-build map`
|
|
1908
2379
|
|
|
1909
2380
|
**NAME**
|
|
1910
2381
|
|
|
@@ -1914,12 +2385,12 @@ route graph.
|
|
|
1914
2385
|
**SYNOPSIS**
|
|
1915
2386
|
|
|
1916
2387
|
```
|
|
1917
|
-
|
|
2388
|
+
package-build map --tree [--root <shortcode>] [--engine dot|twopi|neato] [--rankdir TB|LR|BT|RL]
|
|
1918
2389
|
[--nodesep <inches>] [--ranksep <inches>] [--no-polities]
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
2390
|
+
package-build map --from <shortcode>.. | --from all
|
|
2391
|
+
package-build map --chart <shortcode>.. | --chart all [--horizon <days>]
|
|
2392
|
+
package-build map --travel
|
|
2393
|
+
package-build map [...] [--scale <factor>] [--base <url>] [--out <dir>]
|
|
1923
2394
|
```
|
|
1924
2395
|
|
|
1925
2396
|
**DESCRIPTION**
|
|
@@ -2084,28 +2555,28 @@ that does not resolve, a cycle), or on any other thrown error. Otherwise 0
|
|
|
2084
2555
|
**EXAMPLES**
|
|
2085
2556
|
|
|
2086
2557
|
```
|
|
2087
|
-
$
|
|
2558
|
+
$ package-build map --tree
|
|
2088
2559
|
assets/content/Regions/Sea.md:16:5: warning: place "innersea" has more than one parent (northc, southc), which is legal for a sea between continents or a region split between two, and worth a look otherwise
|
|
2089
2560
|
assets/content/Regions/Marches/Lost_Fort.md:9:14: error: place "lostfort" names parent "marchs", which does not resolve to any place in this package or a fetched index
|
|
2090
2561
|
[…] 394 place(s) → 7 drawing(s) under build/map
|
|
2091
2562
|
|
|
2092
|
-
$
|
|
2563
|
+
$ package-build map --from dunharargn --base /thalorna/
|
|
2093
2564
|
[…] 394 place(s) → 1 drawing(s) under build/map
|
|
2094
2565
|
|
|
2095
|
-
$
|
|
2566
|
+
$ package-build map --chart takheperurgn --horizon 90
|
|
2096
2567
|
[…] 394 place(s) → 1 drawing(s) under build/map
|
|
2097
2568
|
|
|
2098
|
-
$
|
|
2569
|
+
$ package-build map --travel
|
|
2099
2570
|
[…] 394 place(s) → 1 drawing(s) under build/map
|
|
2100
2571
|
```
|
|
2101
2572
|
|
|
2102
2573
|
**SEE ALSO**
|
|
2103
2574
|
|
|
2104
|
-
`
|
|
2105
|
-
ends), `
|
|
2575
|
+
`package-build lint [root]` (which checks `borders` and `routes` from both
|
|
2576
|
+
ends), `package-build deps fetch`, `package-build content-index [root]`,
|
|
2106
2577
|
[Content format](content-format.md), [Diagnostics](diagnostics.md).
|
|
2107
2578
|
|
|
2108
|
-
### `
|
|
2579
|
+
### `package-build reachability <dir> [file]`
|
|
2109
2580
|
|
|
2110
2581
|
**NAME**
|
|
2111
2582
|
|
|
@@ -2114,7 +2585,7 @@ Check that every document in a corpus is reachable by reading.
|
|
|
2114
2585
|
**SYNOPSIS**
|
|
2115
2586
|
|
|
2116
2587
|
```
|
|
2117
|
-
|
|
2588
|
+
package-build reachability <dir> [file] [--index <shortcode> ...] [--root <path>]
|
|
2118
2589
|
```
|
|
2119
2590
|
|
|
2120
2591
|
**DESCRIPTION**
|
|
@@ -2149,19 +2620,19 @@ in the corpus is unreachable from the entry page. Otherwise 0.
|
|
|
2149
2620
|
**EXAMPLES**
|
|
2150
2621
|
|
|
2151
2622
|
```
|
|
2152
|
-
$
|
|
2623
|
+
$ package-build reachability Guide
|
|
2153
2624
|
[…] All 2 document(s) in Guide are reachable from README.md.
|
|
2154
2625
|
|
|
2155
|
-
$
|
|
2626
|
+
$ package-build reachability assets/content
|
|
2156
2627
|
[…] ERROR: no note at assets/content/README.md, so the corpus has no page to be read from
|
|
2157
2628
|
```
|
|
2158
2629
|
|
|
2159
2630
|
**SEE ALSO**
|
|
2160
2631
|
|
|
2161
|
-
`
|
|
2632
|
+
`package-build links [root]`, `package-build lint [root]`, [Diagnostics](diagnostics.md),
|
|
2162
2633
|
[Configuration](configuration.md).
|
|
2163
2634
|
|
|
2164
|
-
### `
|
|
2635
|
+
### `package-build addresses diff`
|
|
2165
2636
|
|
|
2166
2637
|
**NAME**
|
|
2167
2638
|
|
|
@@ -2170,7 +2641,7 @@ Report every published address a build no longer publishes.
|
|
|
2170
2641
|
**SYNOPSIS**
|
|
2171
2642
|
|
|
2172
2643
|
```
|
|
2173
|
-
|
|
2644
|
+
package-build addresses diff --from <zip|dir> [--strict]
|
|
2174
2645
|
```
|
|
2175
2646
|
|
|
2176
2647
|
**DESCRIPTION**
|
|
@@ -2212,11 +2683,11 @@ this repository declaring no Item pack at all to diff). Otherwise 0.
|
|
|
2212
2683
|
**EXAMPLES**
|
|
2213
2684
|
|
|
2214
2685
|
```
|
|
2215
|
-
$
|
|
2686
|
+
$ package-build addresses diff --from build/dist/module.zip
|
|
2216
2687
|
[…] ERROR: demo-package@1.0.0: pack "items" is declared at packs/items, which the package does not contain
|
|
2217
2688
|
```
|
|
2218
2689
|
|
|
2219
2690
|
**SEE ALSO**
|
|
2220
2691
|
|
|
2221
|
-
`
|
|
2692
|
+
`package-build package <action> [pack] [entry]`, `package-build deps fetch`,
|
|
2222
2693
|
[Diagnostics](diagnostics.md).
|