jamdesk 1.1.219 → 1.1.221
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/dist/__tests__/unit/docs-config.test.js +20 -0
- package/dist/__tests__/unit/docs-config.test.js.map +1 -1
- package/dist/__tests__/unit/logo-svg-text-wiring.test.d.ts +2 -0
- package/dist/__tests__/unit/logo-svg-text-wiring.test.d.ts.map +1 -0
- package/dist/__tests__/unit/logo-svg-text-wiring.test.js +14 -0
- package/dist/__tests__/unit/logo-svg-text-wiring.test.js.map +1 -0
- package/dist/__tests__/unit/logo-svg-text.test.d.ts +2 -0
- package/dist/__tests__/unit/logo-svg-text.test.d.ts.map +1 -0
- package/dist/__tests__/unit/logo-svg-text.test.js +64 -0
- package/dist/__tests__/unit/logo-svg-text.test.js.map +1 -0
- package/dist/__tests__/unit/svg-text-sync.test.d.ts +2 -0
- package/dist/__tests__/unit/svg-text-sync.test.d.ts.map +1 -0
- package/dist/__tests__/unit/svg-text-sync.test.js +16 -0
- package/dist/__tests__/unit/svg-text-sync.test.js.map +1 -0
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +5 -1
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +5 -1
- package/dist/commands/validate.js.map +1 -1
- package/dist/lib/docs-config.d.ts.map +1 -1
- package/dist/lib/docs-config.js +3 -0
- package/dist/lib/docs-config.js.map +1 -1
- package/dist/lib/logo-svg-text.d.ts +8 -0
- package/dist/lib/logo-svg-text.d.ts.map +1 -0
- package/dist/lib/logo-svg-text.js +53 -0
- package/dist/lib/logo-svg-text.js.map +1 -0
- package/dist/lib/svg-text.d.ts +40 -0
- package/dist/lib/svg-text.d.ts.map +1 -0
- package/dist/lib/svg-text.js +226 -0
- package/dist/lib/svg-text.js.map +1 -0
- package/package.json +1 -1
- package/vendored/app/layout.tsx +2 -2
- package/vendored/lib/docs-types.ts +2 -0
- package/vendored/lib/logo-svg-text-warning.ts +55 -0
- package/vendored/lib/seo.ts +16 -0
- package/vendored/lib/svg-text.ts +221 -0
- package/vendored/lib/validate-config.ts +2 -0
- package/vendored/schema/docs-schema.json +6 -0
- package/vendored/shared/status-reporter.ts +5 -0
- package/vendored/workspace-package-lock.json +108 -108
package/dist/lib/docs-config.js
CHANGED
|
@@ -240,6 +240,9 @@ export function formatValidationErrors(errors, navigation) {
|
|
|
240
240
|
case 'minLength':
|
|
241
241
|
return ` - Value at ${path} must not be empty`;
|
|
242
242
|
case 'pattern':
|
|
243
|
+
// A bare "Invalid format" gives no hint that %s is the missing piece.
|
|
244
|
+
if (err.instancePath === '/seo/titleTemplate')
|
|
245
|
+
return ` - Invalid value at ${path}: must contain %s where the page title goes`;
|
|
243
246
|
return ` - Invalid format at ${path}`;
|
|
244
247
|
case 'anyOf':
|
|
245
248
|
return ` - Invalid value at ${path}: does not match any allowed format`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs-config.js","sourceRoot":"","sources":["../../src/lib/docs-config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"docs-config.js","sourceRoot":"","sources":["../../src/lib/docs-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ConfigSuggestion } from './config-suggestions.js';
|
|
2
|
+
import { cardSvgLogoRef } from './svg-text.js';
|
|
3
|
+
/**
|
|
4
|
+
* Suggest outlining text in the SVG logo the social card draws. Mirrors the
|
|
5
|
+
* hosted build's check; any read failure means no suggestion, never an error.
|
|
6
|
+
*/
|
|
7
|
+
export declare function suggestLogoSvgText(config: Parameters<typeof cardSvgLogoRef>[0], projectDir: string): ConfigSuggestion[];
|
|
8
|
+
//# sourceMappingURL=logo-svg-text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logo-svg-text.d.ts","sourceRoot":"","sources":["../../src/lib/logo-svg-text.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAmE,MAAM,eAAe,CAAC;AAEhH;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,EAC5C,UAAU,EAAE,MAAM,GACjB,gBAAgB,EAAE,CA2BpB"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { isPathWithinProject } from './path-security.js';
|
|
4
|
+
import { cardSvgLogoRef, svgHasText, SVG_TEXT_MAX_BYTES, SVG_TEXT_MESSAGE, SVG_TEXT_LINK } from './svg-text.js';
|
|
5
|
+
/**
|
|
6
|
+
* Suggest outlining text in the SVG logo the social card draws. Mirrors the
|
|
7
|
+
* hosted build's check; any read failure means no suggestion, never an error.
|
|
8
|
+
*/
|
|
9
|
+
export function suggestLogoSvgText(config, projectDir) {
|
|
10
|
+
try {
|
|
11
|
+
const ref = cardSvgLogoRef(config);
|
|
12
|
+
if (!ref)
|
|
13
|
+
return [];
|
|
14
|
+
// External refs are never project files; without this `//cdn/l.svg` would lose its slash and match a local path.
|
|
15
|
+
if (/^(https?:)?\/\//i.test(ref))
|
|
16
|
+
return [];
|
|
17
|
+
// Same normalisation as validate-branding, plus query/hash and "./" that a URL-style ref may carry.
|
|
18
|
+
let p = ref.split(/[?#]/)[0];
|
|
19
|
+
if (p.startsWith('./'))
|
|
20
|
+
p = p.slice(2);
|
|
21
|
+
if (p.startsWith('/'))
|
|
22
|
+
p = p.slice(1);
|
|
23
|
+
if (p.startsWith('public/'))
|
|
24
|
+
p = p.slice('public/'.length);
|
|
25
|
+
if (!p)
|
|
26
|
+
return [];
|
|
27
|
+
for (const rel of [p, path.join('public', p)]) {
|
|
28
|
+
// A ref like ../x.svg must not make us read outside the project.
|
|
29
|
+
if (!isPathWithinProject(rel, projectDir))
|
|
30
|
+
continue;
|
|
31
|
+
const abs = path.join(projectDir, rel);
|
|
32
|
+
let stat;
|
|
33
|
+
try {
|
|
34
|
+
stat = fs.statSync(abs);
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
if (!stat.isFile())
|
|
40
|
+
continue;
|
|
41
|
+
if (stat.size > SVG_TEXT_MAX_BYTES)
|
|
42
|
+
return [];
|
|
43
|
+
if (!svgHasText(fs.readFileSync(abs, 'utf-8')))
|
|
44
|
+
return [];
|
|
45
|
+
return [{ message: `${rel.split(path.sep).join('/')}: ${SVG_TEXT_MESSAGE}`, link: SVG_TEXT_LINK }];
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
// A logo we can't read must not break validate or dev.
|
|
50
|
+
}
|
|
51
|
+
return [];
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=logo-svg-text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logo-svg-text.js","sourceRoot":"","sources":["../../src/lib/logo-svg-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEhH;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAA4C,EAC5C,UAAkB;IAElB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QACpB,iHAAiH;QACjH,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,CAAC;QAC5C,oGAAoG;QACpG,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QAClB,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,iEAAiE;YACjE,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,UAAU,CAAC;gBAAE,SAAS;YACpD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC;YACT,IAAI,CAAC;gBAAC,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,SAAS;YAAC,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAAE,SAAS;YAC7B,IAAI,IAAI,CAAC,IAAI,GAAG,kBAAkB;gBAAE,OAAO,EAAE,CAAC;YAC9C,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAAE,OAAO,EAAE,CAAC;YAC1D,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,gBAAgB,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;QACrG,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uDAAuD;IACzD,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SVG Text Detection (visible <text> in the SVG logo the social card draws).
|
|
3
|
+
*
|
|
4
|
+
* AUTO-SYNCED: This file is automatically copied from build-service by vendor.js.
|
|
5
|
+
* DO NOT EDIT directly - edit builder/build-service/lib/svg-text.ts instead.
|
|
6
|
+
*/
|
|
7
|
+
export declare const SVG_TEXT_MAX_BYTES = 1048576;
|
|
8
|
+
export declare const SVG_TEXT_MESSAGE = "This SVG logo has text in it that link previews can't show. Convert the text to outlines (paths) in your design tool and export it again.";
|
|
9
|
+
export declare const SVG_TEXT_LINK = "https://jamdesk.com/docs/content/seo#customize-the-social-card";
|
|
10
|
+
/**
|
|
11
|
+
* True when the SVG has a <text> element with visible characters.
|
|
12
|
+
* @vercel/og has no fonts for SVGs embedded as images, so such text draws blank
|
|
13
|
+
* (reproduced in prod 2026-10-05). Single forward scan with indexOf: every
|
|
14
|
+
* search moves past what it consumed, and anything unterminated ends the scan.
|
|
15
|
+
* A display:none element is tracked by name and depth inside the same scan, so
|
|
16
|
+
* skipping it never re-reads input.
|
|
17
|
+
*/
|
|
18
|
+
export declare function svgHasText(svg: string): boolean;
|
|
19
|
+
type ImageValue = string | {
|
|
20
|
+
light?: string;
|
|
21
|
+
dark?: string;
|
|
22
|
+
} | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* The SVG logo the generated social card draws, or null when it draws none.
|
|
25
|
+
* SVG logos are never rewritten, and neither fallback in seo.ts (the favicon
|
|
26
|
+
* swap at :176 and :212) applies to .svg, so a returned ref is the file drawn.
|
|
27
|
+
* Mirrors resolveImagePath and the card variant choice in seo.ts.
|
|
28
|
+
*/
|
|
29
|
+
export declare function cardSvgLogoRef(config: {
|
|
30
|
+
logo?: ImageValue;
|
|
31
|
+
seo?: {
|
|
32
|
+
metatags?: Record<string, string>;
|
|
33
|
+
socialCard?: {
|
|
34
|
+
theme?: string;
|
|
35
|
+
customImage?: string;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
}): string | null;
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=svg-text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svg-text.d.ts","sourceRoot":"","sources":["../../src/lib/svg-text.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,eAAO,MAAM,kBAAkB,UAAY,CAAC;AAC5C,eAAO,MAAM,gBAAgB,8IACgH,CAAC;AAC9I,eAAO,MAAM,aAAa,mEAAmE,CAAC;AAwF9F;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAsF/C;AAED,KAAK,UAAU,GAAG,MAAM,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC;AAEzE;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACrC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,GAAG,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,UAAU,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;CACpG,GAAG,MAAM,GAAG,IAAI,CAoBhB"}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SVG Text Detection (visible <text> in the SVG logo the social card draws).
|
|
3
|
+
*
|
|
4
|
+
* AUTO-SYNCED: This file is automatically copied from build-service by vendor.js.
|
|
5
|
+
* DO NOT EDIT directly - edit builder/build-service/lib/svg-text.ts instead.
|
|
6
|
+
*/
|
|
7
|
+
// No imports on purpose: this file is copied verbatim into the CLI.
|
|
8
|
+
export const SVG_TEXT_MAX_BYTES = 1_048_576;
|
|
9
|
+
export const SVG_TEXT_MESSAGE = "This SVG logo has text in it that link previews can't show. Convert the text to outlines (paths) in your design tool and export it again.";
|
|
10
|
+
export const SVG_TEXT_LINK = 'https://jamdesk.com/docs/content/seo#customize-the-social-card';
|
|
11
|
+
// Elements whose contents are never painted, so a <text> inside them is not visible text.
|
|
12
|
+
const NON_RENDERED = new Set(['title', 'desc', 'metadata', 'script', 'style']);
|
|
13
|
+
// Entities that draw as blank space. Input is lowercased already. Any other
|
|
14
|
+
// entity (D and friends) is a visible character.
|
|
15
|
+
const BLANK_ENTITIES = [
|
|
16
|
+
' ', ' ', ' ', ' ', ' ', '	', '	', ' ', '
', ' ', '
',
|
|
17
|
+
];
|
|
18
|
+
/** Character data of a <text> body with nested tags (tspan etc.) dropped. */
|
|
19
|
+
function visibleData(body) {
|
|
20
|
+
let i = 0;
|
|
21
|
+
while (i < body.length) {
|
|
22
|
+
const lt = body.indexOf('<', i);
|
|
23
|
+
const end = lt === -1 ? body.length : lt;
|
|
24
|
+
for (let k = i; k < end; k++) {
|
|
25
|
+
const c = body.charCodeAt(k);
|
|
26
|
+
// Anything that is not whitespace counts. U+00A0 is blank, like its entities.
|
|
27
|
+
if (c === 38) {
|
|
28
|
+
// Fixed-size list, and k jumps past the match, so this stays linear.
|
|
29
|
+
const hit = BLANK_ENTITIES.find((e) => body.startsWith(e, k));
|
|
30
|
+
if (hit) {
|
|
31
|
+
k += hit.length - 1;
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
if (c !== 32 && c !== 9 && c !== 10 && c !== 13 && c !== 12 && c !== 160)
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
if (lt === -1)
|
|
40
|
+
return false;
|
|
41
|
+
const gt = body.indexOf('>', lt);
|
|
42
|
+
if (gt === -1)
|
|
43
|
+
return false;
|
|
44
|
+
i = gt + 1;
|
|
45
|
+
}
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Index of the close tag for rawName at or after `from`, or -1. A match only
|
|
50
|
+
* counts when the name ends there, so </textPath is not the close of <text.
|
|
51
|
+
* The search only moves forward, so it stays linear.
|
|
52
|
+
*/
|
|
53
|
+
function findClose(lc, rawName, from) {
|
|
54
|
+
const needle = '</' + rawName;
|
|
55
|
+
let at = lc.indexOf(needle, from);
|
|
56
|
+
while (at !== -1) {
|
|
57
|
+
const c = lc.charCodeAt(at + needle.length);
|
|
58
|
+
if (c === 62 || c === 32 || c === 9 || c === 10 || c === 13 || c === 12)
|
|
59
|
+
return at;
|
|
60
|
+
at = lc.indexOf(needle, at + 1);
|
|
61
|
+
}
|
|
62
|
+
return -1;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Index of the first '>' at or after `from` that is outside a quoted attribute
|
|
66
|
+
* value, or -1. A '>' inside "..." or '...' does not end the tag. One forward
|
|
67
|
+
* walk; an unterminated quote returns -1 (no later tag can be whole).
|
|
68
|
+
*/
|
|
69
|
+
function tagEnd(lc, from) {
|
|
70
|
+
let quote = 0;
|
|
71
|
+
for (let k = from; k < lc.length; k++) {
|
|
72
|
+
const c = lc.charCodeAt(k);
|
|
73
|
+
if (quote) {
|
|
74
|
+
if (c === quote)
|
|
75
|
+
quote = 0;
|
|
76
|
+
}
|
|
77
|
+
else if (c === 34 || c === 39) {
|
|
78
|
+
quote = c;
|
|
79
|
+
}
|
|
80
|
+
else if (c === 62) {
|
|
81
|
+
return k;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return -1;
|
|
85
|
+
}
|
|
86
|
+
// display:none on an element or its style hides the whole subtree. Design tools
|
|
87
|
+
// leave the original text in a hidden layer after outlining a copy of it.
|
|
88
|
+
// visibility:hidden is not here on purpose: a child can set it back to visible.
|
|
89
|
+
const DISPLAY_NONE_ATTR = /(?:^|\s)display\s*=\s*(["'])\s*none\s*\1/;
|
|
90
|
+
const STYLE_ATTR = /(?:^|\s)style\s*=\s*(?:"([^"]*)"|'([^']*)')/;
|
|
91
|
+
const DISPLAY_NONE_CSS = /(?:^|[;\s])display\s*:\s*none(?![a-z0-9_-])/;
|
|
92
|
+
function isDisplayNone(attrs) {
|
|
93
|
+
if (DISPLAY_NONE_ATTR.test(attrs))
|
|
94
|
+
return true;
|
|
95
|
+
const style = STYLE_ATTR.exec(attrs);
|
|
96
|
+
return !!style && DISPLAY_NONE_CSS.test(style[1] ?? style[2]);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* True when the SVG has a <text> element with visible characters.
|
|
100
|
+
* @vercel/og has no fonts for SVGs embedded as images, so such text draws blank
|
|
101
|
+
* (reproduced in prod 2026-10-05). Single forward scan with indexOf: every
|
|
102
|
+
* search moves past what it consumed, and anything unterminated ends the scan.
|
|
103
|
+
* A display:none element is tracked by name and depth inside the same scan, so
|
|
104
|
+
* skipping it never re-reads input.
|
|
105
|
+
*/
|
|
106
|
+
export function svgHasText(svg) {
|
|
107
|
+
const lc = svg.toLowerCase();
|
|
108
|
+
// Raw name of the display:none element being skipped, and how many opens of
|
|
109
|
+
// that name are still unclosed. 0 means not inside a hidden element.
|
|
110
|
+
let hiddenName = '';
|
|
111
|
+
let hiddenDepth = 0;
|
|
112
|
+
let i = 0;
|
|
113
|
+
while (i < lc.length) {
|
|
114
|
+
const lt = lc.indexOf('<', i);
|
|
115
|
+
if (lt === -1)
|
|
116
|
+
return false;
|
|
117
|
+
if (lc.startsWith('<!--', lt)) {
|
|
118
|
+
const end = lc.indexOf('-->', lt + 4);
|
|
119
|
+
if (end === -1)
|
|
120
|
+
return false;
|
|
121
|
+
i = end + 3;
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
124
|
+
if (lc.startsWith('<![cdata[', lt)) {
|
|
125
|
+
const end = lc.indexOf(']]>', lt + 9);
|
|
126
|
+
if (end === -1)
|
|
127
|
+
return false;
|
|
128
|
+
i = end + 3;
|
|
129
|
+
continue;
|
|
130
|
+
}
|
|
131
|
+
if (lc.startsWith('<?', lt)) {
|
|
132
|
+
const end = lc.indexOf('?>', lt + 2);
|
|
133
|
+
if (end === -1)
|
|
134
|
+
return false;
|
|
135
|
+
i = end + 2;
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
138
|
+
const isClose = lc.charCodeAt(lt + 1) === 47;
|
|
139
|
+
const nameStart = isClose ? lt + 2 : lt + 1;
|
|
140
|
+
let n = nameStart;
|
|
141
|
+
while (n < lc.length) {
|
|
142
|
+
const c = lc.charCodeAt(n);
|
|
143
|
+
if (c === 32 || c === 9 || c === 10 || c === 13 || c === 12 || c === 47 || c === 62 || c === 60)
|
|
144
|
+
break;
|
|
145
|
+
n++;
|
|
146
|
+
}
|
|
147
|
+
const rawName = lc.slice(nameStart, n);
|
|
148
|
+
// Every tag is read up to its '>' (outside quotes) and the scan resumes after it, so no
|
|
149
|
+
// character is looked at twice. With no '>' left, no later tag can be whole.
|
|
150
|
+
const gt = tagEnd(lc, n);
|
|
151
|
+
if (gt === -1)
|
|
152
|
+
return false;
|
|
153
|
+
const selfClosing = lc.charCodeAt(gt - 1) === 47;
|
|
154
|
+
if (isClose) {
|
|
155
|
+
if (hiddenDepth > 0 && rawName === hiddenName)
|
|
156
|
+
hiddenDepth--;
|
|
157
|
+
i = gt + 1;
|
|
158
|
+
continue;
|
|
159
|
+
}
|
|
160
|
+
const local = rawName.slice(rawName.indexOf(':') + 1);
|
|
161
|
+
// HTML inside <foreignObject> is not drawn by the card either, so it counts like <text>.
|
|
162
|
+
const isText = local === 'text' || local === 'foreignobject';
|
|
163
|
+
if (isText || NON_RENDERED.has(local)) {
|
|
164
|
+
if (selfClosing) {
|
|
165
|
+
i = gt + 1;
|
|
166
|
+
continue;
|
|
167
|
+
}
|
|
168
|
+
// Jump over the body even when hidden: script or title content could
|
|
169
|
+
// otherwise look like tags and throw off the hidden depth count.
|
|
170
|
+
const close = findClose(lc, rawName, gt + 1);
|
|
171
|
+
if (close === -1)
|
|
172
|
+
return false;
|
|
173
|
+
if (isText &&
|
|
174
|
+
hiddenDepth === 0 &&
|
|
175
|
+
!isDisplayNone(lc.slice(n, gt)) &&
|
|
176
|
+
visibleData(lc.slice(gt + 1, close))) {
|
|
177
|
+
return true;
|
|
178
|
+
}
|
|
179
|
+
i = close;
|
|
180
|
+
continue;
|
|
181
|
+
}
|
|
182
|
+
if (!selfClosing) {
|
|
183
|
+
if (hiddenDepth > 0) {
|
|
184
|
+
if (rawName === hiddenName)
|
|
185
|
+
hiddenDepth++;
|
|
186
|
+
}
|
|
187
|
+
else if (isDisplayNone(lc.slice(n, gt))) {
|
|
188
|
+
hiddenName = rawName;
|
|
189
|
+
hiddenDepth = 1;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
i = gt + 1;
|
|
193
|
+
}
|
|
194
|
+
return false;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* The SVG logo the generated social card draws, or null when it draws none.
|
|
198
|
+
* SVG logos are never rewritten, and neither fallback in seo.ts (the favicon
|
|
199
|
+
* swap at :176 and :212) applies to .svg, so a returned ref is the file drawn.
|
|
200
|
+
* Mirrors resolveImagePath and the card variant choice in seo.ts.
|
|
201
|
+
*/
|
|
202
|
+
export function cardSvgLogoRef(config) {
|
|
203
|
+
const card = config.seo?.socialCard;
|
|
204
|
+
// 'replace' with a usable global og:image serves that image instead of the card.
|
|
205
|
+
if (card?.customImage === 'replace') {
|
|
206
|
+
const og = config.seo?.metatags?.['og:image'];
|
|
207
|
+
const trimmed = typeof og === 'string' ? og.trim() : '';
|
|
208
|
+
if (trimmed && !trimmed.startsWith('data:'))
|
|
209
|
+
return null;
|
|
210
|
+
}
|
|
211
|
+
const logo = config.logo;
|
|
212
|
+
if (!logo)
|
|
213
|
+
return null;
|
|
214
|
+
let ref = '';
|
|
215
|
+
if (typeof logo === 'string') {
|
|
216
|
+
ref = logo;
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
const { light, dark } = logo;
|
|
220
|
+
ref = (card?.theme === 'dark' ? dark || light : light || dark) || '';
|
|
221
|
+
}
|
|
222
|
+
if (!ref)
|
|
223
|
+
return null;
|
|
224
|
+
return /\.svg$/i.test(ref.split(/[?#]/)[0]) ? ref : null;
|
|
225
|
+
}
|
|
226
|
+
//# sourceMappingURL=svg-text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svg-text.js","sourceRoot":"","sources":["../../src/lib/svg-text.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jamdesk",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.221",
|
|
4
4
|
"description": "CLI for Jamdesk — build, preview, and deploy documentation sites from MDX. Dev server with hot reload, 50+ components, OpenAPI support, AI search, and Mintlify migration",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jamdesk",
|
package/vendored/app/layout.tsx
CHANGED
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
} from '@/lib/page-isr-helpers';
|
|
21
21
|
import { isRTLLanguage, resolveLanguageWithFallback, toHreflang } from '@/lib/language-utils';
|
|
22
22
|
import type { DocsConfig } from '@/lib/docs-types';
|
|
23
|
-
import { buildSiteTitle, getFaviconIcons, FALLBACK_METADATA } from '@/lib/seo';
|
|
23
|
+
import { buildSiteTitle, getFaviconIcons, getTitleTemplate, FALLBACK_METADATA } from '@/lib/seo';
|
|
24
24
|
import { withR2OpsContext, emitR2OpsSummary } from '@/lib/r2-content';
|
|
25
25
|
import { DocsChrome, getLocalFileContent, loadCustomAssets } from '@/lib/layout-helpers';
|
|
26
26
|
import { filterNavigationForViewer } from '@/lib/viewer-navigation';
|
|
@@ -69,7 +69,7 @@ async function generateMetadataImpl(): Promise<Metadata> {
|
|
|
69
69
|
const isEmbed = isIsrMode() && (await headers()).get('x-jd-layout') === 'embed';
|
|
70
70
|
return {
|
|
71
71
|
title: {
|
|
72
|
-
template:
|
|
72
|
+
template: getTitleTemplate(config),
|
|
73
73
|
default: buildSiteTitle(config.name),
|
|
74
74
|
},
|
|
75
75
|
description: config.description || `Documentation for ${config.name}`,
|
|
@@ -749,6 +749,8 @@ export interface SeoConfig {
|
|
|
749
749
|
indexHiddenPages?: boolean;
|
|
750
750
|
ai?: { llmsTxt?: boolean }; // default true; false suppresses llms.txt + llms-full.txt
|
|
751
751
|
socialCard?: SocialCardConfig;
|
|
752
|
+
/** Browser tab and search title format; each `%s` becomes the page title (default: '%s — <name>'). Does not change og:title. */
|
|
753
|
+
titleTemplate?: string;
|
|
752
754
|
}
|
|
753
755
|
|
|
754
756
|
/**
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import type { BuildWarning } from '../shared/status-reporter.js'; // vendored copy — NOT '../../shared'
|
|
4
|
+
import { svgHasText, SVG_TEXT_MESSAGE, SVG_TEXT_LINK, SVG_TEXT_MAX_BYTES } from './svg-text.js';
|
|
5
|
+
import { normalizeAssetPath } from './isr-build-executor.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Suggestion for an SVG logo whose <text> the OG card renderer paints blank.
|
|
9
|
+
* The reader is injected so the build (disk) and the CLI can each resolve the
|
|
10
|
+
* ref their own way; any read failure means "no warning", never a failed build.
|
|
11
|
+
* `file` is the real asset path the reader found, like logo_oversized reports.
|
|
12
|
+
*/
|
|
13
|
+
export function logoSvgTextWarning(
|
|
14
|
+
ref: string | null,
|
|
15
|
+
read: (ref: string) => { file: string; svg: string } | null,
|
|
16
|
+
): BuildWarning | null {
|
|
17
|
+
if (!ref || /^(?:https?:)?\/\//i.test(ref)) return null;
|
|
18
|
+
try {
|
|
19
|
+
const found = read(ref);
|
|
20
|
+
if (!found || !svgHasText(found.svg)) return null;
|
|
21
|
+
return { type: 'logo_svg_text', file: found.file, message: SVG_TEXT_MESSAGE, link: SVG_TEXT_LINK };
|
|
22
|
+
} catch {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Normalize a config image ref to the same key the upload loop uses: strip
|
|
29
|
+
* query/hash, leading ./ or ../, leading /, and a public/ prefix.
|
|
30
|
+
*/
|
|
31
|
+
export function toAssetKey(ref: string): string {
|
|
32
|
+
return normalizeAssetPath(
|
|
33
|
+
ref.split('?')[0].split('#')[0]
|
|
34
|
+
.replace(/^(?:\.\.?\/)+/, '')
|
|
35
|
+
.replace(/^\/+/, ''),
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Resolve a config logo ref to its collected asset and read the SVG text.
|
|
41
|
+
* Null when the asset is unknown or over the size cap (the scan is skipped,
|
|
42
|
+
* not the build). Extracted from build.ts so a test can exercise the real
|
|
43
|
+
* lookup instead of a fake reader.
|
|
44
|
+
*/
|
|
45
|
+
export function readCardSvgLogo(
|
|
46
|
+
ref: string,
|
|
47
|
+
assetByNormalizedKey: Map<string, string>,
|
|
48
|
+
docsDir: string,
|
|
49
|
+
): { file: string; svg: string } | null {
|
|
50
|
+
const asset = assetByNormalizedKey.get(toAssetKey(ref));
|
|
51
|
+
if (!asset) return null;
|
|
52
|
+
const full = path.join(docsDir, asset);
|
|
53
|
+
if (fs.statSync(full).size > SVG_TEXT_MAX_BYTES) return null;
|
|
54
|
+
return { file: asset, svg: fs.readFileSync(full, 'utf8') };
|
|
55
|
+
}
|
package/vendored/lib/seo.ts
CHANGED
|
@@ -34,6 +34,22 @@ export function buildSiteTitle(configName: string): string {
|
|
|
34
34
|
: `${configName} Documentation`;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
+
/**
|
|
38
|
+
* Root `title.template` for the site. Defaults to `%s — <name>`; sites opt in
|
|
39
|
+
* to their own via `seo.titleTemplate`.
|
|
40
|
+
*
|
|
41
|
+
* The schema already rejects a template without `%s`, but the runtime check
|
|
42
|
+
* stays: an older R2 config or a hand edit can slip past it, and a template
|
|
43
|
+
* with no `%s` would give every page the same title.
|
|
44
|
+
*/
|
|
45
|
+
export function getTitleTemplate(config: { name: string; seo?: { titleTemplate?: unknown } }): string {
|
|
46
|
+
const custom = config.seo?.titleTemplate;
|
|
47
|
+
if (typeof custom === 'string' && custom.includes('%s')) {
|
|
48
|
+
return custom;
|
|
49
|
+
}
|
|
50
|
+
return `%s — ${config.name}`;
|
|
51
|
+
}
|
|
52
|
+
|
|
37
53
|
/**
|
|
38
54
|
* Icon descriptors for Next.js Metadata.icons.icon. When both light and
|
|
39
55
|
* dark are configured the dark entry trails the primary with a
|