create-zudo-doc 4.2.1 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,7 +21,7 @@ export function generateCLAUDEFile(choices) {
21
21
  lines.push(`- **MDX** — content format, authored under \`src/content/\``);
22
22
  lines.push(`- **Tailwind CSS v4** — via \`@tailwindcss/vite\``);
23
23
  lines.push(`- **Preact** — for interactive islands only (with compat mode for React API)`);
24
- lines.push(`- **Shiki** — package-owned code highlighting with the configured light/dark theme pair`);
24
+ lines.push("- **zfb semantic highlighting** — native build-time fenced-code rendering plus lazy `@takazudo/zfb-md-wasm` for HtmlPreview; both emit `hi-*` classes resolved through `--zd-syntax-*` design tokens");
25
25
  lines.push(`- **@takazudo/zudo-doc** — the package that owns everything: layout, chrome, islands, default \`@theme\` design tokens, and (via \`packageOwnedRoutes\`, on by default) the doc routes themselves`);
26
26
  lines.push(``);
27
27
  // Commands
@@ -31,6 +31,7 @@ export function generateCLAUDEFile(choices) {
31
31
  if (choices.features.includes("docHistory")) {
32
32
  lines.push(`- \`${pmRunCommand(pm, "dev")}\` — runs the zfb dev server (port 4321) and the doc-history API server (port 4322) concurrently via \`run-p\` (\`${pmRunCommand(pm, "dev:zfb")}\` / \`${pmRunCommand(pm, "dev:history")}\` individually)`);
33
33
  lines.push(`- \`${pmRunCommand(pm, "dev:network")}\` — same, but zfb binds \`--host 0.0.0.0\` for LAN access (\`${pmRunCommand(pm, "dev:zfb:network")}\` individually); the doc-history server stays loopback-only and LAN clients reach it through zfb's \`/doc-history/*\` dev proxy`);
34
+ lines.push(`- **Trusted networks only:** this also serves your git doc-history — including UNPUBLISHED local commits — to anyone on the LAN via the \`/doc-history/*\` proxy`);
34
35
  lines.push(`- \`run-p\` swallows trailing args, so other zfb flags don't forward through \`${pmRunCommand(pm, "dev")}\` — pass them directly instead: \`${pm} run dev:zfb -- <flags>\``);
35
36
  }
36
37
  else {
package/dist/constants.js CHANGED
@@ -32,11 +32,31 @@ export const THEME_PACKS = [
32
32
  label: "Default",
33
33
  hint: "Stock zudo-doc look — no extra stylesheet loaded",
34
34
  },
35
+ {
36
+ slug: "academia",
37
+ label: "Academia",
38
+ hint: "A LaTeX paper for the web — white page, Computer-Modern-black ink, hyperref navy links, numbered theorem admonitions, booktabs tables",
39
+ },
40
+ {
41
+ slug: "bauhaus",
42
+ label: "Bauhaus",
43
+ hint: "Primary triad as structure — gallery white, near-black ink, and red, yellow, blue doing structural work: circle, triangle, square markers, thick geometric rules",
44
+ },
35
45
  {
36
46
  slug: "beacon",
37
47
  label: "Beacon",
38
48
  hint: "WCAG-AAA high contrast — 7:1+ ink, 3px focus rings, always-underlined links",
39
49
  },
50
+ {
51
+ slug: "blueprint",
52
+ label: "Blueprint",
53
+ hint: "Cyanotype drafting sheet — pale-cyan linework on prussian grid paper, title-block caps, dashed rules, mono-caps labels",
54
+ },
55
+ {
56
+ slug: "botanica",
57
+ label: "Botanica",
58
+ hint: "A vintage botanical plate — herbarium cream, deep green ink, engraved double rules, Latin small-caps plate labels",
59
+ },
40
60
  {
41
61
  slug: "broadsheet",
42
62
  label: "Broadsheet",
@@ -52,6 +72,11 @@ export const THEME_PACKS = [
52
72
  label: "Drift",
53
73
  hint: "Floaty slate-blue comfort dark for long reading, relaxed Plex type",
54
74
  },
75
+ {
76
+ slug: "eink",
77
+ label: "E-Ink",
78
+ hint: "E-reader grayscale — warm paper, near-black ink, shadowless hairline chrome, zero radius",
79
+ },
55
80
  {
56
81
  slug: "fjord",
57
82
  label: "Fjord",
@@ -112,6 +137,21 @@ export const THEME_PACKS = [
112
137
  label: "Phosphor",
113
138
  hint: "Green CRT terminal — phosphor glow, scanlines, inverse-video nav",
114
139
  },
140
+ {
141
+ slug: "riso",
142
+ label: "Riso",
143
+ hint: "Risograph duotone print — warm paper, two inks (riso blue + fluorescent coral), misregistered offset shadows, soft linear paper grain",
144
+ },
145
+ {
146
+ slug: "sakura",
147
+ label: "Sakura",
148
+ hint: "Cherry-blossom pastels — blush-white paper, plum ink, and rose accents on petal-soft corners",
149
+ },
150
+ {
151
+ slug: "scandi",
152
+ label: "Scandi",
153
+ hint: "Hygge minimalism — oat linen, sage & clay, pill nav actives and 8px corners",
154
+ },
115
155
  {
116
156
  slug: "solar",
117
157
  label: "Solar",
@@ -127,6 +167,16 @@ export const THEME_PACKS = [
127
167
  label: "Swissgrid",
128
168
  hint: "International Typographic Style — grid discipline, one hot Swiss-red accent",
129
169
  },
170
+ {
171
+ slug: "tidepool",
172
+ label: "Tidepool",
173
+ hint: "Marine teal dark — deep-sea teal surfaces, seafoam text, bioluminescent aqua accents, kelp-green success, coral danger",
174
+ },
175
+ {
176
+ slug: "timberline",
177
+ label: "Timberline",
178
+ hint: "Forest cabin after dark — pine & umber planks, cream prose, and matte lantern-amber accents",
179
+ },
130
180
  {
131
181
  slug: "washi",
132
182
  label: "Washi",
@@ -18,5 +18,5 @@ export { getSecondaryLang };
18
18
  *
19
19
  * Bumped in lockstep by scripts/release-create-zudo-doc.sh.
20
20
  */
21
- export declare const ZUDO_DOC_PIN = "^4.2.1";
21
+ export declare const ZUDO_DOC_PIN = "^4.4.0";
22
22
  export declare function scaffold(choices: UserChoices): Promise<void>;
package/dist/scaffold.js CHANGED
@@ -24,7 +24,7 @@ export { getSecondaryLang };
24
24
  *
25
25
  * Bumped in lockstep by scripts/release-create-zudo-doc.sh.
26
26
  */
27
- export const ZUDO_DOC_PIN = "^4.2.1";
27
+ export const ZUDO_DOC_PIN = "^4.4.0";
28
28
  /**
29
29
  * Files in `templates/base/**` that must not be copied by the unconditional
30
30
  * base mirror. Each entry is matched against the path relative to
@@ -550,12 +550,12 @@ function generatePackageJson(choices) {
550
550
  // singleton across host-callable wiring (zfb#1652/#1653). The zfb family
551
551
  // must stay in lockstep because the WASM browser entry depends on its
552
552
  // resource-aware island pipeline.
553
- "@takazudo/zfb": "0.1.0-next.89",
554
- "@takazudo/zfb-runtime": "0.1.0-next.89",
553
+ "@takazudo/zfb": "0.1.0-next.90",
554
+ "@takazudo/zfb-runtime": "0.1.0-next.90",
555
555
  // zfb-adapter-cloudflare — required for any route with `prerender = false`.
556
556
  // Pinned in lockstep with @takazudo/zfb.
557
- "@takazudo/zfb-adapter-cloudflare": "0.1.0-next.89",
558
- "@takazudo/zfb-md-wasm": "0.1.0-next.89",
557
+ "@takazudo/zfb-adapter-cloudflare": "0.1.0-next.90",
558
+ "@takazudo/zfb-md-wasm": "0.1.0-next.90",
559
559
  // @takazudo/zudo-doc — published from this monorepo via
560
560
  // .github/workflows/publish-zudo-doc.yml. The pin here is bumped in
561
561
  // lockstep by scripts/release-create-zudo-doc.sh whenever zudo-doc's
@@ -590,9 +590,6 @@ function generatePackageJson(choices) {
590
590
  // compiles. Same pin as host. Caught by W6B (#1735) consumer-build
591
591
  // verification.
592
592
  "preact-render-to-string": "^6.6.6",
593
- // Retained until #2742 atomically moves HTML Preview to zfb-md-wasm.
594
- shiki: "^4.0.2",
595
- "@shikijs/transformers": "^4.0.0",
596
593
  "gray-matter": "^4.0.0",
597
594
  mermaid: "^11.12.3",
598
595
  "remark-cjk-friendly": "^2.0.1",
@@ -660,7 +657,7 @@ function generatePackageJson(choices) {
660
657
  // doc-history helpers, which in turn import
661
658
  // @takazudo/zudo-doc-history-server/git-history. Without this dep the
662
659
  // plugin host fails at init with ERR_MODULE_NOT_FOUND — W8A (#1739).
663
- deps["@takazudo/zudo-doc-history-server"] = "^4.2.1";
660
+ deps["@takazudo/zudo-doc-history-server"] = "^4.4.0";
664
661
  // tsx is no longer needed here: the relocated package plugin imports the
665
662
  // runner directly (no `tsx -e` spawn) since the package ships compiled
666
663
  // dist/ — package-first migration #2321 (#2337).
@@ -60,6 +60,7 @@ export const DEFAULT_MIRROR = {
60
60
  findInPage: false,
61
61
  dynamicPageTransition: false,
62
62
  docHistory: false,
63
+ docHistoryExclude: [],
63
64
  bodyFootUtilArea: false,
64
65
  versions: false,
65
66
  claudeResources: false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-zudo-doc",
3
- "version": "4.2.1",
3
+ "version": "4.4.0",
4
4
  "description": "Create a new zudo-doc documentation site",
5
5
  "license": "MIT",
6
6
  "author": "Takeshi Takatsudo",
@@ -81,6 +81,8 @@ REPO_ROOT="$(git -C "$ROOT_DIR" worktree list | head -1 | awk '{print $1}')"
81
81
  # worktree root, above) reconstructs the equivalent path there even when
82
82
  # running from inside a different worktree.
83
83
  PROJECT_PREFIX="$(git -C "$ROOT_DIR" rev-parse --show-prefix)"
84
+ MAIN_PROJECT_DIR="$REPO_ROOT/${PROJECT_PREFIX}"
85
+ MAIN_PROJECT_DIR="${MAIN_PROJECT_DIR%/}"
84
86
  REPO_DOCS_DIR="$REPO_ROOT/${PROJECT_PREFIX}src/content/docs"
85
87
  REPO_DOCS_JA_DIR="$REPO_ROOT/${PROJECT_PREFIX}src/content/docs-ja"
86
88
 
@@ -142,7 +144,7 @@ fi
142
144
  # even when the project is nested inside a larger git repo (running `pnpm
143
145
  # build` from the outer repo root would otherwise invoke the wrong
144
146
  # package.json, #2918).
145
- VERIFY_STEP="Run \`pnpm build\` from \`$ROOT_DIR\` to confirm the site builds correctly."
147
+ VERIFY_STEP="Run \`pnpm build\` from \`$MAIN_PROJECT_DIR\` to confirm the site builds correctly."
146
148
 
147
149
  resolve_targets() {
148
150
  case "$TARGET_MODE" in
@@ -204,7 +206,7 @@ argument-hint: "[-u|--update] [topic keyword, e.g., 'configuration', 'sidebar',
204
206
  # $PROJECT_NAME Documentation Reference
205
207
 
206
208
  Look up documentation from the $PROJECT_NAME project for $assistant_label.
207
- Documentation base path: \`src/content/docs\` (relative to the project root: \`$ROOT_DIR\`)
209
+ Documentation base path: \`src/content/docs\` (relative to the project root: \`$MAIN_PROJECT_DIR\`)
208
210
 
209
211
  ## Mode Detection
210
212
 
@@ -234,7 +236,7 @@ The user has new information and wants to add or update documentation in this re
234
236
  the topic. Read them to understand what is already covered.
235
237
  3. **Decide create vs update**: If an existing article covers the topic, update
236
238
  it. Otherwise, create a new \`.mdx\` file in the appropriate subdirectory.
237
- 4. **Write the content**: Follow the doc-authoring rules in this project's CLAUDE.md (\`$ROOT_DIR/CLAUDE.md\`):
239
+ 4. **Write the content**: Follow the doc-authoring rules in this project's CLAUDE.md (\`$MAIN_PROJECT_DIR/CLAUDE.md\`):
238
240
  - Required frontmatter: \`title\` (string). Always set \`sidebar_position\`.
239
241
  Optional: \`description\`, \`sidebar_label\`, \`tags\`, etc.
240
242
  - Do NOT use \`# h1\` in content — the frontmatter \`title\` renders as h1.