emdash-emit 0.1.9 → 0.1.10
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/README.md +78 -9
- package/dist/bin/emit.d.ts.map +1 -1
- package/dist/bin/emit.js +6 -0
- package/dist/bin/emit.js.map +1 -1
- package/dist/cli/commands/conflicts.d.ts +4 -0
- package/dist/cli/commands/conflicts.d.ts.map +1 -0
- package/dist/cli/commands/conflicts.js +153 -0
- package/dist/cli/commands/conflicts.js.map +1 -0
- package/dist/cli/commands/delete.d.ts +4 -0
- package/dist/cli/commands/delete.d.ts.map +1 -0
- package/dist/cli/commands/delete.js +89 -0
- package/dist/cli/commands/delete.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +4 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/doctor.js +82 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/new.d.ts.map +1 -1
- package/dist/cli/commands/new.js +52 -22
- package/dist/cli/commands/new.js.map +1 -1
- package/dist/cli/commands/pull.d.ts.map +1 -1
- package/dist/cli/commands/pull.js +23 -0
- package/dist/cli/commands/pull.js.map +1 -1
- package/dist/cli/commands/push.d.ts.map +1 -1
- package/dist/cli/commands/push.js +22 -0
- package/dist/cli/commands/push.js.map +1 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +20 -4
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/context.d.ts +3 -1
- package/dist/cli/context.d.ts.map +1 -1
- package/dist/cli/context.js +17 -6
- package/dist/cli/context.js.map +1 -1
- package/dist/db/cache.d.ts +3 -0
- package/dist/db/cache.d.ts.map +1 -1
- package/dist/db/cache.js +39 -0
- package/dist/db/cache.js.map +1 -1
- package/dist/mcp/context.d.ts +7 -0
- package/dist/mcp/context.d.ts.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +39 -2
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tool-errors.d.ts +7 -2
- package/dist/mcp/tool-errors.d.ts.map +1 -1
- package/dist/mcp/tool-errors.js +80 -5
- package/dist/mcp/tool-errors.js.map +1 -1
- package/dist/mcp/tools/profile.d.ts.map +1 -1
- package/dist/mcp/tools/profile.js +4 -0
- package/dist/mcp/tools/profile.js.map +1 -1
- package/dist/mcp/tools/sync-conflicts.d.ts +4 -0
- package/dist/mcp/tools/sync-conflicts.d.ts.map +1 -0
- package/dist/mcp/tools/sync-conflicts.js +100 -0
- package/dist/mcp/tools/sync-conflicts.js.map +1 -0
- package/dist/mcp/tools/sync-delete.d.ts +4 -0
- package/dist/mcp/tools/sync-delete.d.ts.map +1 -0
- package/dist/mcp/tools/sync-delete.js +77 -0
- package/dist/mcp/tools/sync-delete.js.map +1 -0
- package/dist/mcp/tools/sync-diff.d.ts.map +1 -1
- package/dist/mcp/tools/sync-diff.js +3 -2
- package/dist/mcp/tools/sync-diff.js.map +1 -1
- package/dist/mcp/tools/sync-doctor.d.ts +4 -0
- package/dist/mcp/tools/sync-doctor.d.ts.map +1 -0
- package/dist/mcp/tools/sync-doctor.js +57 -0
- package/dist/mcp/tools/sync-doctor.js.map +1 -0
- package/dist/mcp/tools/sync-new.d.ts.map +1 -1
- package/dist/mcp/tools/sync-new.js +16 -3
- package/dist/mcp/tools/sync-new.js.map +1 -1
- package/dist/mcp/tools/sync-pull.d.ts.map +1 -1
- package/dist/mcp/tools/sync-pull.js +41 -11
- package/dist/mcp/tools/sync-pull.js.map +1 -1
- package/dist/mcp/tools/sync-push.d.ts.map +1 -1
- package/dist/mcp/tools/sync-push.js +16 -2
- package/dist/mcp/tools/sync-push.js.map +1 -1
- package/dist/mcp/tools/sync-status.d.ts.map +1 -1
- package/dist/mcp/tools/sync-status.js +63 -22
- package/dist/mcp/tools/sync-status.js.map +1 -1
- package/dist/sync/conflicts.d.ts +89 -0
- package/dist/sync/conflicts.d.ts.map +1 -0
- package/dist/sync/conflicts.js +374 -0
- package/dist/sync/conflicts.js.map +1 -0
- package/dist/sync/delete.d.ts +58 -0
- package/dist/sync/delete.d.ts.map +1 -0
- package/dist/sync/delete.js +221 -0
- package/dist/sync/delete.js.map +1 -0
- package/dist/sync/diff.d.ts.map +1 -1
- package/dist/sync/diff.js +6 -3
- package/dist/sync/diff.js.map +1 -1
- package/dist/sync/doctor.d.ts +31 -0
- package/dist/sync/doctor.d.ts.map +1 -0
- package/dist/sync/doctor.js +224 -0
- package/dist/sync/doctor.js.map +1 -0
- package/dist/sync/media.d.ts +22 -0
- package/dist/sync/media.d.ts.map +1 -1
- package/dist/sync/media.js +342 -94
- package/dist/sync/media.js.map +1 -1
- package/dist/sync/new.d.ts +31 -0
- package/dist/sync/new.d.ts.map +1 -1
- package/dist/sync/new.js +139 -2
- package/dist/sync/new.js.map +1 -1
- package/dist/sync/orchestrator.d.ts.map +1 -1
- package/dist/sync/orchestrator.js +2 -0
- package/dist/sync/orchestrator.js.map +1 -1
- package/dist/sync/preflight.d.ts.map +1 -1
- package/dist/sync/preflight.js +29 -3
- package/dist/sync/preflight.js.map +1 -1
- package/dist/sync/pull.d.ts +4 -0
- package/dist/sync/pull.d.ts.map +1 -1
- package/dist/sync/pull.js +143 -52
- package/dist/sync/pull.js.map +1 -1
- package/dist/sync/push.d.ts +10 -0
- package/dist/sync/push.d.ts.map +1 -1
- package/dist/sync/push.js +49 -31
- package/dist/sync/push.js.map +1 -1
- package/dist/sync/status.d.ts +10 -0
- package/dist/sync/status.d.ts.map +1 -1
- package/dist/sync/status.js +26 -0
- package/dist/sync/status.js.map +1 -1
- package/dist/sync/taxonomies.d.ts +14 -5
- package/dist/sync/taxonomies.d.ts.map +1 -1
- package/dist/sync/taxonomies.js +104 -6
- package/dist/sync/taxonomies.js.map +1 -1
- package/dist/utils/config.d.ts +12 -0
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +27 -0
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/frontmatter.d.ts +40 -3
- package/dist/utils/frontmatter.d.ts.map +1 -1
- package/dist/utils/frontmatter.js +188 -5
- package/dist/utils/frontmatter.js.map +1 -1
- package/package.json +1 -1
|
@@ -90,17 +90,42 @@ export interface TaxonomyCandidates {
|
|
|
90
90
|
categories?: string[];
|
|
91
91
|
tags?: string[];
|
|
92
92
|
bylines?: string[];
|
|
93
|
-
|
|
93
|
+
slugToName?: {
|
|
94
|
+
category?: Record<string, string>;
|
|
95
|
+
tag?: Record<string, string>;
|
|
96
|
+
[key: string]: Record<string, string> | undefined;
|
|
97
|
+
};
|
|
98
|
+
[key: string]: string[] | {
|
|
99
|
+
[k: string]: Record<string, string> | undefined;
|
|
100
|
+
} | undefined;
|
|
94
101
|
}
|
|
95
102
|
export interface ParsedMarkdown {
|
|
96
103
|
frontmatter: Frontmatter;
|
|
97
104
|
body: string;
|
|
98
105
|
rawYaml: string;
|
|
99
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* Error thrown when frontmatter parsing or schema validation fails.
|
|
109
|
+
* Captures the file path, error line if available, and actionable hints for repair.
|
|
110
|
+
*/
|
|
111
|
+
export declare class FrontmatterParseError extends Error {
|
|
112
|
+
readonly code = "FRONTMATTER_PARSE_ERROR";
|
|
113
|
+
readonly filePath?: string;
|
|
114
|
+
readonly reason: string;
|
|
115
|
+
readonly suggestion: string;
|
|
116
|
+
readonly line?: number;
|
|
117
|
+
constructor(options: {
|
|
118
|
+
message: string;
|
|
119
|
+
filePath?: string;
|
|
120
|
+
reason: string;
|
|
121
|
+
suggestion?: string;
|
|
122
|
+
line?: number;
|
|
123
|
+
});
|
|
124
|
+
}
|
|
100
125
|
/**
|
|
101
126
|
* Parses markdown text into validated frontmatter and body.
|
|
102
127
|
*/
|
|
103
|
-
export declare function parseMarkdown(content: string): ParsedMarkdown;
|
|
128
|
+
export declare function parseMarkdown(content: string, filePath?: string): ParsedMarkdown;
|
|
104
129
|
/**
|
|
105
130
|
* Formats a parseMarkdown error (js-yaml YAMLException or ZodError) into a concise 1-line summary.
|
|
106
131
|
* Prevents ZodError's multi-line JSON array `.message` from truncating to `"["`.
|
|
@@ -113,10 +138,22 @@ export declare function formatFrontmatterParseError(err: unknown): string;
|
|
|
113
138
|
* reserved literals, and strings containing special YAML characters via JSON.stringify.
|
|
114
139
|
*/
|
|
115
140
|
export declare function formatYamlScalar(value: string): string;
|
|
141
|
+
/**
|
|
142
|
+
* Attempts lenient regex-based syntax repair on raw Markdown whose frontmatter fails js-yaml parsing.
|
|
143
|
+
* Restricted strictly to:
|
|
144
|
+
* 1. Quoting unquoted scalars starting with "%" or containing special characters on array elements (`- %...`) or slug lines (`slug: %...`).
|
|
145
|
+
* Preserves any trailing comments (e.g. `slug: %... # comment` or `- %... # comment`) so values are not polluted.
|
|
146
|
+
* 2. Fixing minor indentation on taxonomy/byline sequence element lines (`- <item>`) strictly within taxonomy/byline blocks.
|
|
147
|
+
*
|
|
148
|
+
* Guaranteed NEVER to alter the Markdown body, change keys/values, or mutate newline formats (CRLF/LF).
|
|
149
|
+
* Returns the repaired Markdown string, or null if lenient repair could not produce valid frontmatter
|
|
150
|
+
* or if values/meaning were altered.
|
|
151
|
+
*/
|
|
152
|
+
export declare function lenientRepairMarkdownFrontmatter(content: string): string | null;
|
|
116
153
|
/**
|
|
117
154
|
* Formats a frontmatter object into clean YAML with helpful candidate comments.
|
|
118
155
|
*/
|
|
119
|
-
export declare function formatFrontmatterYaml(data: Frontmatter,
|
|
156
|
+
export declare function formatFrontmatterYaml(data: Frontmatter, candidates?: TaxonomyCandidates): string;
|
|
120
157
|
/**
|
|
121
158
|
* Serializes frontmatter and markdown body into a full document.
|
|
122
159
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontmatter.d.ts","sourceRoot":"","sources":["../../src/utils/frontmatter.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;EAM/B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"frontmatter.d.ts","sourceRoot":"","sources":["../../src/utils/frontmatter.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;EAM/B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE;QACX,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;KACnD,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;KAAE,GAAG,SAAS,CAAC;CAC3F;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,WAAW,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,IAAI,6BAA6B;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEvB,YAAY,OAAO,EAAE;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,EASA;CACF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,cAAc,CAsDhF;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAgBhE;AAcD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUtD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA2H/E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAmEhG;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,kBAAkB,GAC9B,MAAM,CAIR;AAED,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,aAAa,CAAC"}
|
|
@@ -44,12 +44,67 @@ export const FrontmatterSchema = z.object({
|
|
|
44
44
|
// Canonical ULID shape (Crockford base32: excludes I and O; 26 characters).
|
|
45
45
|
// Emitted uppercase by EmDash, so local frontmatter is normalized to match.
|
|
46
46
|
const CANONICAL_ULID_REGEX = /^[0-9A-HJ-NP-Z]{26}$/i;
|
|
47
|
+
/**
|
|
48
|
+
* Error thrown when frontmatter parsing or schema validation fails.
|
|
49
|
+
* Captures the file path, error line if available, and actionable hints for repair.
|
|
50
|
+
*/
|
|
51
|
+
export class FrontmatterParseError extends Error {
|
|
52
|
+
code = 'FRONTMATTER_PARSE_ERROR';
|
|
53
|
+
filePath;
|
|
54
|
+
reason;
|
|
55
|
+
suggestion;
|
|
56
|
+
line;
|
|
57
|
+
constructor(options) {
|
|
58
|
+
super(options.message);
|
|
59
|
+
this.name = 'FrontmatterParseError';
|
|
60
|
+
this.filePath = options.filePath;
|
|
61
|
+
this.reason = options.reason;
|
|
62
|
+
this.line = options.line;
|
|
63
|
+
this.suggestion =
|
|
64
|
+
options.suggestion ||
|
|
65
|
+
'Quote strings starting with "%" or containing special YAML characters (e.g. - "%e6%9c%aa%e5%88%86%e9%a1%9e"), or run "emit pull" to repair.';
|
|
66
|
+
}
|
|
67
|
+
}
|
|
47
68
|
/**
|
|
48
69
|
* Parses markdown text into validated frontmatter and body.
|
|
49
70
|
*/
|
|
50
|
-
export function parseMarkdown(content) {
|
|
51
|
-
|
|
52
|
-
|
|
71
|
+
export function parseMarkdown(content, filePath) {
|
|
72
|
+
let parsed;
|
|
73
|
+
try {
|
|
74
|
+
parsed = matter(content);
|
|
75
|
+
}
|
|
76
|
+
catch (err) {
|
|
77
|
+
const reason = formatFrontmatterParseError(err);
|
|
78
|
+
let line;
|
|
79
|
+
if (err && typeof err === 'object' && 'mark' in err) {
|
|
80
|
+
const mark = err.mark;
|
|
81
|
+
if (typeof mark?.line === 'number') {
|
|
82
|
+
line = mark.line + 1;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
const locStr = filePath ? ` in ${filePath}` : '';
|
|
86
|
+
const lineStr = line ? ` at line ${line}` : '';
|
|
87
|
+
throw new FrontmatterParseError({
|
|
88
|
+
message: `Invalid frontmatter YAML${locStr}${lineStr}: ${reason}`,
|
|
89
|
+
filePath,
|
|
90
|
+
reason,
|
|
91
|
+
line,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
let validated;
|
|
95
|
+
try {
|
|
96
|
+
validated = FrontmatterSchema.parse(parsed.data);
|
|
97
|
+
}
|
|
98
|
+
catch (err) {
|
|
99
|
+
const reason = formatFrontmatterParseError(err);
|
|
100
|
+
const locStr = filePath ? ` in ${filePath}` : '';
|
|
101
|
+
throw new FrontmatterParseError({
|
|
102
|
+
message: `Invalid frontmatter schema${locStr}: ${reason}`,
|
|
103
|
+
filePath,
|
|
104
|
+
reason,
|
|
105
|
+
suggestion: 'Verify required frontmatter fields (id: 26-char ULID, slug, title, status: draft|published).',
|
|
106
|
+
});
|
|
107
|
+
}
|
|
53
108
|
// Normalize featuredImage casing to the canonical uppercase ULID form so that
|
|
54
109
|
// merge comparisons, cache matching, and push payloads all agree with what
|
|
55
110
|
// EmDash returns. Values that are not a ULID (e.g. a media URL or a local path)
|
|
@@ -108,10 +163,132 @@ export function formatYamlScalar(value) {
|
|
|
108
163
|
}
|
|
109
164
|
return value;
|
|
110
165
|
}
|
|
166
|
+
/**
|
|
167
|
+
* Attempts lenient regex-based syntax repair on raw Markdown whose frontmatter fails js-yaml parsing.
|
|
168
|
+
* Restricted strictly to:
|
|
169
|
+
* 1. Quoting unquoted scalars starting with "%" or containing special characters on array elements (`- %...`) or slug lines (`slug: %...`).
|
|
170
|
+
* Preserves any trailing comments (e.g. `slug: %... # comment` or `- %... # comment`) so values are not polluted.
|
|
171
|
+
* 2. Fixing minor indentation on taxonomy/byline sequence element lines (`- <item>`) strictly within taxonomy/byline blocks.
|
|
172
|
+
*
|
|
173
|
+
* Guaranteed NEVER to alter the Markdown body, change keys/values, or mutate newline formats (CRLF/LF).
|
|
174
|
+
* Returns the repaired Markdown string, or null if lenient repair could not produce valid frontmatter
|
|
175
|
+
* or if values/meaning were altered.
|
|
176
|
+
*/
|
|
177
|
+
export function lenientRepairMarkdownFrontmatter(content) {
|
|
178
|
+
// If content is already valid, do not touch it (prevents phantom diffs)
|
|
179
|
+
try {
|
|
180
|
+
parseMarkdown(content);
|
|
181
|
+
return null;
|
|
182
|
+
}
|
|
183
|
+
catch {
|
|
184
|
+
// proceed to repair
|
|
185
|
+
}
|
|
186
|
+
// Detect original frontmatter EOL from the opening delimiter
|
|
187
|
+
const frontmatterOpening = content.match(/^---\r?\n/);
|
|
188
|
+
const isCrlf = frontmatterOpening
|
|
189
|
+
? frontmatterOpening[0] === '---\r\n'
|
|
190
|
+
: content.includes('\r\n');
|
|
191
|
+
const eol = isCrlf ? '\r\n' : '\n';
|
|
192
|
+
const match = content.match(/^---\r?\n([\s\S]*?)\r?\n---(\r?\n[\s\S]*)$/);
|
|
193
|
+
if (!match)
|
|
194
|
+
return null;
|
|
195
|
+
const rawYaml = match[1];
|
|
196
|
+
const bodyWithLeadingNewline = match[2];
|
|
197
|
+
const lines = rawYaml.split(/\r?\n/);
|
|
198
|
+
const repairedLines = [];
|
|
199
|
+
let inTaxonomiesBlock = false;
|
|
200
|
+
let inSequenceBlock = false;
|
|
201
|
+
for (const line of lines) {
|
|
202
|
+
let repairedLine = line;
|
|
203
|
+
if (/^taxonomies:\s*$/.test(line)) {
|
|
204
|
+
inTaxonomiesBlock = true;
|
|
205
|
+
inSequenceBlock = false;
|
|
206
|
+
repairedLines.push(line);
|
|
207
|
+
continue;
|
|
208
|
+
}
|
|
209
|
+
else if (/^bylines:\s*$/.test(line)) {
|
|
210
|
+
inTaxonomiesBlock = false;
|
|
211
|
+
inSequenceBlock = true;
|
|
212
|
+
repairedLines.push(line);
|
|
213
|
+
continue;
|
|
214
|
+
}
|
|
215
|
+
else if (/^\S/.test(line)) {
|
|
216
|
+
// Any other top-level key leaves both taxonomies and bylines blocks
|
|
217
|
+
inTaxonomiesBlock = false;
|
|
218
|
+
inSequenceBlock = false;
|
|
219
|
+
}
|
|
220
|
+
else if (inTaxonomiesBlock && /^\s{2}(categories|tags|[a-zA-Z0-9_-]+):\s*$/.test(line)) {
|
|
221
|
+
inSequenceBlock = true;
|
|
222
|
+
repairedLines.push(line);
|
|
223
|
+
continue;
|
|
224
|
+
}
|
|
225
|
+
// 1. Array element lines (`- <value>`): strictly inside taxonomy or bylines blocks
|
|
226
|
+
if (inSequenceBlock) {
|
|
227
|
+
const seqMatch = line.match(/^(\s*)-\s*(.*)$/);
|
|
228
|
+
if (seqMatch) {
|
|
229
|
+
const leadingSpace = seqMatch[1];
|
|
230
|
+
const rest = seqMatch[2].trim();
|
|
231
|
+
// Separate value from any trailing comment: e.g. `"%e6%9c%aa" # comment` or `%e6%9c%aa # comment`
|
|
232
|
+
const commentMatch = rest.match(/^(\S+)(\s+#.*)?$/);
|
|
233
|
+
let value = commentMatch ? commentMatch[1] : rest;
|
|
234
|
+
const trailingComment = commentMatch && commentMatch[2] ? commentMatch[2] : '';
|
|
235
|
+
// If value starts with % and is unquoted, quote it
|
|
236
|
+
if (value.startsWith('%') && !value.startsWith('"') && !value.startsWith("'")) {
|
|
237
|
+
value = JSON.stringify(value);
|
|
238
|
+
}
|
|
239
|
+
// If indentation inside sequence block is slightly off (e.g. 2 or 3 spaces instead of 4)
|
|
240
|
+
const indent = inTaxonomiesBlock && leadingSpace.length < 4 ? ' ' : leadingSpace;
|
|
241
|
+
repairedLine = `${indent}- ${value}${trailingComment}`;
|
|
242
|
+
repairedLines.push(repairedLine);
|
|
243
|
+
continue;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
// 2. Slug key line strictly top-level (`^slug:\s*`): quote unquoted % while preserving trailing comment
|
|
247
|
+
const slugMatch = line.match(/^slug:\s*(.*)$/);
|
|
248
|
+
if (slugMatch) {
|
|
249
|
+
const rest = slugMatch[1].trim();
|
|
250
|
+
const commentMatch = rest.match(/^(\S+)(\s+#.*)?$/);
|
|
251
|
+
let slugVal = commentMatch ? commentMatch[1] : rest;
|
|
252
|
+
const trailingComment = commentMatch && commentMatch[2] ? commentMatch[2] : '';
|
|
253
|
+
if (slugVal.startsWith('%') && !slugVal.startsWith('"') && !slugVal.startsWith("'")) {
|
|
254
|
+
slugVal = JSON.stringify(slugVal);
|
|
255
|
+
}
|
|
256
|
+
repairedLine = `slug: ${slugVal}${trailingComment}`;
|
|
257
|
+
repairedLines.push(repairedLine);
|
|
258
|
+
continue;
|
|
259
|
+
}
|
|
260
|
+
repairedLines.push(repairedLine);
|
|
261
|
+
}
|
|
262
|
+
const candidateYaml = repairedLines.join(eol);
|
|
263
|
+
const candidateFull = `---${eol}${candidateYaml}${eol}---${bodyWithLeadingNewline}`;
|
|
264
|
+
try {
|
|
265
|
+
const reparsed = parseMarkdown(candidateFull);
|
|
266
|
+
// Extra validation: verify that slug, IDs, taxonomies, and bylines were not corrupted by comments
|
|
267
|
+
if (reparsed.frontmatter.slug.includes('#') || reparsed.frontmatter.id.includes('#')) {
|
|
268
|
+
return null;
|
|
269
|
+
}
|
|
270
|
+
if (reparsed.frontmatter.taxonomies) {
|
|
271
|
+
for (const list of Object.values(reparsed.frontmatter.taxonomies)) {
|
|
272
|
+
if (Array.isArray(list) &&
|
|
273
|
+
list.some((item) => typeof item !== 'string' || item.includes('#'))) {
|
|
274
|
+
return null;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
if (reparsed.frontmatter.bylines &&
|
|
279
|
+
reparsed.frontmatter.bylines.some((item) => typeof item !== 'string' || item.includes('#'))) {
|
|
280
|
+
return null;
|
|
281
|
+
}
|
|
282
|
+
return candidateFull;
|
|
283
|
+
}
|
|
284
|
+
catch {
|
|
285
|
+
return null;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
111
288
|
/**
|
|
112
289
|
* Formats a frontmatter object into clean YAML with helpful candidate comments.
|
|
113
290
|
*/
|
|
114
|
-
export function formatFrontmatterYaml(data,
|
|
291
|
+
export function formatFrontmatterYaml(data, candidates) {
|
|
115
292
|
const lines = ['---'];
|
|
116
293
|
lines.push(`id: ${formatYamlScalar(data.id)}`);
|
|
117
294
|
lines.push(`slug: ${formatYamlScalar(data.slug)}`);
|
|
@@ -134,8 +311,14 @@ export function formatFrontmatterYaml(data, _candidates) {
|
|
|
134
311
|
lines.push(' []');
|
|
135
312
|
}
|
|
136
313
|
else {
|
|
314
|
+
const singularKey = taxKey === 'categories' ? 'category' : taxKey === 'tags' ? 'tag' : taxKey;
|
|
315
|
+
const slugMap = candidates?.slugToName?.[singularKey] || candidates?.slugToName?.[taxKey];
|
|
137
316
|
for (const term of terms) {
|
|
138
|
-
|
|
317
|
+
const humanName = slugMap?.[term];
|
|
318
|
+
const comment = humanName && humanName.trim() && humanName.trim().toLowerCase() !== term.toLowerCase()
|
|
319
|
+
? ` # ${humanName.trim()}`
|
|
320
|
+
: '';
|
|
321
|
+
lines.push(` - ${formatYamlScalar(term)}${comment}`);
|
|
139
322
|
}
|
|
140
323
|
}
|
|
141
324
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontmatter.js","sourceRoot":"","sources":["../../src/utils/frontmatter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACvC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACjD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,gCAAgC,CAAC;IAC3D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC;IAC/C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC;IACjD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;IACvC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACvD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAChC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/C,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAChE,GAAG,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACpC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CACpD,CAAC,CAAC;AAiBH,4EAA4E;AAC5E,4EAA4E;AAC5E,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;AAErD;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEvD,8EAA8E;IAC9E,2EAA2E;IAC3E,gFAAgF;IAChF,sEAAsE;IACtE,IAAI,OAAO,SAAS,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,SAAS,CAAC,aAAa,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAClD,CAAC;IACH,CAAC;IAED,OAAO;QACL,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,MAAM,CAAC,OAAO;QACpB,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;KAClD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,GAAY;IACtD,IACE,GAAG;QACH,OAAO,GAAG,KAAK,QAAQ;QACvB,QAAQ,IAAI,GAAG;QACf,KAAK,CAAC,OAAO,CAAE,GAAkB,CAAC,MAAM,CAAC,EACzC,CAAC;QACD,MAAM,MAAM,GAAI,GAAkB,CAAC,MAAM,CAAC;QAC1C,OAAO,MAAM;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;aACnF,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IACD,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QACxC,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,0BAA0B,CAAC;AACpC,CAAC;AAED,wFAAwF;AACxF,MAAM,gBAAgB,GAAG,iEAAiE,CAAC;AAE3F,kHAAkH;AAClH,sGAAsG;AACtG,MAAM,oBAAoB,GAAG,mCAAmC,CAAC;AAEjE,6HAA6H;AAC7H,qIAAqI;AACrI,MAAM,uBAAuB,GAC3B,+FAA+F,CAAC;AAElG;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,IACE,KAAK,CAAC,MAAM,KAAK,CAAC;QAClB,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC;QACjC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;QAC5B,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,EACnC,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAiB,EAAE,WAAgC;IACvF,MAAM,KAAK,GAAa,CAAC,KAAK,CAAC,CAAC;IAEhC,KAAK,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/C,KAAK,CAAC,IAAI,CAAC,SAAS,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnD,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACnD,KAAK,CAAC,IAAI,CAAC,eAAe,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC/D,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACrC,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3F,KAAK,CAAC,IAAI,CAAC,WAAW,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACvD,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CACR,kBAAkB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CACrF,CAAC;IACJ,CAAC;IAED,aAAa;IACb,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;IACzC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAE3F,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,GAAG,CAAC,CAAC;QAE3B,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,SAAS,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM;IACN,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3F,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS;YACpC,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACvE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,KAAK,SAAS;YAClC,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACnE,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACjF,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,UAAU;IACV,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IACnC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,WAAwB,EACxB,IAAY,EACZ,UAA+B;IAE/B,MAAM,IAAI,GAAG,qBAAqB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;IAC7D,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,EAAE,CAAC;AAC7E,CAAC;AAED,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"frontmatter.js","sourceRoot":"","sources":["../../src/utils/frontmatter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED