@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
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,88 @@ $ 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 uses the calendar's month
|
|
386
|
+
name and era label, for example `23 Taranis 326 VR`. A date in a calendar with
|
|
387
|
+
multiple eras must identify its era. A date must specify a day;
|
|
388
|
+
year-only and month-only dates do not identify one canonical day.
|
|
389
|
+
Prefix the date with `~` to preserve an approximate value.
|
|
390
|
+
|
|
391
|
+
**OPTIONS**
|
|
392
|
+
|
|
393
|
+
None.
|
|
394
|
+
|
|
395
|
+
**EXIT STATUS**
|
|
396
|
+
|
|
397
|
+
1 if the content tree or calendar is invalid, the era is missing or mismatched,
|
|
398
|
+
or the date cannot be resolved to one day. Otherwise 0.
|
|
399
|
+
|
|
400
|
+
**EXAMPLES**
|
|
401
|
+
|
|
402
|
+
```
|
|
403
|
+
$ package-build datefrom vrcal '23 Taranis 326 VR'
|
|
404
|
+
326.114
|
|
405
|
+
```
|
|
406
|
+
|
|
407
|
+
**SEE ALSO**
|
|
408
|
+
|
|
409
|
+
`package-build dateto`, [Content format](content-format.md).
|
|
410
|
+
|
|
411
|
+
### `package-build dateto`
|
|
412
|
+
|
|
413
|
+
**NAME**
|
|
414
|
+
|
|
415
|
+
Express a canonical day in an authored calendar.
|
|
416
|
+
|
|
417
|
+
**SYNOPSIS**
|
|
418
|
+
|
|
419
|
+
```
|
|
420
|
+
package-build dateto <calendar> <canonical-date>
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
**DESCRIPTION**
|
|
424
|
+
|
|
425
|
+
Reads the current content tree, selects the era covering the canonical day, and
|
|
426
|
+
prints the date with its named month and era label. The input is
|
|
427
|
+
`<year>.<day>[:HHMMSS]`, optionally prefixed with `~`. A date in a gap between
|
|
428
|
+
eras has no conversion.
|
|
429
|
+
|
|
430
|
+
**OPTIONS**
|
|
431
|
+
|
|
432
|
+
None.
|
|
433
|
+
|
|
434
|
+
**EXIT STATUS**
|
|
435
|
+
|
|
436
|
+
1 if the content tree or calendar is invalid, the canonical date is invalid,
|
|
437
|
+
or no era covers that day. Otherwise 0.
|
|
438
|
+
|
|
439
|
+
**EXAMPLES**
|
|
440
|
+
|
|
441
|
+
```
|
|
442
|
+
$ package-build dateto vrcal 326.114
|
|
443
|
+
23 Taranis 326 VR
|
|
444
|
+
```
|
|
445
|
+
|
|
446
|
+
**SEE ALSO**
|
|
447
|
+
|
|
448
|
+
`package-build datefrom`, [Content format](content-format.md).
|
|
203
449
|
|
|
204
450
|
### `package-build schema`
|
|
205
451
|
|
|
@@ -216,13 +462,13 @@ package-build schema
|
|
|
216
462
|
**DESCRIPTION**
|
|
217
463
|
|
|
218
464
|
Publishes the registries named in `packageBuild.schema` as `schema.json`, read
|
|
219
|
-
by `
|
|
220
|
-
`
|
|
465
|
+
by `package-build content-format schema` and, in a consuming package, by
|
|
466
|
+
`package-build lint`'s emitted-versus-declared check. A repository that
|
|
221
467
|
declares no registries has nothing to publish. Reads the registries
|
|
222
468
|
`packageBuild.schema` names; writes `build/schema.json`. A release publishes
|
|
223
469
|
it beside the archive and the manifest when `packageBuild.assets` names
|
|
224
470
|
`build/schema.json` (see `package-build release`); a module's
|
|
225
|
-
`
|
|
471
|
+
`package-build deps fetch` keeps the copy from the archive it downloads.
|
|
226
472
|
|
|
227
473
|
**OPTIONS**
|
|
228
474
|
|
|
@@ -242,7 +488,7 @@ package-build: no `packageBuild.schema` declared; nothing to publish.
|
|
|
242
488
|
|
|
243
489
|
**SEE ALSO**
|
|
244
490
|
|
|
245
|
-
`
|
|
491
|
+
`package-build content-format schema`, `package-build lint [root]`,
|
|
246
492
|
`package-build release`, [Configuration](configuration.md).
|
|
247
493
|
|
|
248
494
|
### `package-build manifest`
|
|
@@ -268,12 +514,14 @@ in `packageBuild.manifestFlags` for a flag the repository has to compute
|
|
|
268
514
|
itself — the compendium address of a document that exists only once the
|
|
269
515
|
content tree has been walked. Reads the shared pack configuration and
|
|
270
516
|
`package.json`; writes the manifest into `packageBuild.stageDir`.
|
|
517
|
+
`packageBuild.manifest.title` must be a non-empty string, so the staged
|
|
518
|
+
manifest carries the title Foundry requires for installation.
|
|
271
519
|
|
|
272
520
|
**Refused for `packageKind: documentation`.** A manifest is the file Foundry
|
|
273
521
|
reads to install a package, and a documentation package is not one —
|
|
274
522
|
emitting `module.json` for it would advertise an installable package with no
|
|
275
523
|
packs, no compatibility range and no id. Its site is built by
|
|
276
|
-
`
|
|
524
|
+
`package-build site`, and its book by `package-build pdf`.
|
|
277
525
|
|
|
278
526
|
**OPTIONS**
|
|
279
527
|
|
|
@@ -284,7 +532,8 @@ None.
|
|
|
284
532
|
1 for `packageKind: documentation`. 1 if `packageBuild.manifestFlags` is
|
|
285
533
|
declared but cannot be loaded, or exports no `flags` function. 1 on any other
|
|
286
534
|
thrown error (a manifest key the configuration cannot supply —
|
|
287
|
-
`package.json` naming no `repository.url`,
|
|
535
|
+
`package.json` naming no `repository.url`, or a missing or blank
|
|
536
|
+
`packageBuild.manifest.title`, for instance). Otherwise 0.
|
|
288
537
|
|
|
289
538
|
**EXAMPLES**
|
|
290
539
|
|
|
@@ -293,12 +542,12 @@ $ package-build manifest
|
|
|
293
542
|
✅ Wrote build/stage/module.json (10 keys, 2 packs).
|
|
294
543
|
|
|
295
544
|
$ 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 `
|
|
545
|
+
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
546
|
```
|
|
298
547
|
|
|
299
548
|
**SEE ALSO**
|
|
300
549
|
|
|
301
|
-
`
|
|
550
|
+
`package-build site`, `package-build pdf`, `package-build bundle check`,
|
|
302
551
|
[Configuration](configuration.md).
|
|
303
552
|
|
|
304
553
|
### `package-build site-root`
|
|
@@ -388,7 +637,7 @@ Search is off (`site.search: false`), so no index was written.
|
|
|
388
637
|
|
|
389
638
|
**SEE ALSO**
|
|
390
639
|
|
|
391
|
-
`
|
|
640
|
+
`package-build site`, [Configuration](configuration.md).
|
|
392
641
|
|
|
393
642
|
`package-build lang <action>` asks three independent questions about this
|
|
394
643
|
repository's localization, each blind to what the others see: `check`,
|
|
@@ -721,7 +970,9 @@ from the heading rule, since neither is authored.
|
|
|
721
970
|
A token that reads as code — `camelCase()`, a `path/with/slashes.ext`,
|
|
722
971
|
`SCREAMING_SNAKE` — outside any code span is a warning, not a failure: a
|
|
723
972
|
user-facing note sometimes needs one (`Compendium.hm3.items.Item.<id>`), but
|
|
724
|
-
rarely.
|
|
973
|
+
rarely. Accented letters keep proper names such as HârnMaster whole, so a
|
|
974
|
+
fragment of one does not trigger a code-token warning. A block's bold label
|
|
975
|
+
absent from a declared `changelog.labels` is
|
|
725
976
|
also a warning — the drift `**Character data**` beside `**Characters**`
|
|
726
977
|
produces — and checks nothing when the repository declares no
|
|
727
978
|
`changelog.labels`. Every other finding is an error. Reads the files given,
|
|
@@ -885,8 +1136,8 @@ states it a second time. It also publishes the content index the manifest
|
|
|
885
1136
|
advertises (`flags.metadataUrl`) and, when the stage carries one,
|
|
886
1137
|
`schema.json` — a repository that names `build/schema.json` in
|
|
887
1138
|
`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 `
|
|
1139
|
+
gets none. When the content tree holds notes beyond its homepage, it
|
|
1140
|
+
also builds the content-tree book (see `package-build pdf`) and reports it
|
|
890
1141
|
alongside the archive; `--no-pdf` skips that step for a release that has a
|
|
891
1142
|
tree but does not want the book this time. A book that fails to build is
|
|
892
1143
|
reported, never fatal — the archive above is the release regardless. Reads
|
|
@@ -910,12 +1161,12 @@ are reported on stderr but do not fail the release.
|
|
|
910
1161
|
```
|
|
911
1162
|
$ package-build release
|
|
912
1163
|
✅ Packaged 1.0.0 for release: build/dist/module.zip (0.0 MB)
|
|
913
|
-
No book:
|
|
1164
|
+
No book: The content tree contains only a homepage, so there is no book to build.
|
|
914
1165
|
```
|
|
915
1166
|
|
|
916
1167
|
**SEE ALSO**
|
|
917
1168
|
|
|
918
|
-
`
|
|
1169
|
+
`package-build pdf`, `package-build schema`, [Configuration](configuration.md).
|
|
919
1170
|
|
|
920
1171
|
### `package-build deploy <stage>`
|
|
921
1172
|
|
|
@@ -1107,9 +1358,9 @@ package-build: This repository declares no end-to-end suite to `run`. Name one u
|
|
|
1107
1358
|
|
|
1108
1359
|
---
|
|
1109
1360
|
|
|
1110
|
-
##
|
|
1361
|
+
## Content operations
|
|
1111
1362
|
|
|
1112
|
-
### `
|
|
1363
|
+
### `package-build package <action> [pack] [entry]`
|
|
1113
1364
|
|
|
1114
1365
|
**NAME**
|
|
1115
1366
|
|
|
@@ -1119,9 +1370,9 @@ process.
|
|
|
1119
1370
|
**SYNOPSIS**
|
|
1120
1371
|
|
|
1121
1372
|
```
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1373
|
+
package-build package compile [pack]
|
|
1374
|
+
package-build package unpack [pack] [entry]
|
|
1375
|
+
package-build package clean [pack] [entry]
|
|
1125
1376
|
```
|
|
1126
1377
|
|
|
1127
1378
|
**DESCRIPTION**
|
|
@@ -1141,8 +1392,8 @@ the staged LevelDB packs.
|
|
|
1141
1392
|
`unpack` and `clean` alike. A package of that kind declares no packs by
|
|
1142
1393
|
rule, so there is nothing to compile, unpack or clean; a run that exited 0
|
|
1143
1394
|
having done nothing would be the quiet failure this toolchain refuses
|
|
1144
|
-
everywhere else. Its site is built by `
|
|
1145
|
-
`
|
|
1395
|
+
everywhere else. Its site is built by `package-build site`, and its book by
|
|
1396
|
+
`package-build pdf`.
|
|
1146
1397
|
|
|
1147
1398
|
**OPTIONS**
|
|
1148
1399
|
|
|
@@ -1163,10 +1414,10 @@ step to report against. 1 on any other thrown error. Otherwise 0.
|
|
|
1163
1414
|
**EXAMPLES**
|
|
1164
1415
|
|
|
1165
1416
|
```
|
|
1166
|
-
$
|
|
1167
|
-
[…] ERROR: `packageKind: documentation` compiles no compendium, so there is nothing to compile. Build its site with `
|
|
1417
|
+
$ package-build package compile # packageKind: documentation
|
|
1418
|
+
[…] 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
1419
|
|
|
1169
|
-
$
|
|
1420
|
+
$ package-build package compile
|
|
1170
1421
|
[…] Content tree: 4 note(s) at /private/tmp/pb-docs-demo-410/assets/content
|
|
1171
1422
|
[…] Pack items: /private/tmp/pb-docs-demo-410/assets/content → …/build/packs-json/items
|
|
1172
1423
|
[…] Compiled 0 items:
|
|
@@ -1176,7 +1427,7 @@ $ content-build package compile
|
|
|
1176
1427
|
[…] Pack journals: compiling to LevelDB at …/build/stage/packs/journals
|
|
1177
1428
|
[…] Pack compilation complete.
|
|
1178
1429
|
|
|
1179
|
-
$
|
|
1430
|
+
$ package-build package unpack
|
|
1180
1431
|
[…] Extracting pack items
|
|
1181
1432
|
[…] Extracting pack journals
|
|
1182
1433
|
Wrote welcome.json
|
|
@@ -1184,10 +1435,10 @@ Wrote welcome.json
|
|
|
1184
1435
|
|
|
1185
1436
|
**SEE ALSO**
|
|
1186
1437
|
|
|
1187
|
-
`
|
|
1438
|
+
`package-build site`, `package-build pdf`, `package-build addresses diff`,
|
|
1188
1439
|
[Diagnostics](diagnostics.md), [Configuration](configuration.md).
|
|
1189
1440
|
|
|
1190
|
-
### `
|
|
1441
|
+
### `package-build deps fetch`
|
|
1191
1442
|
|
|
1192
1443
|
**NAME**
|
|
1193
1444
|
|
|
@@ -1196,7 +1447,7 @@ Fill the caches a build resolves other packages through.
|
|
|
1196
1447
|
**SYNOPSIS**
|
|
1197
1448
|
|
|
1198
1449
|
```
|
|
1199
|
-
|
|
1450
|
+
package-build deps fetch [--from <zip|dir>] [--id <id>]
|
|
1200
1451
|
```
|
|
1201
1452
|
|
|
1202
1453
|
**DESCRIPTION**
|
|
@@ -1212,6 +1463,12 @@ is not reproducible and hides a dependency's version change behind a
|
|
|
1212
1463
|
passing run. Each cache is stamped complete only once its fetch finishes,
|
|
1213
1464
|
so a half-finished one reads as cold.
|
|
1214
1465
|
|
|
1466
|
+
`lint`, `links`, `site`, `pdf`, `map`, `reachability`, and `package compile`
|
|
1467
|
+
check the declared dependencies' content-index cache before reading notes or
|
|
1468
|
+
writing output. A cold cache produces a diagnostic at the package configuration
|
|
1469
|
+
file naming `deps fetch`. These checks only read local files; `deps fetch` is
|
|
1470
|
+
the separate step that reaches the network.
|
|
1471
|
+
|
|
1215
1472
|
The navigation is fetched first, because every package needs it and it
|
|
1216
1473
|
depends on nothing a repository declares — so a dependency whose release
|
|
1217
1474
|
cannot be read stops the run with the navigation already cached.
|
|
@@ -1240,20 +1497,140 @@ including when the repository declares no dependencies at all.
|
|
|
1240
1497
|
**EXAMPLES**
|
|
1241
1498
|
|
|
1242
1499
|
```
|
|
1243
|
-
$
|
|
1500
|
+
$ package-build deps fetch
|
|
1244
1501
|
[…] Fetched the site navigation to build/cache/navigation/nav.json.
|
|
1245
1502
|
[…] No relationship declares `itemCatalog: true`; nothing to fetch.
|
|
1246
1503
|
[…] This package declares no dependencies.
|
|
1247
1504
|
|
|
1248
|
-
$
|
|
1505
|
+
$ package-build deps fetch --from build/dist/module.zip
|
|
1249
1506
|
[…] ERROR: --from needs --id when a package declares several dependencies (declared: none)
|
|
1250
1507
|
```
|
|
1251
1508
|
|
|
1252
1509
|
**SEE ALSO**
|
|
1253
1510
|
|
|
1254
|
-
`
|
|
1511
|
+
`package-build site`, `package-build addresses diff`, [Configuration](configuration.md).
|
|
1512
|
+
|
|
1513
|
+
### `package-build types check`
|
|
1514
|
+
|
|
1515
|
+
**NAME**
|
|
1516
|
+
|
|
1517
|
+
Check project declarations.
|
|
1518
|
+
|
|
1519
|
+
**SYNOPSIS**
|
|
1520
|
+
|
|
1521
|
+
```sh
|
|
1522
|
+
package-build types check [--project <tsconfig>] [--exports]
|
|
1523
|
+
```
|
|
1524
|
+
|
|
1525
|
+
**DESCRIPTION**
|
|
1526
|
+
|
|
1527
|
+
Check a TypeScript project's declarations with library checking enabled. The
|
|
1528
|
+
default `--project` is `tsconfig.json`. Diagnostics in `node_modules` are
|
|
1529
|
+
excluded; diagnostics in project files name the file, line, and column.
|
|
1530
|
+
`--exports` also checks every declaration entry point advertised by
|
|
1531
|
+
`package.json` `exports`, including wildcard subpaths. Run it after generating
|
|
1532
|
+
declarations.
|
|
1533
|
+
|
|
1534
|
+
**OPTIONS**
|
|
1535
|
+
|
|
1536
|
+
| Option | Default | Meaning |
|
|
1537
|
+
| ----------- | --------------- | ------------------------------------------- |
|
|
1538
|
+
| `--project` | `tsconfig.json` | TypeScript project file. |
|
|
1539
|
+
| `--exports` | off | Include published declaration entry points. |
|
|
1540
|
+
|
|
1541
|
+
**EXIT STATUS**
|
|
1542
|
+
|
|
1543
|
+
1 when a project declaration fails to type-check or an exported entry point is
|
|
1544
|
+
missing; otherwise 0.
|
|
1545
|
+
|
|
1546
|
+
**EXAMPLES**
|
|
1547
|
+
|
|
1548
|
+
```sh
|
|
1549
|
+
package-build types check --project tsconfig.json
|
|
1550
|
+
```
|
|
1551
|
+
|
|
1552
|
+
**SEE ALSO**
|
|
1553
|
+
|
|
1554
|
+
`package-build docs links`.
|
|
1255
1555
|
|
|
1256
|
-
### `
|
|
1556
|
+
### `package-build docs links`
|
|
1557
|
+
|
|
1558
|
+
**NAME**
|
|
1559
|
+
|
|
1560
|
+
Check documentation links.
|
|
1561
|
+
|
|
1562
|
+
**SYNOPSIS**
|
|
1563
|
+
|
|
1564
|
+
```sh
|
|
1565
|
+
package-build docs links [--root <dir>]
|
|
1566
|
+
```
|
|
1567
|
+
|
|
1568
|
+
**DESCRIPTION**
|
|
1569
|
+
|
|
1570
|
+
Check relative Markdown links and heading anchors in a documentation tree.
|
|
1571
|
+
Code fences and code spans are ignored. The default root is `docs`; use
|
|
1572
|
+
`--root <dir>` for another tree. Missing targets and anchors are reported at
|
|
1573
|
+
the link's file, line, and column.
|
|
1574
|
+
|
|
1575
|
+
**OPTIONS**
|
|
1576
|
+
|
|
1577
|
+
| Option | Default | Meaning |
|
|
1578
|
+
| -------- | ------- | ------------------- |
|
|
1579
|
+
| `--root` | `docs` | Documentation root. |
|
|
1580
|
+
|
|
1581
|
+
**EXIT STATUS**
|
|
1582
|
+
|
|
1583
|
+
1 when a link or anchor fails to resolve; otherwise 0.
|
|
1584
|
+
|
|
1585
|
+
**EXAMPLES**
|
|
1586
|
+
|
|
1587
|
+
```sh
|
|
1588
|
+
package-build docs links --root docs
|
|
1589
|
+
```
|
|
1590
|
+
|
|
1591
|
+
**SEE ALSO**
|
|
1592
|
+
|
|
1593
|
+
`package-build docs index`.
|
|
1594
|
+
|
|
1595
|
+
### `package-build docs index`
|
|
1596
|
+
|
|
1597
|
+
**NAME**
|
|
1598
|
+
|
|
1599
|
+
Check documentation index coverage.
|
|
1600
|
+
|
|
1601
|
+
**SYNOPSIS**
|
|
1602
|
+
|
|
1603
|
+
```sh
|
|
1604
|
+
package-build docs index [--root <dir>]
|
|
1605
|
+
```
|
|
1606
|
+
|
|
1607
|
+
**DESCRIPTION**
|
|
1608
|
+
|
|
1609
|
+
Check that every Markdown page immediately inside each section directory is
|
|
1610
|
+
linked from the documentation root's `README.md`. The default root is `docs`;
|
|
1611
|
+
use `--root <dir>` for another tree. Each unlinked page is reported by path.
|
|
1612
|
+
|
|
1613
|
+
**OPTIONS**
|
|
1614
|
+
|
|
1615
|
+
| Option | Default | Meaning |
|
|
1616
|
+
| -------- | ------- | ------------------- |
|
|
1617
|
+
| `--root` | `docs` | Documentation root. |
|
|
1618
|
+
|
|
1619
|
+
**EXIT STATUS**
|
|
1620
|
+
|
|
1621
|
+
1 when a page is not indexed; otherwise 0.
|
|
1622
|
+
|
|
1623
|
+
**EXAMPLES**
|
|
1624
|
+
|
|
1625
|
+
```sh
|
|
1626
|
+
package-build docs index --root docs
|
|
1627
|
+
```
|
|
1628
|
+
|
|
1629
|
+
**SEE ALSO**
|
|
1630
|
+
|
|
1631
|
+
`package-build docs links`.
|
|
1632
|
+
|
|
1633
|
+
### `package-build docs item-fields`
|
|
1257
1634
|
|
|
1258
1635
|
**NAME**
|
|
1259
1636
|
|
|
@@ -1262,7 +1639,7 @@ Render this repository's item-frontmatter reference.
|
|
|
1262
1639
|
**SYNOPSIS**
|
|
1263
1640
|
|
|
1264
1641
|
```
|
|
1265
|
-
|
|
1642
|
+
package-build docs item-fields [--out <path>] [--check] [--title <title>]
|
|
1266
1643
|
```
|
|
1267
1644
|
|
|
1268
1645
|
**DESCRIPTION**
|
|
@@ -1303,15 +1680,16 @@ body alone, with no frontmatter, exactly as before.
|
|
|
1303
1680
|
|
|
1304
1681
|
**OPTIONS**
|
|
1305
1682
|
|
|
1306
|
-
| Positional | Type
|
|
1307
|
-
| ---------- |
|
|
1308
|
-
| `action` | string, one of `item-fields` | — | The
|
|
1683
|
+
| Positional | Type | Default | Description |
|
|
1684
|
+
| ---------- | ---------------------------------------------- | ------- | ------------------------- |
|
|
1685
|
+
| `action` | string, one of `item-fields`, `links`, `index` | — | The documentation action. |
|
|
1309
1686
|
|
|
1310
1687
|
| Option | Type | Default | Description |
|
|
1311
1688
|
| --------- | ------- | ----------------------- | ------------------------------------------------------ |
|
|
1312
1689
|
| `--out` | string | `docs.itemFields.out` | Write to this file instead of the configured location. |
|
|
1313
1690
|
| `--check` | boolean | `false` | Compare against the file already there; write nothing. |
|
|
1314
1691
|
| `--title` | string | `docs.itemFields.title` | The page's H1. |
|
|
1692
|
+
| `--root` | string | `docs` | Documentation root for `links` and `index`. |
|
|
1315
1693
|
|
|
1316
1694
|
**EXIT STATUS**
|
|
1317
1695
|
|
|
@@ -1321,10 +1699,10 @@ body alone, with no frontmatter, exactly as before.
|
|
|
1321
1699
|
**EXAMPLES**
|
|
1322
1700
|
|
|
1323
1701
|
```
|
|
1324
|
-
$
|
|
1702
|
+
$ package-build docs item-fields --out docs/item-fields.md --title "Demo Item Fields"
|
|
1325
1703
|
[…] Wrote docs/item-fields.md
|
|
1326
1704
|
|
|
1327
|
-
$
|
|
1705
|
+
$ package-build docs item-fields --out docs/item-fields.md --title "Demo Item Fields" --check
|
|
1328
1706
|
[…] docs/item-fields.md is up to date.
|
|
1329
1707
|
```
|
|
1330
1708
|
|
|
@@ -1332,7 +1710,96 @@ $ content-build docs item-fields --out docs/item-fields.md --title "Demo Item Fi
|
|
|
1332
1710
|
|
|
1333
1711
|
[Configuration](configuration.md).
|
|
1334
1712
|
|
|
1335
|
-
### `
|
|
1713
|
+
### `package-build prose lint [path]`
|
|
1714
|
+
|
|
1715
|
+
**NAME**
|
|
1716
|
+
|
|
1717
|
+
Analyze note prose for readability and simpler wording.
|
|
1718
|
+
|
|
1719
|
+
**SYNOPSIS**
|
|
1720
|
+
|
|
1721
|
+
```text
|
|
1722
|
+
package-build prose lint [path] [--age <years>] [--threshold <count>] [--min-words <count>]
|
|
1723
|
+
```
|
|
1724
|
+
|
|
1725
|
+
**DESCRIPTION**
|
|
1726
|
+
|
|
1727
|
+
Run this command from the package root to review the readable prose in one
|
|
1728
|
+
Markdown note or a content tree. Pass a note path while editing that note;
|
|
1729
|
+
omit it to review the configured `paths.content` tree. A directory path scans
|
|
1730
|
+
its Markdown files recursively and honors `skipDirectories`. A file path
|
|
1731
|
+
analyzes that file alone, even if it sits in an excluded directory. The command
|
|
1732
|
+
reads source files and writes nothing. It is an optional editorial check:
|
|
1733
|
+
`package-build lint` and the normal lint scripts do not run it.
|
|
1734
|
+
|
|
1735
|
+
Set defaults in `package-build.config.yaml` under `packageBuild.proseLint`:
|
|
1736
|
+
|
|
1737
|
+
```yaml
|
|
1738
|
+
packageBuild:
|
|
1739
|
+
proseLint: { age: 21, threshold: 5, minWords: 8 }
|
|
1740
|
+
```
|
|
1741
|
+
|
|
1742
|
+
No configuration is required; the values above are the defaults. `age` is the
|
|
1743
|
+
intended reader's age in years. `threshold` is the number of seven readability
|
|
1744
|
+
algorithms that must classify a sentence as difficult before it is reported.
|
|
1745
|
+
For example, a threshold of 5 reports a sentence if five or more algorithms
|
|
1746
|
+
flag it; a threshold of 7 reports only unanimous findings. `minWords` excludes
|
|
1747
|
+
shorter sentences from readability analysis. Each setting is a positive integer,
|
|
1748
|
+
and `threshold` must be at most 7. CLI options override individual settings:
|
|
1749
|
+
`--min-words` overrides `minWords`, while `--age` and `--threshold` override
|
|
1750
|
+
their matching keys.
|
|
1751
|
+
|
|
1752
|
+
The command analyzes Markdown prose with `retext-english`,
|
|
1753
|
+
`retext-readability`, and `retext-simplify`; `retext-stringify` completes the
|
|
1754
|
+
text pipeline. YAML frontmatter, code blocks, wikilink addresses, and inline
|
|
1755
|
+
expressions are excluded. Each suggestion is a warning with a file, line,
|
|
1756
|
+
column, rule ID, confidence, offending sentence, and `expected` replacement
|
|
1757
|
+
list. The source location marks the difficult sentence or the specific phrase
|
|
1758
|
+
that could be simplified. Readability confidence is the number of algorithms
|
|
1759
|
+
that found the sentence difficult, out of seven. Simplify suggestions have no
|
|
1760
|
+
numeric confidence score, so they say `unscored`. `expected` lists suggested
|
|
1761
|
+
replacements; `[]` means the rule offers no replacement and may recommend
|
|
1762
|
+
deleting a word or rewriting a sentence. Suggestions are advisory, are never
|
|
1763
|
+
applied automatically, and do not make the command fail. Unreadable paths and
|
|
1764
|
+
invalid options do.
|
|
1765
|
+
|
|
1766
|
+
**OPTIONS**
|
|
1767
|
+
|
|
1768
|
+
| Input | Default | Meaning |
|
|
1769
|
+
| ------------- | -------------------------- | ---------------------------------------- |
|
|
1770
|
+
| `path` | configured `paths.content` | Markdown file or content tree |
|
|
1771
|
+
| `--age` | 21 | Reader age in years |
|
|
1772
|
+
| `--threshold` | 5 | Number of readability algorithms (1–7) |
|
|
1773
|
+
| `--min-words` | 8 | Minimum words for readability assessment |
|
|
1774
|
+
|
|
1775
|
+
**EXIT STATUS**
|
|
1776
|
+
|
|
1777
|
+
0 after reporting suggestions; 1 for invalid options or unreadable paths.
|
|
1778
|
+
|
|
1779
|
+
**EXAMPLES**
|
|
1780
|
+
|
|
1781
|
+
```bash
|
|
1782
|
+
package-build prose lint assets/content/Lore/Harbor.md
|
|
1783
|
+
package-build prose lint
|
|
1784
|
+
package-build prose lint assets/content --age 18 --threshold 6 --min-words 10
|
|
1785
|
+
```
|
|
1786
|
+
|
|
1787
|
+
For a note whose fifth line says `The utilization is very high.`, the command
|
|
1788
|
+
can report:
|
|
1789
|
+
|
|
1790
|
+
```text
|
|
1791
|
+
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
|
|
1792
|
+
```
|
|
1793
|
+
|
|
1794
|
+
Open the file at line 5, column 5, and decide whether `use` suits the context.
|
|
1795
|
+
The rule ID identifies the suggestion if you need to search or group results.
|
|
1796
|
+
|
|
1797
|
+
**SEE ALSO**
|
|
1798
|
+
|
|
1799
|
+
[`package-build lint`](#package-build-lint-root),
|
|
1800
|
+
[Configuration](configuration.md#packagebuildproselint).
|
|
1801
|
+
|
|
1802
|
+
### `package-build lint [root]`
|
|
1336
1803
|
|
|
1337
1804
|
**NAME**
|
|
1338
1805
|
|
|
@@ -1341,7 +1808,7 @@ Check a content tree's addresses and frontmatter without compiling it.
|
|
|
1341
1808
|
**SYNOPSIS**
|
|
1342
1809
|
|
|
1343
1810
|
```
|
|
1344
|
-
|
|
1811
|
+
package-build lint [root] [--no-references]
|
|
1345
1812
|
```
|
|
1346
1813
|
|
|
1347
1814
|
**DESCRIPTION**
|
|
@@ -1377,27 +1844,27 @@ itself could not be built for any note. Otherwise 0.
|
|
|
1377
1844
|
**EXAMPLES**
|
|
1378
1845
|
|
|
1379
1846
|
```
|
|
1380
|
-
$
|
|
1847
|
+
$ package-build lint
|
|
1381
1848
|
[…] 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 `
|
|
1849
|
+
[…] 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
1850
|
[…] Addresses and frontmatter are well-formed (4 address(es) across 4 note(s)).
|
|
1384
1851
|
```
|
|
1385
1852
|
|
|
1386
1853
|
**SEE ALSO**
|
|
1387
1854
|
|
|
1388
|
-
`
|
|
1389
|
-
`
|
|
1390
|
-
`
|
|
1855
|
+
`package-build links [root]`, `package-build reachability <dir> [file]`,
|
|
1856
|
+
`package-build content-format schema`, `package-build content-format fields`,
|
|
1857
|
+
`package-build content-format notes`, [Diagnostics](diagnostics.md),
|
|
1391
1858
|
[Configuration](configuration.md).
|
|
1392
1859
|
|
|
1393
|
-
`
|
|
1860
|
+
`package-build content-format <action>` checks `docs/content-format.md` —
|
|
1394
1861
|
the content-format specification this package ships — against reality, in
|
|
1395
1862
|
three ways that fail for different reasons at different times: `schema`,
|
|
1396
1863
|
`fields` and `notes`, one section below per action. All three read the
|
|
1397
1864
|
specification named by `--spec`, defaulting to the one this package ships,
|
|
1398
1865
|
and write nothing.
|
|
1399
1866
|
|
|
1400
|
-
### `
|
|
1867
|
+
### `package-build content-format schema`
|
|
1401
1868
|
|
|
1402
1869
|
**NAME**
|
|
1403
1870
|
|
|
@@ -1406,7 +1873,7 @@ Compare the content-format specification against a published schema.
|
|
|
1406
1873
|
**SYNOPSIS**
|
|
1407
1874
|
|
|
1408
1875
|
```
|
|
1409
|
-
|
|
1876
|
+
package-build content-format schema --schema <system>=<path> [--schema <system>=<path> ...] [--spec <path>]
|
|
1410
1877
|
```
|
|
1411
1878
|
|
|
1412
1879
|
**DESCRIPTION**
|
|
@@ -1419,10 +1886,10 @@ like one that passed.
|
|
|
1419
1886
|
|
|
1420
1887
|
**OPTIONS**
|
|
1421
1888
|
|
|
1422
|
-
| Option | Type | Default
|
|
1423
|
-
| ---------- | ---------------------------- |
|
|
1424
|
-
| `--spec` | string | the shipped `
|
|
1425
|
-
| `--schema` | string, repeatable, required | —
|
|
1889
|
+
| Option | Type | Default | Description |
|
|
1890
|
+
| ---------- | ---------------------------- | ---------------------------------------- | ----------------------------------------- |
|
|
1891
|
+
| `--spec` | string | the shipped `engine/content-format.yaml` | The specification to read. |
|
|
1892
|
+
| `--schema` | string, repeatable, required | — | A published schema, as `<system>=<path>`. |
|
|
1426
1893
|
|
|
1427
1894
|
**EXIT STATUS**
|
|
1428
1895
|
|
|
@@ -1432,17 +1899,17 @@ like one that passed.
|
|
|
1432
1899
|
**EXAMPLES**
|
|
1433
1900
|
|
|
1434
1901
|
```
|
|
1435
|
-
$
|
|
1902
|
+
$ package-build content-format schema --schema sohl=schema.json
|
|
1436
1903
|
[…] 19 claim(s) about hm3 are unchecked — no schema was supplied for it, so nothing here confirms them.
|
|
1437
1904
|
[…] 76 mapping claim(s) confirmed against the supplied schemas.
|
|
1438
1905
|
```
|
|
1439
1906
|
|
|
1440
1907
|
**SEE ALSO**
|
|
1441
1908
|
|
|
1442
|
-
`
|
|
1909
|
+
`package-build content-format fields`, `package-build content-format notes`,
|
|
1443
1910
|
`package-build schema`, [Configuration](configuration.md).
|
|
1444
1911
|
|
|
1445
|
-
### `
|
|
1912
|
+
### `package-build content-format fields`
|
|
1446
1913
|
|
|
1447
1914
|
**NAME**
|
|
1448
1915
|
|
|
@@ -1452,7 +1919,7 @@ declarations.
|
|
|
1452
1919
|
**SYNOPSIS**
|
|
1453
1920
|
|
|
1454
1921
|
```
|
|
1455
|
-
|
|
1922
|
+
package-build content-format fields [--fields <system>] [--coverage] [--spec <path>]
|
|
1456
1923
|
```
|
|
1457
1924
|
|
|
1458
1925
|
**DESCRIPTION**
|
|
@@ -1474,7 +1941,7 @@ vocabularies differ by design until a note's data fully moves under `data:`.
|
|
|
1474
1941
|
|
|
1475
1942
|
| Option | Type | Default | Description |
|
|
1476
1943
|
| ------------ | ---------------------------- | --------------------------------------------- | --------------------------------------------------- |
|
|
1477
|
-
| `--spec` | string | the shipped `
|
|
1944
|
+
| `--spec` | string | the shipped `engine/content-format.yaml` | The specification to read. |
|
|
1478
1945
|
| `--fields` | string, one of `sohl`, `hm3` | the consuming repository's own `itemBuilders` | A declaration set this package ships, by system id. |
|
|
1479
1946
|
| `--coverage` | boolean | `false` | List, per type, the fields only one side names. |
|
|
1480
1947
|
|
|
@@ -1486,7 +1953,7 @@ declaration that compiles it. Otherwise 0.
|
|
|
1486
1953
|
**EXAMPLES**
|
|
1487
1954
|
|
|
1488
1955
|
```
|
|
1489
|
-
$
|
|
1956
|
+
$ package-build content-format fields --fields sohl --coverage
|
|
1490
1957
|
[…] 13 type(s) compared against sohl's declarations (56 field pair(s)).
|
|
1491
1958
|
[…] 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
1959
|
[…] affiliation: format only [demonym, economy, epithet, governance, lore, population, symbol, templatePriority], declaration only [commonSkills, level, office, society, subType, title]
|
|
@@ -1494,10 +1961,10 @@ $ content-build content-format fields --fields sohl --coverage
|
|
|
1494
1961
|
|
|
1495
1962
|
**SEE ALSO**
|
|
1496
1963
|
|
|
1497
|
-
`
|
|
1964
|
+
`package-build content-format schema`, `package-build content-format notes`,
|
|
1498
1965
|
[Configuration](configuration.md).
|
|
1499
1966
|
|
|
1500
|
-
### `
|
|
1967
|
+
### `package-build content-format notes`
|
|
1501
1968
|
|
|
1502
1969
|
**NAME**
|
|
1503
1970
|
|
|
@@ -1506,7 +1973,7 @@ Measure a content tree against the specification's vocabulary.
|
|
|
1506
1973
|
**SYNOPSIS**
|
|
1507
1974
|
|
|
1508
1975
|
```
|
|
1509
|
-
|
|
1976
|
+
package-build content-format notes [root] [--strict] [--spec <path>]
|
|
1510
1977
|
```
|
|
1511
1978
|
|
|
1512
1979
|
**DESCRIPTION**
|
|
@@ -1524,10 +1991,10 @@ class of finding reaches zero.
|
|
|
1524
1991
|
| ---------- | ------ | ------------------------------ | ------------------------ |
|
|
1525
1992
|
| `root` | string | the configured `paths.content` | Content tree to measure. |
|
|
1526
1993
|
|
|
1527
|
-
| Option | Type | Default
|
|
1528
|
-
| ---------- | ------- |
|
|
1529
|
-
| `--spec` | string | the shipped `
|
|
1530
|
-
| `--strict` | boolean | `false`
|
|
1994
|
+
| Option | Type | Default | Description |
|
|
1995
|
+
| ---------- | ------- | ---------------------------------------- | ---------------------------------------------------- |
|
|
1996
|
+
| `--spec` | string | the shipped `engine/content-format.yaml` | The specification to read. |
|
|
1997
|
+
| `--strict` | boolean | `false` | Fail on the findings instead of only reporting them. |
|
|
1531
1998
|
|
|
1532
1999
|
**EXIT STATUS**
|
|
1533
2000
|
|
|
@@ -1538,17 +2005,17 @@ Otherwise 0.
|
|
|
1538
2005
|
**EXAMPLES**
|
|
1539
2006
|
|
|
1540
2007
|
```
|
|
1541
|
-
$
|
|
2008
|
+
$ package-build content-format notes
|
|
1542
2009
|
[…] 0 finding(s) across 4 note(s) measured against docs/content-format.md.
|
|
1543
2010
|
```
|
|
1544
2011
|
|
|
1545
2012
|
**SEE ALSO**
|
|
1546
2013
|
|
|
1547
|
-
`
|
|
1548
|
-
`
|
|
2014
|
+
`package-build content-format schema`, `package-build content-format fields`,
|
|
2015
|
+
`package-build lint [root]`, [Diagnostics](diagnostics.md),
|
|
1549
2016
|
[Configuration](configuration.md).
|
|
1550
2017
|
|
|
1551
|
-
### `
|
|
2018
|
+
### `package-build links [root]`
|
|
1552
2019
|
|
|
1553
2020
|
**NAME**
|
|
1554
2021
|
|
|
@@ -1557,7 +2024,7 @@ Check that every link in a content tree lands.
|
|
|
1557
2024
|
**SYNOPSIS**
|
|
1558
2025
|
|
|
1559
2026
|
```
|
|
1560
|
-
|
|
2027
|
+
package-build links [root]
|
|
1561
2028
|
```
|
|
1562
2029
|
|
|
1563
2030
|
**DESCRIPTION**
|
|
@@ -1568,7 +2035,7 @@ retired — every link is an address), a wikilink authored in frontmatter
|
|
|
1568
2035
|
(which is data and is never resolved), and a package homepage's markdown
|
|
1569
2036
|
links and `landing:` addresses, which are published verbatim and use no
|
|
1570
2037
|
wikilink at all. Also reports a vendored foreign-package content index that
|
|
1571
|
-
has drifted out of reach, naming `
|
|
2038
|
+
has drifted out of reach, naming `package-build deps fetch` as the fix.
|
|
1572
2039
|
Reads the content tree named by `root`, defaulting to `paths.content`, and
|
|
1573
2040
|
the cached content indexes of any declared dependency; writes nothing.
|
|
1574
2041
|
|
|
@@ -1587,17 +2054,17 @@ found. Otherwise 0.
|
|
|
1587
2054
|
**EXAMPLES**
|
|
1588
2055
|
|
|
1589
2056
|
```
|
|
1590
|
-
$
|
|
2057
|
+
$ package-build links
|
|
1591
2058
|
[…] 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
2059
|
```
|
|
1593
2060
|
|
|
1594
2061
|
**SEE ALSO**
|
|
1595
2062
|
|
|
1596
|
-
`
|
|
1597
|
-
`
|
|
2063
|
+
`package-build lint [root]`, `package-build reachability <dir> [file]`,
|
|
2064
|
+
`package-build deps fetch`, [Diagnostics](diagnostics.md),
|
|
1598
2065
|
[Configuration](configuration.md).
|
|
1599
2066
|
|
|
1600
|
-
### `
|
|
2067
|
+
### `package-build format [paths..]`
|
|
1601
2068
|
|
|
1602
2069
|
**NAME**
|
|
1603
2070
|
|
|
@@ -1606,7 +2073,7 @@ Check formatting with the shared Prettier configuration.
|
|
|
1606
2073
|
**SYNOPSIS**
|
|
1607
2074
|
|
|
1608
2075
|
```
|
|
1609
|
-
|
|
2076
|
+
package-build format [paths..] [--write]
|
|
1610
2077
|
```
|
|
1611
2078
|
|
|
1612
2079
|
**DESCRIPTION**
|
|
@@ -1644,24 +2111,24 @@ Otherwise 0.
|
|
|
1644
2111
|
**EXAMPLES**
|
|
1645
2112
|
|
|
1646
2113
|
```
|
|
1647
|
-
$
|
|
1648
|
-
warning: this repository declares no Prettier configuration, so `
|
|
1649
|
-
build/dist/module.json: error: is not formatted; run `
|
|
2114
|
+
$ package-build format
|
|
2115
|
+
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";
|
|
2116
|
+
build/dist/module.json: error: is not formatted; run `package-build format --write` to fix it
|
|
1650
2117
|
[…]
|
|
1651
2118
|
[…] ERROR: 10 of 15 file(s) are not formatted.
|
|
1652
2119
|
|
|
1653
|
-
$
|
|
2120
|
+
$ package-build format --write
|
|
1654
2121
|
[…] Formatted 10 of 15 file(s).
|
|
1655
2122
|
|
|
1656
|
-
$
|
|
2123
|
+
$ package-build format
|
|
1657
2124
|
[…] Formatting is clean (15 file(s)).
|
|
1658
2125
|
```
|
|
1659
2126
|
|
|
1660
2127
|
**SEE ALSO**
|
|
1661
2128
|
|
|
1662
|
-
`
|
|
2129
|
+
`package-build markdown [paths..]`, [Diagnostics](diagnostics.md).
|
|
1663
2130
|
|
|
1664
|
-
### `
|
|
2131
|
+
### `package-build markdown [paths..]`
|
|
1665
2132
|
|
|
1666
2133
|
**NAME**
|
|
1667
2134
|
|
|
@@ -1670,7 +2137,7 @@ Lint markdown with the shared markdownlint rule set.
|
|
|
1670
2137
|
**SYNOPSIS**
|
|
1671
2138
|
|
|
1672
2139
|
```
|
|
1673
|
-
|
|
2140
|
+
package-build markdown [paths..] [--fix]
|
|
1674
2141
|
```
|
|
1675
2142
|
|
|
1676
2143
|
**DESCRIPTION**
|
|
@@ -1682,6 +2149,8 @@ the one these repositories write. Runs over the repository rather than the
|
|
|
1682
2149
|
content tree, taking its rules from this package unless the consumer
|
|
1683
2150
|
declares its own. `--fix` applies the fixes markdownlint can make. Reads
|
|
1684
2151
|
every matched file; `--fix` rewrites them.
|
|
2152
|
+
Installed dependencies under `node_modules` are excluded even when the
|
|
2153
|
+
repository has no `.gitignore` or supplies its own markdownlint ignore list.
|
|
1685
2154
|
|
|
1686
2155
|
**OPTIONS**
|
|
1687
2156
|
|
|
@@ -1701,15 +2170,15 @@ exists at all). Otherwise 0.
|
|
|
1701
2170
|
**EXAMPLES**
|
|
1702
2171
|
|
|
1703
2172
|
```
|
|
1704
|
-
$
|
|
2173
|
+
$ package-build markdown
|
|
1705
2174
|
[…] Markdown is clean.
|
|
1706
2175
|
```
|
|
1707
2176
|
|
|
1708
2177
|
**SEE ALSO**
|
|
1709
2178
|
|
|
1710
|
-
`
|
|
2179
|
+
`package-build format [paths..]`, [Diagnostics](diagnostics.md).
|
|
1711
2180
|
|
|
1712
|
-
### `
|
|
2181
|
+
### `package-build content-index [root]`
|
|
1713
2182
|
|
|
1714
2183
|
**NAME**
|
|
1715
2184
|
|
|
@@ -1718,7 +2187,7 @@ Emit this package's note index as JSON Lines.
|
|
|
1718
2187
|
**SYNOPSIS**
|
|
1719
2188
|
|
|
1720
2189
|
```
|
|
1721
|
-
|
|
2190
|
+
package-build content-index [root] [--out <dir>]
|
|
1722
2191
|
```
|
|
1723
2192
|
|
|
1724
2193
|
**DESCRIPTION**
|
|
@@ -1751,16 +2220,16 @@ into `--out`, defaulting to the configured `paths.contentIndex`.
|
|
|
1751
2220
|
**EXAMPLES**
|
|
1752
2221
|
|
|
1753
2222
|
```
|
|
1754
|
-
$
|
|
2223
|
+
$ package-build content-index
|
|
1755
2224
|
[…] demo → build/content-index/demo-metadata.jsonl (4 notes, 2 KiB)
|
|
1756
2225
|
```
|
|
1757
2226
|
|
|
1758
2227
|
**SEE ALSO**
|
|
1759
2228
|
|
|
1760
|
-
`
|
|
2229
|
+
`package-build site`, `package-build pdf`, `package-build deps fetch`,
|
|
1761
2230
|
[Configuration](configuration.md).
|
|
1762
2231
|
|
|
1763
|
-
### `
|
|
2232
|
+
### `package-build site`
|
|
1764
2233
|
|
|
1765
2234
|
**NAME**
|
|
1766
2235
|
|
|
@@ -1769,7 +2238,7 @@ Build the Hugo source tree from the content tree.
|
|
|
1769
2238
|
**SYNOPSIS**
|
|
1770
2239
|
|
|
1771
2240
|
```
|
|
1772
|
-
|
|
2241
|
+
package-build site
|
|
1773
2242
|
```
|
|
1774
2243
|
|
|
1775
2244
|
**DESCRIPTION**
|
|
@@ -1823,7 +2292,7 @@ None.
|
|
|
1823
2292
|
|
|
1824
2293
|
1 if `package.json` declares no `homepage`, or one that does not end
|
|
1825
2294
|
`/<contentPackage>/`; if `packageBuild.manifest.title` is undeclared; if the
|
|
1826
|
-
navigation has not been fetched (`
|
|
2295
|
+
navigation has not been fetched (`package-build deps fetch` fills the cache
|
|
1827
2296
|
and is named in the message); or if `@heroiclands/hugo-theme` is not
|
|
1828
2297
|
installed. 1 if any gate fires — no homepage or two competing for it, a
|
|
1829
2298
|
frontmatter wikilink, an address that cannot be derived, a stale or
|
|
@@ -1833,20 +2302,20 @@ failed to expand, or a dead wikilink. Otherwise 0.
|
|
|
1833
2302
|
**EXAMPLES**
|
|
1834
2303
|
|
|
1835
2304
|
```
|
|
1836
|
-
$
|
|
2305
|
+
$ package-build site
|
|
1837
2306
|
[…] wrote 1 homepage(s) + 1 content page(s) to build/hugo/content
|
|
1838
2307
|
[…] wrote build/hugo/hugo.toml
|
|
1839
2308
|
|
|
1840
|
-
$
|
|
1841
|
-
[…] ERROR: the site navigation has not been fetched. Run `
|
|
2309
|
+
$ package-build site
|
|
2310
|
+
[…] ERROR: the site navigation has not been fetched. Run `package-build deps fetch` first.
|
|
1842
2311
|
```
|
|
1843
2312
|
|
|
1844
2313
|
**SEE ALSO**
|
|
1845
2314
|
|
|
1846
|
-
`
|
|
2315
|
+
`package-build deps fetch`, `package-build site-root`, `package-build package <action> [pack] [entry]`, `package-build pdf`, `package-build content-index [root]`,
|
|
1847
2316
|
[Diagnostics](diagnostics.md), [Configuration](configuration.md).
|
|
1848
2317
|
|
|
1849
|
-
### `
|
|
2318
|
+
### `package-build pdf`
|
|
1850
2319
|
|
|
1851
2320
|
**NAME**
|
|
1852
2321
|
|
|
@@ -1855,7 +2324,7 @@ Build the book the content tree publishes as.
|
|
|
1855
2324
|
**SYNOPSIS**
|
|
1856
2325
|
|
|
1857
2326
|
```
|
|
1858
|
-
|
|
2327
|
+
package-build pdf [--out <path>] [--book-version <version>] [--compile]
|
|
1859
2328
|
```
|
|
1860
2329
|
|
|
1861
2330
|
**DESCRIPTION**
|
|
@@ -1883,8 +2352,8 @@ configured `pdf.out`.
|
|
|
1883
2352
|
|
|
1884
2353
|
**EXIT STATUS**
|
|
1885
2354
|
|
|
1886
|
-
0 when there is a stated reason not to build (`
|
|
1887
|
-
|
|
2355
|
+
0 when there is a stated reason not to build (only a homepage note, no `pdf:`
|
|
2356
|
+
block, no content tree). 1 if the document tree
|
|
1888
2357
|
`pdf.document` names cannot be read or parsed, or on any other thrown
|
|
1889
2358
|
error. Otherwise 0 — findings inside a book that did build (a filter that
|
|
1890
2359
|
matched nothing, for instance) are reported but never fail the command.
|
|
@@ -1892,19 +2361,19 @@ matched nothing, for instance) are reported but never fail the command.
|
|
|
1892
2361
|
**EXAMPLES**
|
|
1893
2362
|
|
|
1894
2363
|
```
|
|
1895
|
-
$
|
|
2364
|
+
$ package-build pdf
|
|
1896
2365
|
[…] No book built: no `pdf:` block is configured, so this package publishes no book
|
|
1897
2366
|
|
|
1898
|
-
$
|
|
2367
|
+
$ package-build pdf --no-compile
|
|
1899
2368
|
demo-book: error: the document tree named by `pdf.document` cannot be read
|
|
1900
2369
|
```
|
|
1901
2370
|
|
|
1902
2371
|
**SEE ALSO**
|
|
1903
2372
|
|
|
1904
|
-
`
|
|
2373
|
+
`package-build site`, `package-build package <action> [pack] [entry]`,
|
|
1905
2374
|
[Diagnostics](diagnostics.md), [Configuration](configuration.md).
|
|
1906
2375
|
|
|
1907
|
-
### `
|
|
2376
|
+
### `package-build map`
|
|
1908
2377
|
|
|
1909
2378
|
**NAME**
|
|
1910
2379
|
|
|
@@ -1914,12 +2383,12 @@ route graph.
|
|
|
1914
2383
|
**SYNOPSIS**
|
|
1915
2384
|
|
|
1916
2385
|
```
|
|
1917
|
-
|
|
2386
|
+
package-build map --tree [--root <shortcode>] [--engine dot|twopi|neato] [--rankdir TB|LR|BT|RL]
|
|
1918
2387
|
[--nodesep <inches>] [--ranksep <inches>] [--no-polities]
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
2388
|
+
package-build map --from <shortcode>.. | --from all
|
|
2389
|
+
package-build map --chart <shortcode>.. | --chart all [--horizon <days>]
|
|
2390
|
+
package-build map --travel
|
|
2391
|
+
package-build map [...] [--scale <factor>] [--base <url>] [--out <dir>]
|
|
1923
2392
|
```
|
|
1924
2393
|
|
|
1925
2394
|
**DESCRIPTION**
|
|
@@ -2084,28 +2553,28 @@ that does not resolve, a cycle), or on any other thrown error. Otherwise 0
|
|
|
2084
2553
|
**EXAMPLES**
|
|
2085
2554
|
|
|
2086
2555
|
```
|
|
2087
|
-
$
|
|
2556
|
+
$ package-build map --tree
|
|
2088
2557
|
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
2558
|
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
2559
|
[…] 394 place(s) → 7 drawing(s) under build/map
|
|
2091
2560
|
|
|
2092
|
-
$
|
|
2561
|
+
$ package-build map --from dunharargn --base /thalorna/
|
|
2093
2562
|
[…] 394 place(s) → 1 drawing(s) under build/map
|
|
2094
2563
|
|
|
2095
|
-
$
|
|
2564
|
+
$ package-build map --chart takheperurgn --horizon 90
|
|
2096
2565
|
[…] 394 place(s) → 1 drawing(s) under build/map
|
|
2097
2566
|
|
|
2098
|
-
$
|
|
2567
|
+
$ package-build map --travel
|
|
2099
2568
|
[…] 394 place(s) → 1 drawing(s) under build/map
|
|
2100
2569
|
```
|
|
2101
2570
|
|
|
2102
2571
|
**SEE ALSO**
|
|
2103
2572
|
|
|
2104
|
-
`
|
|
2105
|
-
ends), `
|
|
2573
|
+
`package-build lint [root]` (which checks `borders` and `routes` from both
|
|
2574
|
+
ends), `package-build deps fetch`, `package-build content-index [root]`,
|
|
2106
2575
|
[Content format](content-format.md), [Diagnostics](diagnostics.md).
|
|
2107
2576
|
|
|
2108
|
-
### `
|
|
2577
|
+
### `package-build reachability <dir> [file]`
|
|
2109
2578
|
|
|
2110
2579
|
**NAME**
|
|
2111
2580
|
|
|
@@ -2114,7 +2583,7 @@ Check that every document in a corpus is reachable by reading.
|
|
|
2114
2583
|
**SYNOPSIS**
|
|
2115
2584
|
|
|
2116
2585
|
```
|
|
2117
|
-
|
|
2586
|
+
package-build reachability <dir> [file] [--index <shortcode> ...] [--root <path>]
|
|
2118
2587
|
```
|
|
2119
2588
|
|
|
2120
2589
|
**DESCRIPTION**
|
|
@@ -2149,19 +2618,19 @@ in the corpus is unreachable from the entry page. Otherwise 0.
|
|
|
2149
2618
|
**EXAMPLES**
|
|
2150
2619
|
|
|
2151
2620
|
```
|
|
2152
|
-
$
|
|
2621
|
+
$ package-build reachability Guide
|
|
2153
2622
|
[…] All 2 document(s) in Guide are reachable from README.md.
|
|
2154
2623
|
|
|
2155
|
-
$
|
|
2624
|
+
$ package-build reachability assets/content
|
|
2156
2625
|
[…] ERROR: no note at assets/content/README.md, so the corpus has no page to be read from
|
|
2157
2626
|
```
|
|
2158
2627
|
|
|
2159
2628
|
**SEE ALSO**
|
|
2160
2629
|
|
|
2161
|
-
`
|
|
2630
|
+
`package-build links [root]`, `package-build lint [root]`, [Diagnostics](diagnostics.md),
|
|
2162
2631
|
[Configuration](configuration.md).
|
|
2163
2632
|
|
|
2164
|
-
### `
|
|
2633
|
+
### `package-build addresses diff`
|
|
2165
2634
|
|
|
2166
2635
|
**NAME**
|
|
2167
2636
|
|
|
@@ -2170,7 +2639,7 @@ Report every published address a build no longer publishes.
|
|
|
2170
2639
|
**SYNOPSIS**
|
|
2171
2640
|
|
|
2172
2641
|
```
|
|
2173
|
-
|
|
2642
|
+
package-build addresses diff --from <zip|dir> [--strict]
|
|
2174
2643
|
```
|
|
2175
2644
|
|
|
2176
2645
|
**DESCRIPTION**
|
|
@@ -2212,11 +2681,11 @@ this repository declaring no Item pack at all to diff). Otherwise 0.
|
|
|
2212
2681
|
**EXAMPLES**
|
|
2213
2682
|
|
|
2214
2683
|
```
|
|
2215
|
-
$
|
|
2684
|
+
$ package-build addresses diff --from build/dist/module.zip
|
|
2216
2685
|
[…] ERROR: demo-package@1.0.0: pack "items" is declared at packs/items, which the package does not contain
|
|
2217
2686
|
```
|
|
2218
2687
|
|
|
2219
2688
|
**SEE ALSO**
|
|
2220
2689
|
|
|
2221
|
-
`
|
|
2690
|
+
`package-build package <action> [pack] [entry]`, `package-build deps fetch`,
|
|
2222
2691
|
[Diagnostics](diagnostics.md).
|