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.
Files changed (64) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.ja.md +65 -56
  3. package/README.md +45 -36
  4. package/dist/cli/index.d.ts +1 -1
  5. package/dist/cli/index.d.ts.map +1 -1
  6. package/dist/cli/index.js +45 -27
  7. package/dist/cli/index.js.map +1 -1
  8. package/dist/generator/common.d.ts +86 -0
  9. package/dist/generator/common.d.ts.map +1 -0
  10. package/dist/generator/common.js +326 -0
  11. package/dist/generator/common.js.map +1 -0
  12. package/dist/generator/index.d.ts +39 -12
  13. package/dist/generator/index.d.ts.map +1 -1
  14. package/dist/generator/index.js +43 -30
  15. package/dist/generator/index.js.map +1 -1
  16. package/dist/generator/resume_en.d.ts +4 -15
  17. package/dist/generator/resume_en.d.ts.map +1 -1
  18. package/dist/generator/resume_en.js +23 -323
  19. package/dist/generator/resume_en.js.map +1 -1
  20. package/dist/generator/resume_ja.d.ts +4 -15
  21. package/dist/generator/resume_ja.d.ts.map +1 -1
  22. package/dist/generator/resume_ja.js +17 -263
  23. package/dist/generator/resume_ja.js.map +1 -1
  24. package/dist/generator/rirekisho/styles.d.ts.map +1 -1
  25. package/dist/generator/rirekisho/styles.js +9 -14
  26. package/dist/generator/rirekisho/styles.js.map +1 -1
  27. package/dist/generator/rirekisho/types.d.ts +2 -2
  28. package/dist/generator/rirekisho/types.d.ts.map +1 -1
  29. package/dist/index.d.ts +1 -0
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +1 -0
  32. package/dist/index.js.map +1 -1
  33. package/dist/parser/index.d.ts.map +1 -1
  34. package/dist/parser/index.js +172 -109
  35. package/dist/parser/index.js.map +1 -1
  36. package/dist/parser/lsp.d.ts +58 -0
  37. package/dist/parser/lsp.d.ts.map +1 -0
  38. package/dist/parser/lsp.js +265 -0
  39. package/dist/parser/lsp.js.map +1 -0
  40. package/dist/template/definitions/en.d.ts.map +1 -1
  41. package/dist/template/definitions/en.js +0 -12
  42. package/dist/template/definitions/en.js.map +1 -1
  43. package/dist/template/definitions/ja.d.ts.map +1 -1
  44. package/dist/template/definitions/ja.js +0 -12
  45. package/dist/template/definitions/ja.js.map +1 -1
  46. package/dist/types/config.d.ts +23 -15
  47. package/dist/types/config.d.ts.map +1 -1
  48. package/dist/types/index.d.ts +1 -0
  49. package/dist/types/index.d.ts.map +1 -1
  50. package/dist/types/index.js +1 -0
  51. package/dist/types/index.js.map +1 -1
  52. package/dist/types/position.d.ts +42 -0
  53. package/dist/types/position.d.ts.map +1 -0
  54. package/dist/types/position.js +32 -0
  55. package/dist/types/position.js.map +1 -0
  56. package/dist/types/sections.d.ts +39 -24
  57. package/dist/types/sections.d.ts.map +1 -1
  58. package/dist/types/sections.js +21 -0
  59. package/dist/types/sections.js.map +1 -1
  60. package/dist/validator/index.d.ts.map +1 -1
  61. package/dist/validator/index.js +11 -9
  62. package/dist/validator/index.js.map +1 -1
  63. package/examples/example-cv-ja.md +1 -1
  64. 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,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAMV,aAAa,EAId,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;CAC7C;AAqjBD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CAwC1E"}
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
- * Page size dimensions in mm
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, '&lt;')
22
- .replace(/>/g, '&gt;')
23
- .replace(/"/g, '&quot;')
24
- .replace(/'/g, '&#039;');
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: 15mm;
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
- max-width: 800px;
47
+ width: ${size.width}mm;
48
+ min-height: ${size.height}mm;
108
49
  margin: 0 auto;
109
- padding: 20px;
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
- parts.push(escapeHtml(cv.metadata.phone_number));
507
- parts.push(`<a href="mailto:${escapeHtml(cv.metadata.email_address)}">${escapeHtml(cv.metadata.email_address)}</a>`);
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 generateCVEnHTML(cv, options) {
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":"AAAA;;;GAGG;AAIH,OAAO,EACL,UAAU,EACV,eAAe,EACf,UAAU,EACV,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAIrB;;GAEG;AACH,SAAS,cAAc,CAAC,SAAoB;IAC1C,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,EAAE,CAAC,CAAC,KAAK;IAE5B,OAAO;;;;;;;;;;;;;;;;;;cAkBK,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,MAAM;gBACzB,UAAU;;;;;;;;;;;;;;;;eAgBX,IAAI,CAAC,KAAK;oBACL,IAAI,CAAC,MAAM;;iBAEd,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8IxB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,EAAW;IACpC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CACR,mBAAmB,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CACzG,CAAC;IACJ,CAAC;IAED,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACzC,KAAK,CAAC,IAAI,CACR,YAAY,UAAU,CAAC,WAAW,CAAC,KAAK,UAAU,CAAC,WAAW,CAAC,MAAM,CACtE,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,EAAW,EAAE,OAAkB;IAC5D,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,MAAM,WAAW,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAE1C,0FAA0F;IAC1F,MAAM,YAAY,GAAG,EAAE,CAAC,QAAQ;SAC7B,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACf,OAAO;yCAC4B,OAAO,CAAC,EAAE;QAC3C,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC;IAC7B,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,eAAe,CAAC;WAC3D,CAAC;IACR,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,wCAAwC;IACxC,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB;QAC/C,CAAC,CAAC,gCAAgC,OAAO,CAAC,gBAAgB,UAAU;QACpE,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;;;;;WAKE,UAAU,CAAC,IAAI,CAAC;kCACO,MAAM;IACpC,gBAAgB;;;;0BAIM,UAAU,CAAC,IAAI,CAAC;gCACV,WAAW;;;EAGzC,YAAY;;;QAGN,CAAC;AACT,CAAC"}
@@ -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 { PaperSize } from '../types/config.js';
6
- import type { CVMetadata } from '../types/metadata.js';
7
- import type { ParsedSection } from '../types/sections.js';
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 generateCVJaHTML(cv: CVInput, options: CVJaOptions): string;
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,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAKV,aAAa,EAId,MAAM,sBAAsB,CAAC;AAG9B,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;CAC7C;AAidD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CA6C1E"}
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"}