md2cv 1.2.0 → 1.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.
- package/CHANGELOG.md +14 -0
- package/README.ja.md +7 -0
- package/README.md +7 -0
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +45 -27
- package/dist/cli/index.js.map +1 -1
- package/dist/generator/common.d.ts +86 -0
- package/dist/generator/common.d.ts.map +1 -0
- package/dist/generator/common.js +326 -0
- package/dist/generator/common.js.map +1 -0
- package/dist/generator/index.d.ts +39 -12
- package/dist/generator/index.d.ts.map +1 -1
- package/dist/generator/index.js +43 -30
- package/dist/generator/index.js.map +1 -1
- package/dist/generator/resume_en.d.ts +4 -15
- package/dist/generator/resume_en.d.ts.map +1 -1
- package/dist/generator/resume_en.js +23 -323
- package/dist/generator/resume_en.js.map +1 -1
- package/dist/generator/resume_ja.d.ts +4 -15
- package/dist/generator/resume_ja.d.ts.map +1 -1
- package/dist/generator/resume_ja.js +17 -263
- package/dist/generator/resume_ja.js.map +1 -1
- package/dist/generator/rirekisho/styles.d.ts.map +1 -1
- package/dist/generator/rirekisho/styles.js +9 -14
- package/dist/generator/rirekisho/styles.js.map +1 -1
- package/dist/generator/rirekisho/types.d.ts +2 -2
- package/dist/generator/rirekisho/types.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/parser/index.d.ts.map +1 -1
- package/dist/parser/index.js +172 -109
- package/dist/parser/index.js.map +1 -1
- package/dist/parser/lsp.d.ts +58 -0
- package/dist/parser/lsp.d.ts.map +1 -0
- package/dist/parser/lsp.js +265 -0
- package/dist/parser/lsp.js.map +1 -0
- package/dist/types/config.d.ts +23 -15
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/position.d.ts +42 -0
- package/dist/types/position.d.ts.map +1 -0
- package/dist/types/position.js +32 -0
- package/dist/types/position.js.map +1 -0
- package/dist/types/sections.d.ts +39 -24
- package/dist/types/sections.d.ts.map +1 -1
- package/dist/types/sections.js +21 -0
- package/dist/types/sections.js.map +1 -1
- package/dist/validator/index.d.ts.map +1 -1
- package/dist/validator/index.js +1 -2
- package/dist/validator/index.js.map +1 -1
- package/examples/example-cv-ja.md +1 -1
- package/package.json +52 -4
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LSP-aware parser module
|
|
3
|
+
* Extends the base parser with position information for VS Code integration
|
|
4
|
+
*/
|
|
5
|
+
import remarkFrontmatter from 'remark-frontmatter';
|
|
6
|
+
import remarkGfm from 'remark-gfm';
|
|
7
|
+
import remarkParse from 'remark-parse';
|
|
8
|
+
import { unified } from 'unified';
|
|
9
|
+
import { YAMLParseError, parseDocument } from 'yaml';
|
|
10
|
+
import { createParseError, createPosition, createRange, failure, success, } from '../types/index.js';
|
|
11
|
+
import { findSectionByTag } from '../types/sections.js';
|
|
12
|
+
/**
|
|
13
|
+
* Create markdown processor
|
|
14
|
+
*/
|
|
15
|
+
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
|
|
16
|
+
function createProcessor() {
|
|
17
|
+
return unified()
|
|
18
|
+
.use(remarkParse)
|
|
19
|
+
.use(remarkGfm)
|
|
20
|
+
.use(remarkFrontmatter, ['yaml']);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Convert mdast position to our Position type (0-based)
|
|
24
|
+
*/
|
|
25
|
+
function toPosition(point) {
|
|
26
|
+
if (!point) {
|
|
27
|
+
return createPosition(0, 0);
|
|
28
|
+
}
|
|
29
|
+
// mdast uses 1-based lines and columns, convert to 0-based
|
|
30
|
+
return createPosition(point.line - 1, point.column - 1);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Convert mdast position to our Range type
|
|
34
|
+
*/
|
|
35
|
+
function toRange(position) {
|
|
36
|
+
if (!position) {
|
|
37
|
+
return createRange(createPosition(0, 0), createPosition(0, 0));
|
|
38
|
+
}
|
|
39
|
+
return createRange(toPosition(position.start), toPosition(position.end));
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Extract text from mdast node
|
|
43
|
+
*/
|
|
44
|
+
function extractText(node) {
|
|
45
|
+
if ('value' in node && typeof node.value === 'string') {
|
|
46
|
+
return node.value;
|
|
47
|
+
}
|
|
48
|
+
if ('children' in node && Array.isArray(node.children)) {
|
|
49
|
+
return node.children.map(extractText).join('');
|
|
50
|
+
}
|
|
51
|
+
return '';
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Parse frontmatter YAML with position information
|
|
55
|
+
*/
|
|
56
|
+
function parseFrontmatterWithPositions(yamlNode, errors) {
|
|
57
|
+
const yamlContent = yamlNode.value;
|
|
58
|
+
const nodeRange = toRange(yamlNode.position);
|
|
59
|
+
// The YAML content starts after the opening ---
|
|
60
|
+
// We need to calculate the offset for field positions
|
|
61
|
+
const yamlStartLine = nodeRange.start.line + 1; // Skip the --- line
|
|
62
|
+
const fields = [];
|
|
63
|
+
try {
|
|
64
|
+
const doc = parseDocument(yamlContent, { keepSourceTokens: true });
|
|
65
|
+
if (doc.contents && 'items' in doc.contents) {
|
|
66
|
+
for (const item of doc.contents.items) {
|
|
67
|
+
// Check if item is a Pair (has key and value properties)
|
|
68
|
+
if ('key' in item &&
|
|
69
|
+
'value' in item &&
|
|
70
|
+
item.key &&
|
|
71
|
+
item.value !== undefined) {
|
|
72
|
+
const keyNode = item.key;
|
|
73
|
+
const valueNode = item.value;
|
|
74
|
+
const keyStr = String(keyNode);
|
|
75
|
+
const valueStr = valueNode ? String(valueNode) : undefined;
|
|
76
|
+
// Calculate positions relative to the document
|
|
77
|
+
// yaml library uses 0-based offsets, we need to convert to line/column
|
|
78
|
+
const keyRange = calculateYamlNodeRange(yamlContent, keyNode, yamlStartLine);
|
|
79
|
+
const valueRange = valueNode
|
|
80
|
+
? calculateYamlNodeRange(yamlContent, valueNode, yamlStartLine)
|
|
81
|
+
: undefined;
|
|
82
|
+
const fieldRange = createRange(keyRange.start, valueRange ? valueRange.end : keyRange.end);
|
|
83
|
+
fields.push({
|
|
84
|
+
key: keyStr,
|
|
85
|
+
value: valueStr,
|
|
86
|
+
range: fieldRange,
|
|
87
|
+
keyRange,
|
|
88
|
+
valueRange,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
catch (e) {
|
|
95
|
+
if (e instanceof YAMLParseError) {
|
|
96
|
+
const line = e.linePos?.[0]?.line ?? 1;
|
|
97
|
+
const col = e.linePos?.[0]?.col ?? 1;
|
|
98
|
+
errors.push(createParseError(`Invalid YAML frontmatter: ${e.message}`, yamlStartLine + line - 1, col, 'frontmatter'));
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
const msg = e instanceof Error ? e.message : 'Unknown error';
|
|
102
|
+
errors.push(createParseError(`Invalid YAML frontmatter: ${msg}`, nodeRange.start.line, nodeRange.start.character, 'frontmatter'));
|
|
103
|
+
}
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
return {
|
|
107
|
+
range: nodeRange,
|
|
108
|
+
fields,
|
|
109
|
+
raw: yamlContent,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Calculate range for a YAML node within the document
|
|
114
|
+
*/
|
|
115
|
+
function calculateYamlNodeRange(yamlContent, node, baseLineOffset) {
|
|
116
|
+
// Try to get range from node if available
|
|
117
|
+
const nodeWithRange = node;
|
|
118
|
+
if (nodeWithRange.range) {
|
|
119
|
+
const [startOffset, endOffset] = nodeWithRange.range;
|
|
120
|
+
const startPos = offsetToPosition(yamlContent, startOffset, baseLineOffset);
|
|
121
|
+
const endPos = offsetToPosition(yamlContent, endOffset, baseLineOffset);
|
|
122
|
+
return createRange(startPos, endPos);
|
|
123
|
+
}
|
|
124
|
+
// Fallback: return a zero-width range at the base offset
|
|
125
|
+
return createRange(createPosition(baseLineOffset, 0), createPosition(baseLineOffset, 0));
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Convert byte offset to Position
|
|
129
|
+
*/
|
|
130
|
+
function offsetToPosition(content, offset, baseLineOffset) {
|
|
131
|
+
let line = 0;
|
|
132
|
+
let lastNewline = -1;
|
|
133
|
+
for (let i = 0; i < offset && i < content.length; i++) {
|
|
134
|
+
if (content[i] === '\n') {
|
|
135
|
+
line++;
|
|
136
|
+
lastNewline = i;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
const character = offset - lastNewline - 1;
|
|
140
|
+
return createPosition(baseLineOffset + line, character);
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Parse code block with position information
|
|
144
|
+
*/
|
|
145
|
+
function parseCodeBlock(codeNode) {
|
|
146
|
+
const lang = codeNode.lang || '';
|
|
147
|
+
// Only process resume: code blocks
|
|
148
|
+
if (!lang.startsWith('resume:')) {
|
|
149
|
+
return null;
|
|
150
|
+
}
|
|
151
|
+
const type = lang.replace('resume:', '');
|
|
152
|
+
const range = toRange(codeNode.position);
|
|
153
|
+
// Content range is inside the code fence
|
|
154
|
+
// Start after the opening ``` line, end before the closing ```
|
|
155
|
+
const contentRange = createRange(createPosition(range.start.line + 1, 0), createPosition(range.end.line - 1, 0));
|
|
156
|
+
return {
|
|
157
|
+
type,
|
|
158
|
+
lang,
|
|
159
|
+
content: codeNode.value,
|
|
160
|
+
range,
|
|
161
|
+
contentRange,
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Parse sections with position information
|
|
166
|
+
*/
|
|
167
|
+
function parseSectionsWithPositions(tree) {
|
|
168
|
+
const sections = [];
|
|
169
|
+
const contentNodes = tree.children.filter((node) => node.type !== 'yaml');
|
|
170
|
+
let currentTitle = null;
|
|
171
|
+
let currentTitleRange = null;
|
|
172
|
+
let currentCodeBlocks = [];
|
|
173
|
+
for (const node of contentNodes) {
|
|
174
|
+
if (node.type === 'heading' && node.depth === 1) {
|
|
175
|
+
// Save previous section
|
|
176
|
+
if (currentTitle !== null && currentTitleRange !== null) {
|
|
177
|
+
const sectionDef = findSectionByTag(currentTitle);
|
|
178
|
+
if (sectionDef) {
|
|
179
|
+
const endLine = node.position?.start.line
|
|
180
|
+
? node.position.start.line - 2
|
|
181
|
+
: currentTitleRange.end.line;
|
|
182
|
+
sections.push({
|
|
183
|
+
id: sectionDef.id,
|
|
184
|
+
title: currentTitle,
|
|
185
|
+
range: createRange(currentTitleRange.start, createPosition(endLine, 0)),
|
|
186
|
+
titleRange: currentTitleRange,
|
|
187
|
+
codeBlocks: currentCodeBlocks,
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
// Start new section
|
|
192
|
+
currentTitle = node.children
|
|
193
|
+
.map((c) => extractText(c))
|
|
194
|
+
.join('');
|
|
195
|
+
currentTitleRange = toRange(node.position);
|
|
196
|
+
currentCodeBlocks = [];
|
|
197
|
+
}
|
|
198
|
+
else if (currentTitle !== null && node.type === 'code') {
|
|
199
|
+
const codeBlock = parseCodeBlock(node);
|
|
200
|
+
if (codeBlock) {
|
|
201
|
+
currentCodeBlocks.push(codeBlock);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
// Don't forget last section
|
|
206
|
+
if (currentTitle !== null && currentTitleRange !== null) {
|
|
207
|
+
const sectionDef = findSectionByTag(currentTitle);
|
|
208
|
+
if (sectionDef) {
|
|
209
|
+
// Find the last line of content
|
|
210
|
+
const lastNode = contentNodes[contentNodes.length - 1];
|
|
211
|
+
const endLine = lastNode?.position?.end.line ?? currentTitleRange.end.line;
|
|
212
|
+
sections.push({
|
|
213
|
+
id: sectionDef.id,
|
|
214
|
+
title: currentTitle,
|
|
215
|
+
range: createRange(currentTitleRange.start, createPosition(endLine - 1, 0)),
|
|
216
|
+
titleRange: currentTitleRange,
|
|
217
|
+
codeBlocks: currentCodeBlocks,
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
return sections;
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Parse markdown with full position information for LSP
|
|
225
|
+
*/
|
|
226
|
+
export function parseMarkdownWithPositions(markdown) {
|
|
227
|
+
const errors = [];
|
|
228
|
+
try {
|
|
229
|
+
const processor = createProcessor();
|
|
230
|
+
const tree = processor.parse(markdown);
|
|
231
|
+
// Find and parse frontmatter
|
|
232
|
+
const yamlNode = tree.children.find((node) => node.type === 'yaml');
|
|
233
|
+
const frontmatter = yamlNode
|
|
234
|
+
? parseFrontmatterWithPositions(yamlNode, errors)
|
|
235
|
+
: null;
|
|
236
|
+
if (errors.length > 0) {
|
|
237
|
+
return failure(errors);
|
|
238
|
+
}
|
|
239
|
+
// Collect all code blocks
|
|
240
|
+
const allCodeBlocks = [];
|
|
241
|
+
for (const node of tree.children) {
|
|
242
|
+
if (node.type === 'code') {
|
|
243
|
+
const codeBlock = parseCodeBlock(node);
|
|
244
|
+
if (codeBlock) {
|
|
245
|
+
allCodeBlocks.push(codeBlock);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
// Parse sections
|
|
250
|
+
const sections = parseSectionsWithPositions(tree);
|
|
251
|
+
return success({
|
|
252
|
+
frontmatter,
|
|
253
|
+
sections,
|
|
254
|
+
codeBlocks: allCodeBlocks,
|
|
255
|
+
rawContent: markdown,
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
catch (e) {
|
|
259
|
+
const msg = e instanceof Error ? e.message : 'Unknown error';
|
|
260
|
+
errors.push(createParseError(`Failed to parse markdown: ${msg}`, 1, 1, 'markdown'));
|
|
261
|
+
return failure(errors);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
export default parseMarkdownWithPositions;
|
|
265
|
+
//# sourceMappingURL=lsp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lsp.js","sourceRoot":"","sources":["../../src/parser/lsp.ts"],"names":[],"mappings":"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"}
|
package/dist/types/config.d.ts
CHANGED
|
@@ -119,21 +119,22 @@ export declare const INIT_OPTIONS: {
|
|
|
119
119
|
};
|
|
120
120
|
/**
|
|
121
121
|
* CLI options parsed from command line
|
|
122
|
+
* Optional fields use `?:` syntax since CLI parser may not provide all values
|
|
122
123
|
*/
|
|
123
124
|
export interface CLIOptions {
|
|
124
125
|
readonly input: string;
|
|
125
|
-
readonly output
|
|
126
|
-
readonly format
|
|
127
|
-
readonly outputType
|
|
128
|
-
readonly paperSize
|
|
129
|
-
readonly config
|
|
126
|
+
readonly output?: string;
|
|
127
|
+
readonly format?: OutputFormat;
|
|
128
|
+
readonly outputType?: OutputType;
|
|
129
|
+
readonly paperSize?: PaperSize;
|
|
130
|
+
readonly config?: string;
|
|
130
131
|
readonly debug: boolean;
|
|
131
|
-
readonly logFormat
|
|
132
|
-
readonly chronologicalOrder
|
|
133
|
-
readonly hideMotivation
|
|
134
|
-
readonly photo
|
|
135
|
-
readonly sectionOrder
|
|
136
|
-
readonly stylesheet
|
|
132
|
+
readonly logFormat?: LogFormat;
|
|
133
|
+
readonly chronologicalOrder?: ChronologicalOrder;
|
|
134
|
+
readonly hideMotivation?: boolean;
|
|
135
|
+
readonly photo?: string;
|
|
136
|
+
readonly sectionOrder?: string;
|
|
137
|
+
readonly stylesheet?: string;
|
|
137
138
|
}
|
|
138
139
|
/**
|
|
139
140
|
* Configuration file schema (JSON or YAML)
|
|
@@ -161,10 +162,17 @@ export interface ResolvedConfig {
|
|
|
161
162
|
readonly paperSize: PaperSize;
|
|
162
163
|
readonly debug: boolean;
|
|
163
164
|
readonly logFormat: LogFormat;
|
|
164
|
-
readonly chronologicalOrder
|
|
165
|
+
readonly chronologicalOrder?: ChronologicalOrder;
|
|
165
166
|
readonly hideMotivation: boolean;
|
|
166
|
-
readonly photo
|
|
167
|
-
readonly sectionOrder
|
|
168
|
-
readonly stylesheet
|
|
167
|
+
readonly photo?: string;
|
|
168
|
+
readonly sectionOrder?: string[];
|
|
169
|
+
readonly stylesheet?: string;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Options for CV/Resume HTML generation
|
|
173
|
+
*/
|
|
174
|
+
export interface CVOptions {
|
|
175
|
+
readonly paperSize: PaperSize;
|
|
176
|
+
readonly customStylesheet?: string;
|
|
169
177
|
}
|
|
170
178
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,WAAW,GAAG,MAAM,CAAC;AACvD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AACjD,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAC;AAC7D,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAExC;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,MAAM,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgEkB,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BsB,CAAC;AAEhD
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
|
package/dist/types/index.js
CHANGED
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Position and Range types for LSP integration
|
|
3
|
+
* These types are compatible with VS Code's Position and Range
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* A position in a text document (0-based line and character)
|
|
7
|
+
*/
|
|
8
|
+
export interface Position {
|
|
9
|
+
readonly line: number;
|
|
10
|
+
readonly character: number;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* A range in a text document
|
|
14
|
+
*/
|
|
15
|
+
export interface Range {
|
|
16
|
+
readonly start: Position;
|
|
17
|
+
readonly end: Position;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Create a Position
|
|
21
|
+
*/
|
|
22
|
+
export declare function createPosition(line: number, character: number): Position;
|
|
23
|
+
/**
|
|
24
|
+
* Create a Range
|
|
25
|
+
*/
|
|
26
|
+
export declare function createRange(start: Position, end: Position): Range;
|
|
27
|
+
/**
|
|
28
|
+
* Create a Range from line/character numbers
|
|
29
|
+
*/
|
|
30
|
+
export declare function createRangeFromNumbers(startLine: number, startChar: number, endLine: number, endChar: number): Range;
|
|
31
|
+
/**
|
|
32
|
+
* A located value - wraps a value with its position in the document
|
|
33
|
+
*/
|
|
34
|
+
export interface Located<T> {
|
|
35
|
+
readonly value: T;
|
|
36
|
+
readonly range: Range;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Create a Located value
|
|
40
|
+
*/
|
|
41
|
+
export declare function located<T>(value: T, range: Range): Located<T>;
|
|
42
|
+
//# sourceMappingURL=position.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../src/types/position.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,QAAQ,CAExE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,GAAG,KAAK,CAEjE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,KAAK,CAKP;AAED;;GAEG;AACH,MAAM,WAAW,OAAO,CAAC,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAE7D"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Position and Range types for LSP integration
|
|
3
|
+
* These types are compatible with VS Code's Position and Range
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Create a Position
|
|
7
|
+
*/
|
|
8
|
+
export function createPosition(line, character) {
|
|
9
|
+
return { line, character };
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Create a Range
|
|
13
|
+
*/
|
|
14
|
+
export function createRange(start, end) {
|
|
15
|
+
return { start, end };
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Create a Range from line/character numbers
|
|
19
|
+
*/
|
|
20
|
+
export function createRangeFromNumbers(startLine, startChar, endLine, endChar) {
|
|
21
|
+
return {
|
|
22
|
+
start: { line: startLine, character: startChar },
|
|
23
|
+
end: { line: endLine, character: endChar },
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Create a Located value
|
|
28
|
+
*/
|
|
29
|
+
export function located(value, range) {
|
|
30
|
+
return { value, range };
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=position.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"position.js","sourceRoot":"","sources":["../../src/types/position.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkBH;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,SAAiB;IAC5D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAe,EAAE,GAAa;IACxD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,SAAiB,EACjB,SAAiB,EACjB,OAAe,EACf,OAAe;IAEf,OAAO;QACL,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE;QAChD,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE;KAC3C,CAAC;AACJ,CAAC;AAUD;;GAEG;AACH,MAAM,UAAU,OAAO,CAAI,KAAQ,EAAE,KAAY;IAC/C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1B,CAAC"}
|
package/dist/types/sections.d.ts
CHANGED
|
@@ -35,54 +35,69 @@ export declare function getRequiredSectionsForFormat(format: OutputFormat): stri
|
|
|
35
35
|
* Check if a section is valid for a given output format
|
|
36
36
|
*/
|
|
37
37
|
export declare function isSectionValidForFormat(sectionId: string, format: OutputFormat): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* CV language type
|
|
40
|
+
*/
|
|
41
|
+
export type CvLanguage = 'en' | 'ja';
|
|
42
|
+
/**
|
|
43
|
+
* Check if text contains Japanese characters (Hiragana, Katakana, or Kanji)
|
|
44
|
+
*/
|
|
45
|
+
export declare function isJapaneseText(text: string): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Get tags for a section filtered by language
|
|
48
|
+
* @param sectionId The section ID
|
|
49
|
+
* @param language The language to filter by ('en' or 'ja')
|
|
50
|
+
* @returns Array of tags in the specified language
|
|
51
|
+
*/
|
|
52
|
+
export declare function getTagsForLanguage(sectionId: string, language: CvLanguage): string[];
|
|
38
53
|
/**
|
|
39
54
|
* Education entry structure (resume:education block)
|
|
40
55
|
*/
|
|
41
56
|
export interface EducationEntry {
|
|
42
57
|
readonly school: string;
|
|
43
|
-
readonly degree
|
|
44
|
-
readonly
|
|
45
|
-
readonly
|
|
46
|
-
readonly
|
|
47
|
-
readonly details
|
|
58
|
+
readonly degree?: string;
|
|
59
|
+
readonly start: Date;
|
|
60
|
+
readonly end: Date;
|
|
61
|
+
readonly location?: string;
|
|
62
|
+
readonly details?: readonly string[];
|
|
48
63
|
}
|
|
49
64
|
/**
|
|
50
65
|
* Project entry within a role
|
|
51
66
|
*/
|
|
52
67
|
export interface ProjectEntry {
|
|
53
68
|
readonly name: string;
|
|
54
|
-
readonly start: Date
|
|
55
|
-
readonly end: Date
|
|
56
|
-
readonly bullets
|
|
69
|
+
readonly start: Date;
|
|
70
|
+
readonly end: Date;
|
|
71
|
+
readonly bullets?: readonly string[];
|
|
57
72
|
}
|
|
58
73
|
/**
|
|
59
74
|
* Role entry within experience
|
|
60
75
|
*/
|
|
61
76
|
export interface RoleEntry {
|
|
62
77
|
readonly title: string;
|
|
63
|
-
readonly
|
|
64
|
-
readonly
|
|
65
|
-
readonly
|
|
66
|
-
readonly summary
|
|
67
|
-
readonly highlights
|
|
68
|
-
readonly projects
|
|
78
|
+
readonly start: Date;
|
|
79
|
+
readonly end: Date | 'present';
|
|
80
|
+
readonly team?: string;
|
|
81
|
+
readonly summary?: readonly string[];
|
|
82
|
+
readonly highlights?: readonly string[];
|
|
83
|
+
readonly projects?: readonly ProjectEntry[];
|
|
69
84
|
}
|
|
70
85
|
/**
|
|
71
86
|
* Experience entry structure (resume:experience block)
|
|
72
87
|
*/
|
|
73
88
|
export interface ExperienceEntry {
|
|
74
89
|
readonly company: string;
|
|
75
|
-
readonly location: string | undefined;
|
|
76
90
|
readonly roles: readonly RoleEntry[];
|
|
91
|
+
readonly location?: string;
|
|
77
92
|
}
|
|
78
93
|
/**
|
|
79
94
|
* Certification entry structure (resume:certifications block)
|
|
80
95
|
*/
|
|
81
96
|
export interface CertificationEntry {
|
|
82
97
|
readonly name: string;
|
|
83
|
-
readonly
|
|
84
|
-
readonly
|
|
85
|
-
readonly url
|
|
98
|
+
readonly date: Date;
|
|
99
|
+
readonly issuer?: string;
|
|
100
|
+
readonly url?: string;
|
|
86
101
|
}
|
|
87
102
|
/**
|
|
88
103
|
* Skill entry structure (resume:skills block)
|
|
@@ -92,16 +107,16 @@ export interface CertificationEntry {
|
|
|
92
107
|
*/
|
|
93
108
|
export interface SkillEntry {
|
|
94
109
|
readonly category: string;
|
|
95
|
-
readonly items
|
|
96
|
-
readonly description
|
|
97
|
-
readonly level
|
|
110
|
+
readonly items?: readonly string[];
|
|
111
|
+
readonly description?: string;
|
|
112
|
+
readonly level?: string;
|
|
98
113
|
}
|
|
99
114
|
/**
|
|
100
115
|
* Skills section options
|
|
101
116
|
*/
|
|
102
117
|
export interface SkillsOptions {
|
|
103
|
-
readonly columns: number
|
|
104
|
-
readonly format: 'grid' | 'categorized'
|
|
118
|
+
readonly columns: number;
|
|
119
|
+
readonly format: 'grid' | 'categorized';
|
|
105
120
|
}
|
|
106
121
|
/**
|
|
107
122
|
* Competency entry structure (resume:competencies block)
|
|
@@ -115,7 +130,7 @@ export interface CompetencyEntry {
|
|
|
115
130
|
*/
|
|
116
131
|
export interface LanguageEntry {
|
|
117
132
|
readonly language: string;
|
|
118
|
-
readonly level: string
|
|
133
|
+
readonly level: string;
|
|
119
134
|
}
|
|
120
135
|
/**
|
|
121
136
|
* Parsed section content
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sections.d.ts","sourceRoot":"","sources":["../../src/types/sections.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,WAAW,GAAG,MAAM,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,SAAS,YAAY,EAAE,CAAC;CAC/C;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,UAAU,EAgF3C,CAAC;AAEX;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAKpE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,EAAE,CAQpE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,EAAE,CAS3E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,YAAY,GACnB,OAAO,CAKT;AAED;;GAEG;AACH,MAAM,
|
|
1
|
+
{"version":3,"file":"sections.d.ts","sourceRoot":"","sources":["../../src/types/sections.ts"],"names":[],"mappings":"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"}
|
package/dist/types/sections.js
CHANGED
|
@@ -126,4 +126,25 @@ export function isSectionValidForFormat(sectionId, format) {
|
|
|
126
126
|
return true;
|
|
127
127
|
return def.usage === 'both' || def.usage === format;
|
|
128
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* Check if text contains Japanese characters (Hiragana, Katakana, or Kanji)
|
|
131
|
+
*/
|
|
132
|
+
export function isJapaneseText(text) {
|
|
133
|
+
return /[\u3040-\u309F\u30A0-\u30FF\u4E00-\u9FAF]/.test(text);
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Get tags for a section filtered by language
|
|
137
|
+
* @param sectionId The section ID
|
|
138
|
+
* @param language The language to filter by ('en' or 'ja')
|
|
139
|
+
* @returns Array of tags in the specified language
|
|
140
|
+
*/
|
|
141
|
+
export function getTagsForLanguage(sectionId, language) {
|
|
142
|
+
const def = SECTION_DEFINITIONS.find((d) => d.id === sectionId);
|
|
143
|
+
if (!def)
|
|
144
|
+
return [];
|
|
145
|
+
return def.tags.filter((tag) => {
|
|
146
|
+
const isJapanese = isJapaneseText(tag);
|
|
147
|
+
return language === 'ja' ? isJapanese : !isJapanese;
|
|
148
|
+
});
|
|
149
|
+
}
|
|
129
150
|
//# sourceMappingURL=sections.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sections.js","sourceRoot":"","sources":["../../src/types/sections.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sections.js","sourceRoot":"","sources":["../../src/types/sections.ts"],"names":[],"mappings":"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"}
|