md2cv 1.2.0 → 1.4.1
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 +22 -0
- package/README.ja.md +65 -56
- package/README.md +45 -36
- 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/template/definitions/en.d.ts.map +1 -1
- package/dist/template/definitions/en.js +0 -12
- package/dist/template/definitions/en.js.map +1 -1
- package/dist/template/definitions/ja.d.ts.map +1 -1
- package/dist/template/definitions/ja.js +0 -12
- package/dist/template/definitions/ja.js.map +1 -1
- 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 +11 -9
- package/dist/validator/index.js.map +1 -1
- package/examples/example-cv-ja.md +1 -1
- package/package.json +52 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume_en.d.ts","sourceRoot":"","sources":["../../src/generator/resume_en.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"resume_en.d.ts","sourceRoot":"","sources":["../../src/generator/resume_en.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAa,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAQ3C,YAAY,EAAE,OAAO,EAAE,CAAC;AA8NxB;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,GAAG,MAAM,CAwCtE"}
|
|
@@ -2,76 +2,13 @@
|
|
|
2
2
|
* English CV Generator
|
|
3
3
|
* Generates HTML for English CV format with Times font family
|
|
4
4
|
*/
|
|
5
|
+
import { PAGE_SIZES, enDateFormatter, escapeHtml, renderSectionContent, } from './common.js';
|
|
5
6
|
/**
|
|
6
|
-
*
|
|
7
|
-
*/
|
|
8
|
-
const PAGE_SIZES = {
|
|
9
|
-
a3: { width: 420, height: 297 },
|
|
10
|
-
a4: { width: 210, height: 297 },
|
|
11
|
-
b4: { width: 364, height: 257 },
|
|
12
|
-
b5: { width: 176, height: 250 },
|
|
13
|
-
letter: { width: 215.9, height: 279.4 },
|
|
14
|
-
};
|
|
15
|
-
/**
|
|
16
|
-
* Escape HTML special characters
|
|
17
|
-
*/
|
|
18
|
-
function escapeHtml(text) {
|
|
19
|
-
return text
|
|
20
|
-
.replace(/&/g, '&')
|
|
21
|
-
.replace(/</g, '<')
|
|
22
|
-
.replace(/>/g, '>')
|
|
23
|
-
.replace(/"/g, '"')
|
|
24
|
-
.replace(/'/g, ''');
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Format date for display
|
|
28
|
-
*/
|
|
29
|
-
function formatDate(date) {
|
|
30
|
-
if (!date)
|
|
31
|
-
return '';
|
|
32
|
-
const months = [
|
|
33
|
-
'Jan',
|
|
34
|
-
'Feb',
|
|
35
|
-
'Mar',
|
|
36
|
-
'Apr',
|
|
37
|
-
'May',
|
|
38
|
-
'Jun',
|
|
39
|
-
'Jul',
|
|
40
|
-
'Aug',
|
|
41
|
-
'Sep',
|
|
42
|
-
'Oct',
|
|
43
|
-
'Nov',
|
|
44
|
-
'Dec',
|
|
45
|
-
];
|
|
46
|
-
return `${months[date.getMonth()]} ${date.getFullYear()}`;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Format end date which can be Date or 'present'
|
|
50
|
-
*/
|
|
51
|
-
function formatEndDate(end) {
|
|
52
|
-
if (!end)
|
|
53
|
-
return '';
|
|
54
|
-
if (end === 'present')
|
|
55
|
-
return 'Present';
|
|
56
|
-
return formatDate(end);
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Format date range
|
|
60
|
-
*/
|
|
61
|
-
function formatDateRange(start, end) {
|
|
62
|
-
const startStr = formatDate(start);
|
|
63
|
-
const endStr = formatEndDate(end);
|
|
64
|
-
if (startStr && endStr)
|
|
65
|
-
return `${startStr} - ${endStr}`;
|
|
66
|
-
if (startStr)
|
|
67
|
-
return startStr;
|
|
68
|
-
return '';
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Generate base CSS styles
|
|
7
|
+
* Generate base CSS styles for English CV
|
|
72
8
|
*/
|
|
73
9
|
function generateStyles(paperSize) {
|
|
74
10
|
const size = PAGE_SIZES[paperSize];
|
|
11
|
+
const pageMargin = 15; // mm
|
|
75
12
|
return `
|
|
76
13
|
:root {
|
|
77
14
|
--cv-font-family: "Noto Serif", "Times New Roman", Times, Georgia, serif;
|
|
@@ -91,22 +28,26 @@ function generateStyles(paperSize) {
|
|
|
91
28
|
}
|
|
92
29
|
@page {
|
|
93
30
|
size: ${size.width}mm ${size.height}mm;
|
|
94
|
-
margin:
|
|
31
|
+
margin: ${pageMargin}mm;
|
|
95
32
|
}
|
|
96
33
|
* {
|
|
97
34
|
margin: 0;
|
|
98
35
|
padding: 0;
|
|
99
36
|
box-sizing: border-box;
|
|
100
37
|
}
|
|
38
|
+
html {
|
|
39
|
+
background: #e0e0e0;
|
|
40
|
+
}
|
|
101
41
|
body {
|
|
102
42
|
font-family: var(--cv-font-family);
|
|
103
43
|
font-size: var(--cv-font-size-base);
|
|
104
44
|
line-height: var(--cv-line-height);
|
|
105
45
|
color: var(--cv-color-text);
|
|
106
46
|
background: var(--cv-color-background);
|
|
107
|
-
|
|
47
|
+
width: ${size.width}mm;
|
|
48
|
+
min-height: ${size.height}mm;
|
|
108
49
|
margin: 0 auto;
|
|
109
|
-
padding:
|
|
50
|
+
padding: ${pageMargin}mm;
|
|
110
51
|
}
|
|
111
52
|
header {
|
|
112
53
|
text-align: center;
|
|
@@ -239,262 +180,17 @@ function generateStyles(paperSize) {
|
|
|
239
180
|
font-size: var(--cv-font-size-xs);
|
|
240
181
|
}
|
|
241
182
|
@media print {
|
|
183
|
+
html {
|
|
184
|
+
background: none;
|
|
185
|
+
}
|
|
242
186
|
body {
|
|
187
|
+
width: auto;
|
|
188
|
+
min-height: auto;
|
|
243
189
|
padding: 0;
|
|
244
|
-
max-width: none;
|
|
245
190
|
}
|
|
246
191
|
}
|
|
247
192
|
`;
|
|
248
193
|
}
|
|
249
|
-
/**
|
|
250
|
-
* Render education section
|
|
251
|
-
* Format:
|
|
252
|
-
* <school> —— <start - end>
|
|
253
|
-
* <degree> — <location>
|
|
254
|
-
* <details>
|
|
255
|
-
*/
|
|
256
|
-
function renderEducation(entries) {
|
|
257
|
-
return entries
|
|
258
|
-
.map((entry) => {
|
|
259
|
-
const dateRange = formatDateRange(entry.start, entry.end);
|
|
260
|
-
let html = '<div class="entry">';
|
|
261
|
-
// Title line: <school> —— <date range>
|
|
262
|
-
html += '<div class="entry-header">';
|
|
263
|
-
html += `<span class="entry-title">${escapeHtml(entry.school)}</span>`;
|
|
264
|
-
if (dateRange) {
|
|
265
|
-
html += `<span class="entry-date">${escapeHtml(dateRange)}</span>`;
|
|
266
|
-
}
|
|
267
|
-
html += '</div>';
|
|
268
|
-
// Subtitle line: <degree> — <location>
|
|
269
|
-
const subtitleParts = [];
|
|
270
|
-
if (entry.degree) {
|
|
271
|
-
subtitleParts.push(escapeHtml(entry.degree));
|
|
272
|
-
}
|
|
273
|
-
if (entry.location) {
|
|
274
|
-
subtitleParts.push(escapeHtml(entry.location));
|
|
275
|
-
}
|
|
276
|
-
if (subtitleParts.length > 0) {
|
|
277
|
-
html += `<div class="entry-subtitle">${subtitleParts.join(' — ')}</div>`;
|
|
278
|
-
}
|
|
279
|
-
// Details
|
|
280
|
-
if (entry.details && entry.details.length > 0) {
|
|
281
|
-
html += '<ul>';
|
|
282
|
-
for (const detail of entry.details) {
|
|
283
|
-
html += `<li>${escapeHtml(detail)}</li>`;
|
|
284
|
-
}
|
|
285
|
-
html += '</ul>';
|
|
286
|
-
}
|
|
287
|
-
html += '</div>';
|
|
288
|
-
return html;
|
|
289
|
-
})
|
|
290
|
-
.join('\n');
|
|
291
|
-
}
|
|
292
|
-
/**
|
|
293
|
-
* Render experience section
|
|
294
|
-
* Format:
|
|
295
|
-
* <company name> -- <role> <start - end>
|
|
296
|
-
* <team_name> -- <location>
|
|
297
|
-
* <summary>
|
|
298
|
-
* <highlights>
|
|
299
|
-
*/
|
|
300
|
-
function renderExperience(entries) {
|
|
301
|
-
return entries
|
|
302
|
-
.flatMap((entry) => {
|
|
303
|
-
return entry.roles.map((role) => {
|
|
304
|
-
const dateRange = formatDateRange(role.start, role.end);
|
|
305
|
-
let html = '<div class="entry">';
|
|
306
|
-
// Section title: <company> —— <role> <date range>
|
|
307
|
-
html += '<div class="entry-header">';
|
|
308
|
-
html += `<span class="entry-title">${escapeHtml(entry.company)} —— ${escapeHtml(role.title)}</span>`;
|
|
309
|
-
if (dateRange) {
|
|
310
|
-
html += `<span class="entry-date">${escapeHtml(dateRange)}</span>`;
|
|
311
|
-
}
|
|
312
|
-
html += '</div>';
|
|
313
|
-
// Sub title: <team> — <location>
|
|
314
|
-
const subtitleParts = [];
|
|
315
|
-
if (role.team) {
|
|
316
|
-
subtitleParts.push(escapeHtml(role.team));
|
|
317
|
-
}
|
|
318
|
-
if (entry.location) {
|
|
319
|
-
subtitleParts.push(escapeHtml(entry.location));
|
|
320
|
-
}
|
|
321
|
-
if (subtitleParts.length > 0) {
|
|
322
|
-
html += `<div class="entry-subtitle">${subtitleParts.join(' — ')}</div>`;
|
|
323
|
-
}
|
|
324
|
-
// Summary
|
|
325
|
-
if (role.summary && role.summary.length > 0) {
|
|
326
|
-
html += '<div class="entry-summary">';
|
|
327
|
-
html += role.summary.map((s) => escapeHtml(s)).join(' ');
|
|
328
|
-
html += '</div>';
|
|
329
|
-
}
|
|
330
|
-
// Highlights
|
|
331
|
-
if (role.highlights && role.highlights.length > 0) {
|
|
332
|
-
html += '<ul>';
|
|
333
|
-
for (const highlight of role.highlights) {
|
|
334
|
-
html += `<li>${escapeHtml(highlight)}</li>`;
|
|
335
|
-
}
|
|
336
|
-
html += '</ul>';
|
|
337
|
-
}
|
|
338
|
-
// Projects
|
|
339
|
-
if (role.projects && role.projects.length > 0) {
|
|
340
|
-
for (const project of role.projects) {
|
|
341
|
-
const projDateRange = formatDateRange(project.start, project.end);
|
|
342
|
-
html += '<div class="project">';
|
|
343
|
-
html += `<span class="project-name">${escapeHtml(project.name)}</span>`;
|
|
344
|
-
if (projDateRange) {
|
|
345
|
-
html += ` <span class="entry-date">(${escapeHtml(projDateRange)})</span>`;
|
|
346
|
-
}
|
|
347
|
-
if (project.bullets && project.bullets.length > 0) {
|
|
348
|
-
html += '<ul>';
|
|
349
|
-
for (const bullet of project.bullets) {
|
|
350
|
-
html += `<li>${escapeHtml(bullet)}</li>`;
|
|
351
|
-
}
|
|
352
|
-
html += '</ul>';
|
|
353
|
-
}
|
|
354
|
-
html += '</div>';
|
|
355
|
-
}
|
|
356
|
-
}
|
|
357
|
-
html += '</div>';
|
|
358
|
-
return html;
|
|
359
|
-
});
|
|
360
|
-
})
|
|
361
|
-
.join('\n');
|
|
362
|
-
}
|
|
363
|
-
/**
|
|
364
|
-
* Render certifications section
|
|
365
|
-
*/
|
|
366
|
-
function renderCertifications(entries) {
|
|
367
|
-
return entries
|
|
368
|
-
.map((entry) => {
|
|
369
|
-
let html = `<div class="cert-item">• ${escapeHtml(entry.name)}`;
|
|
370
|
-
if (entry.date) {
|
|
371
|
-
html += ` (${escapeHtml(formatDate(entry.date))})`;
|
|
372
|
-
}
|
|
373
|
-
html += '</div>';
|
|
374
|
-
return html;
|
|
375
|
-
})
|
|
376
|
-
.join('\n');
|
|
377
|
-
}
|
|
378
|
-
/**
|
|
379
|
-
* Default number of columns for skills grid
|
|
380
|
-
*/
|
|
381
|
-
const DEFAULT_SKILLS_COLUMNS = 3;
|
|
382
|
-
/**
|
|
383
|
-
* Render skills section - supports grid and categorized formats
|
|
384
|
-
*/
|
|
385
|
-
function renderSkills(entries, options) {
|
|
386
|
-
// Check if categorized format (entries have non-empty category with description)
|
|
387
|
-
const isCategorized = options.format === 'categorized' ||
|
|
388
|
-
entries.some((e) => e.category && (e.description || e.items.length > 0));
|
|
389
|
-
if (isCategorized && entries.some((e) => e.category)) {
|
|
390
|
-
// Categorized format: • <category>: <description or items>
|
|
391
|
-
return entries
|
|
392
|
-
.filter((e) => e.category)
|
|
393
|
-
.map((entry) => {
|
|
394
|
-
const content = entry.description || entry.items.join(', ');
|
|
395
|
-
return `<div class="skill-category">• <span class="skill-category-name">${escapeHtml(entry.category)}:</span> ${escapeHtml(content)}</div>`;
|
|
396
|
-
})
|
|
397
|
-
.join('\n');
|
|
398
|
-
}
|
|
399
|
-
// Grid format: flatten all items
|
|
400
|
-
const allItems = [];
|
|
401
|
-
for (const entry of entries) {
|
|
402
|
-
for (const item of entry.items) {
|
|
403
|
-
allItems.push(item);
|
|
404
|
-
}
|
|
405
|
-
}
|
|
406
|
-
if (allItems.length === 0) {
|
|
407
|
-
return '';
|
|
408
|
-
}
|
|
409
|
-
const columns = options.columns ?? DEFAULT_SKILLS_COLUMNS;
|
|
410
|
-
const colsClass = columns === 3 ? 'skills-grid--cols-3' : '';
|
|
411
|
-
const colsStyle = columns !== 3 ? `grid-template-columns: repeat(${columns}, 1fr);` : '';
|
|
412
|
-
let html = `<div class="skills-grid ${colsClass}"${colsStyle ? ` style="${colsStyle}"` : ''}>`;
|
|
413
|
-
for (const item of allItems) {
|
|
414
|
-
html += `<div class="skill-item">• ${escapeHtml(item)}</div>`;
|
|
415
|
-
}
|
|
416
|
-
html += '</div>';
|
|
417
|
-
return html;
|
|
418
|
-
}
|
|
419
|
-
/**
|
|
420
|
-
* Render skills from list content as grid
|
|
421
|
-
*/
|
|
422
|
-
function renderSkillsList(items, columns = DEFAULT_SKILLS_COLUMNS) {
|
|
423
|
-
if (items.length === 0) {
|
|
424
|
-
return '';
|
|
425
|
-
}
|
|
426
|
-
const colsClass = columns === 3 ? 'skills-grid--cols-3' : '';
|
|
427
|
-
const colsStyle = columns !== 3 ? `grid-template-columns: repeat(${columns}, 1fr);` : '';
|
|
428
|
-
let html = `<div class="skills-grid ${colsClass}"${colsStyle ? ` style="${colsStyle}"` : ''}>`;
|
|
429
|
-
for (const item of items) {
|
|
430
|
-
html += `<div class="skill-item">• ${escapeHtml(item)}</div>`;
|
|
431
|
-
}
|
|
432
|
-
html += '</div>';
|
|
433
|
-
return html;
|
|
434
|
-
}
|
|
435
|
-
/**
|
|
436
|
-
* Render core competencies section
|
|
437
|
-
*/
|
|
438
|
-
function renderCompetencies(entries) {
|
|
439
|
-
return entries
|
|
440
|
-
.map((entry) => {
|
|
441
|
-
return `<div class="competency-entry"><span class="competency-header">${escapeHtml(entry.header)}:</span> ${escapeHtml(entry.description)}</div>`;
|
|
442
|
-
})
|
|
443
|
-
.join('\n');
|
|
444
|
-
}
|
|
445
|
-
/**
|
|
446
|
-
* Render languages section
|
|
447
|
-
*/
|
|
448
|
-
function renderLanguages(entries) {
|
|
449
|
-
return entries
|
|
450
|
-
.map((entry) => {
|
|
451
|
-
let html = `<span class="lang-item">${escapeHtml(entry.language)}`;
|
|
452
|
-
if (entry.level) {
|
|
453
|
-
html += ` (${escapeHtml(entry.level)})`;
|
|
454
|
-
}
|
|
455
|
-
html += '</span>';
|
|
456
|
-
return html;
|
|
457
|
-
})
|
|
458
|
-
.join(' • ');
|
|
459
|
-
}
|
|
460
|
-
/**
|
|
461
|
-
* Render section content
|
|
462
|
-
*/
|
|
463
|
-
function renderSectionContent(content, sectionId) {
|
|
464
|
-
switch (content.type) {
|
|
465
|
-
case 'text':
|
|
466
|
-
return `<p>${escapeHtml(content.text)}</p>`;
|
|
467
|
-
case 'list':
|
|
468
|
-
// For skills section, render as grid
|
|
469
|
-
if (sectionId === 'skills') {
|
|
470
|
-
return renderSkillsList(content.items);
|
|
471
|
-
}
|
|
472
|
-
return ('<ul>' +
|
|
473
|
-
content.items.map((item) => `<li>${escapeHtml(item)}</li>`).join('\n') +
|
|
474
|
-
'</ul>');
|
|
475
|
-
case 'education':
|
|
476
|
-
return renderEducation(content.entries);
|
|
477
|
-
case 'experience':
|
|
478
|
-
return renderExperience(content.entries);
|
|
479
|
-
case 'certifications':
|
|
480
|
-
return renderCertifications(content.entries);
|
|
481
|
-
case 'skills':
|
|
482
|
-
return renderSkills(content.entries, content.options);
|
|
483
|
-
case 'competencies':
|
|
484
|
-
return renderCompetencies(content.entries);
|
|
485
|
-
case 'languages':
|
|
486
|
-
return renderLanguages(content.entries);
|
|
487
|
-
case 'table':
|
|
488
|
-
// Tables are mainly for rirekisho, render as list for resume
|
|
489
|
-
return ('<ul>' +
|
|
490
|
-
content.rows
|
|
491
|
-
.map((row) => `<li>${escapeHtml(row.content)}</li>`)
|
|
492
|
-
.join('\n') +
|
|
493
|
-
'</ul>');
|
|
494
|
-
default:
|
|
495
|
-
return '';
|
|
496
|
-
}
|
|
497
|
-
}
|
|
498
194
|
/**
|
|
499
195
|
* Render contact info line: home_address | phone_number | email | linkedin
|
|
500
196
|
*/
|
|
@@ -503,8 +199,12 @@ function renderContactInfo(cv) {
|
|
|
503
199
|
if (cv.metadata.home_address) {
|
|
504
200
|
parts.push(escapeHtml(cv.metadata.home_address));
|
|
505
201
|
}
|
|
506
|
-
|
|
507
|
-
|
|
202
|
+
if (cv.metadata.phone_number) {
|
|
203
|
+
parts.push(escapeHtml(cv.metadata.phone_number));
|
|
204
|
+
}
|
|
205
|
+
if (cv.metadata.email_address) {
|
|
206
|
+
parts.push(`<a href="mailto:${escapeHtml(cv.metadata.email_address)}">${escapeHtml(cv.metadata.email_address)}</a>`);
|
|
207
|
+
}
|
|
508
208
|
if (cv.metadata.linkedin) {
|
|
509
209
|
const linkedinUrl = cv.metadata.linkedin;
|
|
510
210
|
parts.push(`<a href="${escapeHtml(linkedinUrl)}">${escapeHtml(linkedinUrl)}</a>`);
|
|
@@ -514,7 +214,7 @@ function renderContactInfo(cv) {
|
|
|
514
214
|
/**
|
|
515
215
|
* Generate English HTML CV
|
|
516
216
|
*/
|
|
517
|
-
export function
|
|
217
|
+
export function generateEnHtml(cv, options) {
|
|
518
218
|
const styles = generateStyles(options.paperSize);
|
|
519
219
|
const name = cv.metadata.name;
|
|
520
220
|
const contactHtml = renderContactInfo(cv);
|
|
@@ -524,7 +224,7 @@ export function generateCVEnHTML(cv, options) {
|
|
|
524
224
|
return `
|
|
525
225
|
<section class="cv-section cv-section--${section.id}">
|
|
526
226
|
<h2>${escapeHtml(section.title)}</h2>
|
|
527
|
-
${renderSectionContent(section.content, section.id)}
|
|
227
|
+
${renderSectionContent(section.content, section.id, enDateFormatter)}
|
|
528
228
|
</section>`;
|
|
529
229
|
})
|
|
530
230
|
.join('\n');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume_en.js","sourceRoot":"","sources":["../../src/generator/resume_en.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resume_en.js","sourceRoot":"","sources":["../../src/generator/resume_en.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,22 +2,11 @@
|
|
|
2
2
|
* Japanese CV Generator (職務経歴書スタイル)
|
|
3
3
|
* Generates HTML for Japanese CV format with Mincho font
|
|
4
4
|
*/
|
|
5
|
-
import type {
|
|
6
|
-
import type {
|
|
7
|
-
|
|
8
|
-
export interface CVJaOptions {
|
|
9
|
-
readonly paperSize: PaperSize;
|
|
10
|
-
readonly customStylesheet?: string | undefined;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Input for CV generation
|
|
14
|
-
*/
|
|
15
|
-
export interface CVInput {
|
|
16
|
-
readonly metadata: CVMetadata;
|
|
17
|
-
readonly sections: readonly ParsedSection[];
|
|
18
|
-
}
|
|
5
|
+
import type { CVOptions } from '../types/config.js';
|
|
6
|
+
import type { CVInput } from './common.js';
|
|
7
|
+
export type { CVInput };
|
|
19
8
|
/**
|
|
20
9
|
* Generate Japanese HTML CV
|
|
21
10
|
*/
|
|
22
|
-
export declare function
|
|
11
|
+
export declare function generateJaHtml(cv: CVInput, options: CVOptions): string;
|
|
23
12
|
//# sourceMappingURL=resume_ja.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume_ja.d.ts","sourceRoot":"","sources":["../../src/generator/resume_ja.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"resume_ja.d.ts","sourceRoot":"","sources":["../../src/generator/resume_ja.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAa,MAAM,oBAAoB,CAAC;AAG/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAQ3C,YAAY,EAAE,OAAO,EAAE,CAAC;AAmLxB;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,GAAG,MAAM,CA6CtE"}
|