@dogsbay/format-astro 0.2.0-beta.12 → 0.2.0-beta.120

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.
Files changed (83) hide show
  1. package/dist/api-markdown.d.ts +8 -0
  2. package/dist/api-markdown.d.ts.map +1 -0
  3. package/dist/api-markdown.js +50 -0
  4. package/dist/api-markdown.js.map +1 -0
  5. package/dist/base-path.d.ts +93 -7
  6. package/dist/base-path.d.ts.map +1 -1
  7. package/dist/base-path.js +122 -8
  8. package/dist/base-path.js.map +1 -1
  9. package/dist/blog.d.ts +134 -0
  10. package/dist/blog.d.ts.map +1 -0
  11. package/dist/blog.js +324 -0
  12. package/dist/blog.js.map +1 -0
  13. package/dist/browser.d.ts +14 -0
  14. package/dist/browser.d.ts.map +1 -0
  15. package/dist/browser.js +14 -0
  16. package/dist/browser.js.map +1 -0
  17. package/dist/canonical.d.ts +34 -0
  18. package/dist/canonical.d.ts.map +1 -0
  19. package/dist/canonical.js +107 -0
  20. package/dist/canonical.js.map +1 -0
  21. package/dist/cli.d.ts.map +1 -1
  22. package/dist/cli.js +1 -0
  23. package/dist/cli.js.map +1 -1
  24. package/dist/diff-decoration.d.ts +79 -0
  25. package/dist/diff-decoration.d.ts.map +1 -0
  26. package/dist/diff-decoration.js +541 -0
  27. package/dist/diff-decoration.js.map +1 -0
  28. package/dist/granularity.d.ts +83 -0
  29. package/dist/granularity.d.ts.map +1 -0
  30. package/dist/granularity.js +247 -0
  31. package/dist/granularity.js.map +1 -0
  32. package/dist/head-metadata.d.ts +26 -0
  33. package/dist/head-metadata.d.ts.map +1 -0
  34. package/dist/head-metadata.js +56 -0
  35. package/dist/head-metadata.js.map +1 -0
  36. package/dist/index.d.ts +24 -4
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +30 -3
  39. package/dist/index.js.map +1 -1
  40. package/dist/lead.d.ts +1 -38
  41. package/dist/lead.d.ts.map +1 -1
  42. package/dist/lead.js +3 -37
  43. package/dist/lead.js.map +1 -1
  44. package/dist/llms-txt.d.ts +53 -11
  45. package/dist/llms-txt.d.ts.map +1 -1
  46. package/dist/llms-txt.js +85 -222
  47. package/dist/llms-txt.js.map +1 -1
  48. package/dist/plugins.d.ts.map +1 -1
  49. package/dist/plugins.js +4 -2
  50. package/dist/plugins.js.map +1 -1
  51. package/dist/project.d.ts +377 -12
  52. package/dist/project.d.ts.map +1 -1
  53. package/dist/project.js +2263 -661
  54. package/dist/project.js.map +1 -1
  55. package/dist/redirects.d.ts +116 -0
  56. package/dist/redirects.d.ts.map +1 -0
  57. package/dist/redirects.js +224 -0
  58. package/dist/redirects.js.map +1 -0
  59. package/dist/serialize.d.ts +14 -0
  60. package/dist/serialize.d.ts.map +1 -1
  61. package/dist/serialize.js +643 -216
  62. package/dist/serialize.js.map +1 -1
  63. package/dist/sitemap.d.ts +108 -0
  64. package/dist/sitemap.d.ts.map +1 -0
  65. package/dist/sitemap.js +127 -0
  66. package/dist/sitemap.js.map +1 -0
  67. package/dist/taxonomy.d.ts +48 -1
  68. package/dist/taxonomy.d.ts.map +1 -1
  69. package/dist/taxonomy.js +46 -11
  70. package/dist/taxonomy.js.map +1 -1
  71. package/dist/theme-css.d.ts +26 -0
  72. package/dist/theme-css.d.ts.map +1 -0
  73. package/dist/theme-css.js +642 -0
  74. package/dist/theme-css.js.map +1 -0
  75. package/dist/tone-classes.d.ts +14 -0
  76. package/dist/tone-classes.d.ts.map +1 -0
  77. package/dist/tone-classes.js +30 -0
  78. package/dist/tone-classes.js.map +1 -0
  79. package/dist/write-if-changed.d.ts +21 -0
  80. package/dist/write-if-changed.d.ts.map +1 -0
  81. package/dist/write-if-changed.js +58 -0
  82. package/dist/write-if-changed.js.map +1 -0
  83. package/package.json +16 -7
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Tone palette for `:::grid-item{label="..." tone="..."}` cells.
3
+ * Each tone is a `bg + text` Tailwind class pair. Used to make grid demos
4
+ * declarative — authors specify a tone instead of writing the styling.
5
+ *
6
+ * Exported because the scaffolded site's `global.css` must safelist
7
+ * these classes via `@source inline()` — they only appear in
8
+ * markdown-generated `.astro` pages, which Tailwind's content
9
+ * scanner doesn't always pick up reliably (and consumers who put
10
+ * their content/ outside the scanned globs won't pick them up at
11
+ * all). See generateGlobalCss in theme-css.ts.
12
+ */
13
+ export const TONE_CLASSES = {
14
+ // Primary scale (intensity)
15
+ "primary": "bg-primary text-primary-foreground",
16
+ "primary-strong": "bg-primary/80 text-primary-foreground",
17
+ "primary-medium": "bg-primary/60 text-primary-foreground",
18
+ "primary-half": "bg-primary/50 text-primary-foreground",
19
+ "primary-light": "bg-primary/20 text-primary",
20
+ "primary-soft": "bg-primary/10 text-primary",
21
+ // Neutral
22
+ "muted": "bg-muted text-muted-foreground",
23
+ // Named colors (for layout demos with distinct cells)
24
+ "blue": "bg-blue-500/15 text-blue-700 dark:text-blue-300",
25
+ "amber": "bg-amber-500/15 text-amber-700 dark:text-amber-300",
26
+ "green": "bg-green-500/15 text-green-700 dark:text-green-300",
27
+ "purple": "bg-purple-500/15 text-purple-700 dark:text-purple-300",
28
+ "red": "bg-red-500/15 text-red-700 dark:text-red-300",
29
+ };
30
+ //# sourceMappingURL=tone-classes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tone-classes.js","sourceRoot":"","sources":["../src/tone-classes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,YAAY,GAA2B;IAClD,4BAA4B;IAC5B,SAAS,EAAE,oCAAoC;IAC/C,gBAAgB,EAAE,uCAAuC;IACzD,gBAAgB,EAAE,uCAAuC;IACzD,cAAc,EAAE,uCAAuC;IACvD,eAAe,EAAE,4BAA4B;IAC7C,cAAc,EAAE,4BAA4B;IAC5C,UAAU;IACV,OAAO,EAAE,gCAAgC;IACzC,sDAAsD;IACtD,MAAM,EAAE,iDAAiD;IACzD,OAAO,EAAE,oDAAoD;IAC7D,OAAO,EAAE,oDAAoD;IAC7D,QAAQ,EAAE,uDAAuD;IACjE,KAAK,EAAE,8CAA8C;CACtD,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * File writes that leave unchanged files alone.
3
+ *
4
+ * `dogsbay site dev` reruns the site build on every content change while Astro's dev
5
+ * server watches the generated project. A write of identical bytes still changes the
6
+ * file's modification time, and Vite treats it as a change: rewriting all 2,000 files
7
+ * of a 200-page site made it discard its compiled modules, so the next page request
8
+ * recompiled the site (about 30 s). Writing only files whose content changed keeps a
9
+ * one-page edit to a one-page reload (under 0.2 s).
10
+ *
11
+ * Drop-in replacements for `node:fs` `writeFileSync` and `copyFileSync`.
12
+ */
13
+ import * as fs from "node:fs";
14
+ type WriteData = Parameters<typeof fs.writeFileSync>[1];
15
+ type WriteOptions = Parameters<typeof fs.writeFileSync>[2];
16
+ /** `fs.writeFileSync`, skipped when the file already holds the same bytes. */
17
+ export declare function writeFileSync(path: fs.PathOrFileDescriptor, data: WriteData, options?: WriteOptions): void;
18
+ /** `fs.copyFileSync`, skipped when the destination already holds the source's bytes. */
19
+ export declare function copyFileSync(src: fs.PathLike, dest: fs.PathLike, mode?: number): void;
20
+ export {};
21
+ //# sourceMappingURL=write-if-changed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-if-changed.d.ts","sourceRoot":"","sources":["../src/write-if-changed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAuB3D,8EAA8E;AAC9E,wBAAgB,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI,CAM1G;AAED,wFAAwF;AACxF,wBAAgB,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CASrF"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * File writes that leave unchanged files alone.
3
+ *
4
+ * `dogsbay site dev` reruns the site build on every content change while Astro's dev
5
+ * server watches the generated project. A write of identical bytes still changes the
6
+ * file's modification time, and Vite treats it as a change: rewriting all 2,000 files
7
+ * of a 200-page site made it discard its compiled modules, so the next page request
8
+ * recompiled the site (about 30 s). Writing only files whose content changed keeps a
9
+ * one-page edit to a one-page reload (under 0.2 s).
10
+ *
11
+ * Drop-in replacements for `node:fs` `writeFileSync` and `copyFileSync`.
12
+ */
13
+ import * as fs from "node:fs";
14
+ /** The bytes `data` would write, or undefined for data this comparison does not handle. */
15
+ function bytesOf(data, options) {
16
+ if (typeof data === "string") {
17
+ const encoding = typeof options === "string" ? options : options?.encoding;
18
+ return Buffer.from(data, (encoding ?? "utf8"));
19
+ }
20
+ if (Buffer.isBuffer(data))
21
+ return data;
22
+ if (data instanceof Uint8Array)
23
+ return Buffer.from(data.buffer, data.byteOffset, data.byteLength);
24
+ return undefined;
25
+ }
26
+ /** True when `path` is a file holding exactly `bytes`. */
27
+ function sameContent(path, bytes) {
28
+ try {
29
+ const stat = fs.statSync(path);
30
+ return stat.isFile() && stat.size === bytes.length && fs.readFileSync(path).equals(bytes);
31
+ }
32
+ catch {
33
+ return false;
34
+ }
35
+ }
36
+ /** `fs.writeFileSync`, skipped when the file already holds the same bytes. */
37
+ export function writeFileSync(path, data, options) {
38
+ if (typeof path !== "number") {
39
+ const bytes = bytesOf(data, options);
40
+ if (bytes && sameContent(path, bytes))
41
+ return;
42
+ }
43
+ fs.writeFileSync(path, data, options);
44
+ }
45
+ /** `fs.copyFileSync`, skipped when the destination already holds the source's bytes. */
46
+ export function copyFileSync(src, dest, mode) {
47
+ try {
48
+ const srcStat = fs.statSync(src);
49
+ const destStat = fs.statSync(dest);
50
+ if (srcStat.size === destStat.size && destStat.isFile() && fs.readFileSync(src).equals(fs.readFileSync(dest)))
51
+ return;
52
+ }
53
+ catch {
54
+ // no destination yet (or unreadable): copy
55
+ }
56
+ fs.copyFileSync(src, dest, mode);
57
+ }
58
+ //# sourceMappingURL=write-if-changed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-if-changed.js","sourceRoot":"","sources":["../src/write-if-changed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAK9B,2FAA2F;AAC3F,SAAS,OAAO,CAAC,IAAe,EAAE,OAAqB;IACrD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC;QAC3E,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,IAAI,MAAM,CAAmB,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,IAAI,IAAI,YAAY,UAAU;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAClG,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,0DAA0D;AAC1D,SAAS,WAAW,CAAC,IAAiB,EAAE,KAAa;IACnD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,aAAa,CAAC,IAA6B,EAAE,IAAe,EAAE,OAAsB;IAClG,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrC,IAAI,KAAK,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC;YAAE,OAAO;IAChD,CAAC;IACD,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,YAAY,CAAC,GAAgB,EAAE,IAAiB,EAAE,IAAa;IAC7E,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAAE,OAAO;IACxH,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;IAC7C,CAAC;IACD,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACnC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dogsbay/format-astro",
3
- "version": "0.2.0-beta.12",
3
+ "version": "0.2.0-beta.120",
4
4
  "description": "Astro format plugin for Dogsbay — export TreeNode[] to Astro component markup",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -13,6 +13,10 @@
13
13
  "./cli": {
14
14
  "types": "./dist/cli.d.ts",
15
15
  "import": "./dist/cli.js"
16
+ },
17
+ "./browser": {
18
+ "types": "./dist/browser.d.ts",
19
+ "import": "./dist/browser.js"
16
20
  }
17
21
  },
18
22
  "files": [
@@ -20,15 +24,20 @@
20
24
  "README.md"
21
25
  ],
22
26
  "devDependencies": {
23
- "@types/node": "^25.5.0",
24
- "typescript": "^5.7.0",
25
- "vitest": "^3.0.0"
27
+ "@types/markdown-it": "^14.1.2",
28
+ "@types/node": "^25.9.5",
29
+ "typescript": "^5.9.3",
30
+ "vitest": "^4.1.10"
26
31
  },
27
32
  "license": "MIT",
28
33
  "dependencies": {
29
- "@dogsbay/types": "0.2.0-beta.12",
30
- "@dogsbay/format-dogsbay-md": "0.2.0-beta.12",
31
- "@dogsbay/ui": "0.2.0-beta.12"
34
+ "markdown-it": "^14.3.0",
35
+ "@dogsbay/format-dogsbay-md": "0.2.0-beta.120",
36
+ "@dogsbay/site-files": "0.2.0-beta.120",
37
+ "@dogsbay/render-html": "0.2.0-beta.120",
38
+ "@dogsbay/serialize-core": "0.2.0-beta.120",
39
+ "@dogsbay/types": "0.2.0-beta.120",
40
+ "@dogsbay/ui": "0.2.0-beta.120"
32
41
  },
33
42
  "repository": {
34
43
  "type": "git",