md2cv 2.4.0 → 2.5.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 (42) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.ja.md +75 -22
  3. package/README.md +76 -22
  4. package/dist/generator/common.d.ts.map +1 -1
  5. package/dist/generator/common.js +3 -1
  6. package/dist/generator/common.js.map +1 -1
  7. package/dist/generator/cover_letter.d.ts +12 -0
  8. package/dist/generator/cover_letter.d.ts.map +1 -0
  9. package/dist/generator/cover_letter.js +252 -0
  10. package/dist/generator/cover_letter.js.map +1 -0
  11. package/dist/generator/index.d.ts +2 -1
  12. package/dist/generator/index.d.ts.map +1 -1
  13. package/dist/generator/index.js +26 -7
  14. package/dist/generator/index.js.map +1 -1
  15. package/dist/generator/resume_en.d.ts.map +1 -1
  16. package/dist/generator/resume_en.js +30 -14
  17. package/dist/generator/resume_en.js.map +1 -1
  18. package/dist/generator/resume_ja.d.ts.map +1 -1
  19. package/dist/generator/resume_ja.js +24 -11
  20. package/dist/generator/resume_ja.js.map +1 -1
  21. package/dist/template/definitions/en.d.ts.map +1 -1
  22. package/dist/template/definitions/en.js +46 -0
  23. package/dist/template/definitions/en.js.map +1 -1
  24. package/dist/template/generator.d.ts.map +1 -1
  25. package/dist/template/generator.js +4 -2
  26. package/dist/template/generator.js.map +1 -1
  27. package/dist/types/config.d.ts +2 -1
  28. package/dist/types/config.d.ts.map +1 -1
  29. package/dist/types/config.js +3 -3
  30. package/dist/types/config.js.map +1 -1
  31. package/dist/types/metadata.d.ts +8 -0
  32. package/dist/types/metadata.d.ts.map +1 -1
  33. package/dist/types/metadata.js +30 -0
  34. package/dist/types/metadata.js.map +1 -1
  35. package/dist/types/sections.d.ts +1 -1
  36. package/dist/types/sections.d.ts.map +1 -1
  37. package/dist/types/sections.js +20 -1
  38. package/dist/types/sections.js.map +1 -1
  39. package/dist/types/template.d.ts +2 -2
  40. package/dist/types/template.d.ts.map +1 -1
  41. package/examples/cover_letter.md +22 -0
  42. package/package.json +1 -1
@@ -0,0 +1,252 @@
1
+ /**
2
+ * Cover Letter Generator
3
+ * Generates HTML for cover letter format matching the CV header style
4
+ */
5
+ import { isSectionValidForFormat } from '../types/sections.js';
6
+ import { PAGE_SIZES, escapeHtml } from './common.js';
7
+ import { markdownToHtml } from './markdown.js';
8
+ /**
9
+ * Generate CSS styles for cover letter
10
+ */
11
+ function generateStyles(paperSize, marginMm, lineHeight) {
12
+ const size = PAGE_SIZES[paperSize];
13
+ const margins = marginMm ?? { top: 25, right: 25, bottom: 25, left: 25 };
14
+ const lh = lineHeight ?? 1.2;
15
+ return `
16
+ :root {
17
+ --cl-font-family: "Noto Serif", "Times New Roman", Times, Georgia, serif;
18
+ --cl-font-size-base: 11pt;
19
+ --cl-font-size-name: 20pt;
20
+ --cl-font-size-title: 11pt;
21
+ --cl-font-size-small: 10pt;
22
+ --cl-line-height: ${lh};
23
+ --cl-color-text: #333;
24
+ --cl-color-heading: #000;
25
+ --cl-color-link: #1a0dab;
26
+ }
27
+ @page {
28
+ size: ${size.width}mm ${size.height}mm;
29
+ margin: ${margins.top}mm ${margins.right}mm ${margins.bottom}mm ${margins.left}mm;
30
+ }
31
+ * { margin: 0; padding: 0; box-sizing: border-box; }
32
+ html { background: #e0e0e0; }
33
+ body {
34
+ font-family: var(--cl-font-family);
35
+ font-size: var(--cl-font-size-base);
36
+ line-height: var(--cl-line-height);
37
+ color: var(--cl-color-text);
38
+ background: #fff;
39
+ width: ${size.width}mm;
40
+ min-height: ${size.height}mm;
41
+ margin: 0 auto;
42
+ padding: ${margins.top}mm ${margins.right}mm ${margins.bottom}mm ${margins.left}mm;
43
+ }
44
+ /* Header: name+title left, contact right */
45
+ .cl-header {
46
+ display: flex;
47
+ justify-content: space-between;
48
+ align-items: flex-start;
49
+ margin-bottom: 8px;
50
+ padding-bottom: 12px;
51
+ border-bottom: 2px solid #000;
52
+ }
53
+ .cl-header-left h1 {
54
+ font-family: "Noto Sans", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
55
+ font-size: var(--cl-font-size-name);
56
+ font-weight: bold;
57
+ color: var(--cl-color-heading);
58
+ margin-bottom: 2px;
59
+ }
60
+ .cl-header-left .cl-job-title {
61
+ font-family: "Noto Sans", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
62
+ font-size: var(--cl-font-size-title);
63
+ color: var(--cl-color-text);
64
+ }
65
+ .cl-header-right {
66
+ text-align: right;
67
+ font-size: var(--cl-font-size-small);
68
+ line-height: 1.6;
69
+ }
70
+ .cl-header-right a {
71
+ color: var(--cl-color-link);
72
+ text-decoration: none;
73
+ }
74
+ .cl-header-right a:hover { text-decoration: underline; }
75
+ /* Date */
76
+ .cl-date {
77
+ text-align: right;
78
+ margin-bottom: 20px;
79
+ font-size: var(--cl-font-size-base);
80
+ }
81
+ /* Recipient */
82
+ .cl-recipient {
83
+ margin-bottom: 16px;
84
+ font-size: var(--cl-font-size-base);
85
+ }
86
+ .cl-recipient p { margin-bottom: 4px; }
87
+ /* Subject */
88
+ .cl-subject {
89
+ font-weight: bold;
90
+ margin-bottom: 16px;
91
+ font-size: var(--cl-font-size-base);
92
+ }
93
+ /* Body */
94
+ .cl-body p {
95
+ margin-bottom: 12px;
96
+ text-align: justify;
97
+ font-size: var(--cl-font-size-base);
98
+ }
99
+ .cl-body ul, .cl-body ol {
100
+ margin-left: 18px;
101
+ margin-bottom: 12px;
102
+ }
103
+ .cl-body li { margin-bottom: 4px; }
104
+ /* Closing */
105
+ .cl-closing {
106
+ margin-top: 24px;
107
+ font-size: var(--cl-font-size-base);
108
+ }
109
+ .cl-closing .cl-sign-off { margin-bottom: 24px; }
110
+ .cl-closing .cl-signature { font-weight: normal; }
111
+ /* Markdown inline styles */
112
+ strong, b { font-weight: bold; }
113
+ em, i { font-style: italic; }
114
+ a { color: var(--cl-color-link); text-decoration: underline; }
115
+ @media print {
116
+ html { background: none; }
117
+ body { width: auto; min-height: auto; padding: 0; }
118
+ }
119
+ `;
120
+ }
121
+ /**
122
+ * Render contact info block (right-aligned)
123
+ */
124
+ function renderContactBlock(cv) {
125
+ const lines = [];
126
+ if (cv.metadata.home_address) {
127
+ lines.push(escapeHtml(cv.metadata.home_address));
128
+ }
129
+ if (cv.metadata.phone_number) {
130
+ lines.push(escapeHtml(cv.metadata.phone_number));
131
+ }
132
+ if (cv.metadata.email_address) {
133
+ lines.push(`<a href="mailto:${escapeHtml(cv.metadata.email_address)}">${escapeHtml(cv.metadata.email_address)}</a>`);
134
+ }
135
+ if (cv.metadata.linkedin) {
136
+ const url = cv.metadata.linkedin;
137
+ // Show short display text
138
+ const display = url.replace(/^https?:\/\/(www\.)?/, '').replace(/\/$/, '');
139
+ lines.push(`<a href="${escapeHtml(url)}">${escapeHtml(display)}</a>`);
140
+ }
141
+ return lines.join('<br>');
142
+ }
143
+ /**
144
+ * Format the date for the cover letter
145
+ */
146
+ function formatLetterDate(dateStr) {
147
+ if (dateStr)
148
+ return escapeHtml(dateStr);
149
+ // Default to current date
150
+ const now = new Date();
151
+ return now.toLocaleDateString('en-US', {
152
+ year: 'numeric',
153
+ month: 'long',
154
+ day: 'numeric',
155
+ });
156
+ }
157
+ /**
158
+ * Extract body content from sections
159
+ * The cover letter body comes from the first section (typically "Cover Letter" or "Body")
160
+ */
161
+ function extractBodyHtml(cv) {
162
+ // Only use sections valid for cover_letter format
163
+ const sections = cv.sections.filter((s) => isSectionValidForFormat(s.id, 'cover_letter'));
164
+ const parts = [];
165
+ for (const section of sections) {
166
+ if (section.content.type === 'text') {
167
+ parts.push(markdownToHtml(section.content.text));
168
+ }
169
+ else if (section.content.type === 'mixed') {
170
+ for (const part of section.content.parts) {
171
+ if (part.type === 'paragraph') {
172
+ parts.push(markdownToHtml(part.text));
173
+ }
174
+ else if (part.type === 'list') {
175
+ parts.push('<ul>' +
176
+ part.items
177
+ .map((item) => `<li>${markdownToHtml(item)}</li>`)
178
+ .join('') +
179
+ '</ul>');
180
+ }
181
+ }
182
+ }
183
+ else if (section.content.type === 'composite') {
184
+ for (const block of section.content.blocks) {
185
+ if (block.type === 'markdown') {
186
+ parts.push(markdownToHtml(block.content));
187
+ }
188
+ }
189
+ }
190
+ }
191
+ return parts.join('\n');
192
+ }
193
+ /**
194
+ * Generate cover letter HTML
195
+ */
196
+ export function generateCoverLetterHtml(cv, options) {
197
+ const styles = generateStyles(options.paperSize, options.marginMm, options.lineHeight);
198
+ const name = cv.metadata.name;
199
+ const jobTitle = cv.metadata.job_title ?? '';
200
+ const contactHtml = renderContactBlock(cv);
201
+ const dateStr = formatLetterDate(cv.metadata.date);
202
+ const recipientName = cv.metadata.recipient_name ?? 'Hiring Manager';
203
+ const recipientCompany = cv.metadata.recipient_company ?? '';
204
+ const subject = cv.metadata.subject ?? '';
205
+ const bodyHtml = extractBodyHtml(cv);
206
+ const customStylesHtml = options.customStylesheet
207
+ ? `<style class="custom-styles">${options.customStylesheet}</style>`
208
+ : '';
209
+ const headerSourceLineAttr = cv.frontmatterSourceLines
210
+ ? ` data-source-line="${cv.frontmatterSourceLines.startLine}" data-source-end-line="${cv.frontmatterSourceLines.endLine}"`
211
+ : '';
212
+ return `<!DOCTYPE html>
213
+ <html lang="en">
214
+ <head>
215
+ <meta charset="UTF-8">
216
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
217
+ <title>${escapeHtml(name)} - Cover Letter</title>
218
+ <style class="default-styles">${styles}</style>
219
+ ${customStylesHtml}
220
+ </head>
221
+ <body class="cover-letter">
222
+ <header class="cl-header"${headerSourceLineAttr}>
223
+ <div class="cl-header-left">
224
+ <h1>${escapeHtml(name)}</h1>
225
+ ${jobTitle ? `<div class="cl-job-title">${escapeHtml(jobTitle)}</div>` : ''}
226
+ </div>
227
+ <div class="cl-header-right">
228
+ ${contactHtml}
229
+ </div>
230
+ </header>
231
+
232
+ <div class="cl-date">${dateStr}</div>
233
+
234
+ <div class="cl-recipient">
235
+ <p>Dear ${escapeHtml(recipientName)},</p>
236
+ ${recipientCompany ? `<p>${escapeHtml(recipientCompany)}</p>` : ''}
237
+ </div>
238
+
239
+ ${subject ? `<div class="cl-subject">Re: ${escapeHtml(subject)}</div>` : ''}
240
+
241
+ <div class="cl-body">
242
+ ${bodyHtml}
243
+ </div>
244
+
245
+ <div class="cl-closing">
246
+ <p class="cl-sign-off">Sincerely,</p>
247
+ <p class="cl-signature">${escapeHtml(name)}</p>
248
+ </div>
249
+ </body>
250
+ </html>`;
251
+ }
252
+ //# sourceMappingURL=cover_letter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cover_letter.js","sourceRoot":"","sources":["../../src/generator/cover_letter.ts"],"names":[],"mappings":"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"}
@@ -5,10 +5,11 @@
5
5
  import type { Logger } from '../cli/index.js';
6
6
  import type { PaperSize, ResolvedConfig } from '../types/config.js';
7
7
  import type { CVInput } from './common.js';
8
+ import { generateCoverLetterHtml } from './cover_letter.js';
8
9
  import { generateEnHtml } from './resume_en.js';
9
10
  import { generateJaHtml } from './resume_ja.js';
10
11
  import { generateRirekishoHTML } from './rirekisho/index.js';
11
- export { generateEnHtml, generateJaHtml, generateRirekishoHTML };
12
+ export { generateCoverLetterHtml, generateEnHtml, generateJaHtml, generateRirekishoHTML, };
12
13
  export { inlineMarkdownToHtml, markdownToHtml } from './markdown.js';
13
14
  /**
14
15
  * Page size dimensions in mm (portrait orientation for CV)
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAMV,SAAS,EACT,cAAc,EACf,MAAM,oBAAoB,CAAC;AAM5B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAG7D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAAC;AAGjE,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAErE;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAOzE,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CACvC,SAAS,EACT;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAOlC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAMnD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,SAAS,MAAM,EAE5B,CAAC;AAE7B;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAY5D;AASD;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO/C;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACjD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,mBAAmB,GAAG,IAAI,GAAG,IAAI,CAgBnE;AA0PD;;GAEG;AACH,wBAAsB,cAAc,CAClC,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,EAAE,CAAC,CA6FnB;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAMV,SAAS,EACT,cAAc,EACf,MAAM,oBAAoB,CAAC;AAM5B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAG7D,OAAO,EACL,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,qBAAqB,GACtB,CAAC;AAGF,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAErE;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAOzE,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CACvC,SAAS,EACT;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAOlC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAMnD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,SAAS,MAAM,EAE5B,CAAC;AAE7B;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAY5D;AASD;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO/C;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACjD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,mBAAmB,GAAG,IAAI,GAAG,IAAI,CAgBnE;AA4PD;;GAEG;AACH,wBAAsB,cAAc,CAClC,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,EAAE,CAAC,CA+GnB;AAED,eAAe,cAAc,CAAC"}
@@ -6,11 +6,12 @@ import * as fs from 'fs';
6
6
  import * as path from 'path';
7
7
  import puppeteer from 'puppeteer';
8
8
  import { findSectionByTag, isSectionValidForFormat, } from '../types/sections.js';
9
+ import { generateCoverLetterHtml } from './cover_letter.js';
9
10
  import { generateEnHtml } from './resume_en.js';
10
11
  import { generateJaHtml } from './resume_ja.js';
11
12
  import { generateRirekishoHTML } from './rirekisho/index.js';
12
13
  // Re-export generators
13
- export { generateEnHtml, generateJaHtml, generateRirekishoHTML };
14
+ export { generateCoverLetterHtml, generateEnHtml, generateJaHtml, generateRirekishoHTML, };
14
15
  // Re-export markdown utilities
15
16
  export { inlineMarkdownToHtml, markdownToHtml } from './markdown.js';
16
17
  /**
@@ -211,7 +212,7 @@ function filterAndOrderSections(sections, format, logger, sectionOrder) {
211
212
  * Note: chronologicalOrder is not yet implemented for CV format.
212
213
  * CV format currently uses the order as defined in the markdown file.
213
214
  */
214
- function generateHtml(cv, paperSize, sectionOrder, logger, customStylesheet, marginMm) {
215
+ function generateHtml(cv, paperSize, sectionOrder, logger, customStylesheet, marginMm, lineHeight) {
215
216
  const language = detectLanguage(cv);
216
217
  // Filter and order sections if logger is provided
217
218
  let sections = cv.sections;
@@ -223,6 +224,7 @@ function generateHtml(cv, paperSize, sectionOrder, logger, customStylesheet, mar
223
224
  paperSize,
224
225
  ...(customStylesheet && { customStylesheet }),
225
226
  ...(marginMm && { marginMm }),
227
+ ...(lineHeight && { lineHeight }),
226
228
  };
227
229
  if (language === 'ja') {
228
230
  return generateJaHtml(filteredCv, options);
@@ -260,8 +262,8 @@ async function generatePDF(html, paperSize, isRirekisho, marginMm) {
260
262
  };
261
263
  }
262
264
  else {
263
- // CV defaults to 30mm margins, but can be overridden
264
- const margins = marginMm ?? { top: 30, right: 30, bottom: 30, left: 30 };
265
+ // CV defaults to 25mm margins, but can be overridden
266
+ const margins = marginMm ?? { top: 25, right: 25, bottom: 25, left: 25 };
265
267
  pdfOptions = {
266
268
  width: `${size.width}mm`,
267
269
  height: `${size.height}mm`,
@@ -296,6 +298,11 @@ export async function generateOutput(cv, config, logger) {
296
298
  }
297
299
  for (const format of formats) {
298
300
  logger.debug(`Generating ${format}...`);
301
+ // Parse line_height from metadata
302
+ const lineHeight = cv.metadata.line_height
303
+ ? parseFloat(cv.metadata.line_height)
304
+ : undefined;
305
+ const validLineHeight = lineHeight && !isNaN(lineHeight) ? lineHeight : undefined;
299
306
  // Determine chronological order
300
307
  // rirekisho always uses 'asc' (oldest first), cv uses config value or defaults to 'desc'
301
308
  const chronologicalOrder = format === 'rirekisho' ? 'asc' : (config.chronologicalOrder ?? 'desc');
@@ -330,11 +337,23 @@ export async function generateOutput(cv, config, logger) {
330
337
  ...(customStylesheet !== undefined && { customStylesheet }),
331
338
  });
332
339
  }
340
+ else if (format === 'cover_letter') {
341
+ html = generateCoverLetterHtml(cv, {
342
+ paperSize: config.paperSize,
343
+ ...(customStylesheet && { customStylesheet }),
344
+ ...(config.marginMm && { marginMm: config.marginMm }),
345
+ ...(validLineHeight && { lineHeight: validLineHeight }),
346
+ });
347
+ }
333
348
  else {
334
- html = generateHtml(cv, config.paperSize, config.sectionOrder, logger, customStylesheet, config.marginMm);
349
+ html = generateHtml(cv, config.paperSize, config.sectionOrder, logger, customStylesheet, config.marginMm, validLineHeight);
335
350
  }
336
351
  const baseName = path.basename(config.output);
337
- const suffix = format === 'rirekisho' ? '_rirekisho' : '_cv';
352
+ const suffixMap = {
353
+ rirekisho: '_rirekisho',
354
+ cover_letter: '_cover_letter',
355
+ };
356
+ const suffix = suffixMap[format] ?? '_cv';
338
357
  for (const outputType of outputTypes) {
339
358
  const ext = outputType === 'pdf' ? '.pdf' : '.html';
340
359
  const outputPath = path.join(outputDir, `${baseName}${suffix}${ext}`);
@@ -342,7 +361,7 @@ export async function generateOutput(cv, config, logger) {
342
361
  fs.writeFileSync(outputPath, html, 'utf-8');
343
362
  }
344
363
  else {
345
- const pdfBuffer = await generatePDF(html, config.paperSize, format === 'rirekisho', config.marginMm);
364
+ const pdfBuffer = await generatePDF(html, config.paperSize, format === 'rirekisho', format !== 'rirekisho' ? config.marginMm : undefined);
346
365
  fs.writeFileSync(outputPath, pdfBuffer);
347
366
  }
348
367
  generatedFiles.push(outputPath);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"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"}
@@ -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,EAA0B,MAAM,oBAAoB,CAAC;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAQ3C,YAAY,EAAE,OAAO,EAAE,CAAC;AA2RxB;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,GAAG,MAAM,CAiDtE"}
1
+ {"version":3,"file":"resume_en.d.ts","sourceRoot":"","sources":["../../src/generator/resume_en.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAA0B,MAAM,oBAAoB,CAAC;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAQ3C,YAAY,EAAE,OAAO,EAAE,CAAC;AA+SxB;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,GAAG,MAAM,CAqDtE"}
@@ -6,10 +6,11 @@ import { PAGE_SIZES, enLocale, escapeHtml, renderSectionContent, } from './commo
6
6
  /**
7
7
  * Generate base CSS styles for English CV
8
8
  */
9
- function generateStyles(paperSize, marginMm) {
9
+ function generateStyles(paperSize, marginMm, lineHeight) {
10
10
  const size = PAGE_SIZES[paperSize];
11
- // Default to 30mm margins if not specified
12
- const margins = marginMm ?? { top: 30, right: 30, bottom: 30, left: 30 };
11
+ // Default to 25mm margins if not specified
12
+ const margins = marginMm ?? { top: 25, right: 25, bottom: 25, left: 25 };
13
+ const lh = lineHeight ?? 1.4;
13
14
  return `
14
15
  :root {
15
16
  --cv-font-family: "Noto Serif", "Times New Roman", Times, Georgia, serif;
@@ -18,7 +19,7 @@ function generateStyles(paperSize, marginMm) {
18
19
  --cv-font-size-section: 12pt;
19
20
  --cv-font-size-small: 10pt;
20
21
  --cv-font-size-xs: 9pt;
21
- --cv-line-height: 1.4;
22
+ --cv-line-height: ${lh};
22
23
  --cv-color-text: #333;
23
24
  --cv-color-heading: #000;
24
25
  --cv-color-muted: #555;
@@ -69,16 +70,15 @@ function generateStyles(paperSize, marginMm) {
69
70
  color: var(--cv-color-text);
70
71
  text-decoration: none;
71
72
  }
73
+ .contact-info a.contact-link {
74
+ color: #0066cc;
75
+ }
72
76
  .contact-info a:hover {
73
77
  text-decoration: underline;
74
78
  }
75
79
  section {
76
80
  margin-bottom: var(--cv-spacing-section);
77
81
  }
78
- .entry {
79
- page-break-inside: avoid;
80
- break-inside: avoid;
81
- }
82
82
  h2 {
83
83
  font-size: var(--cv-font-size-section);
84
84
  font-weight: bold;
@@ -87,8 +87,6 @@ function generateStyles(paperSize, marginMm) {
87
87
  padding-bottom: 2px;
88
88
  margin-bottom: 8px;
89
89
  color: var(--cv-color-heading);
90
- page-break-after: avoid;
91
- break-after: avoid;
92
90
  }
93
91
  .entry {
94
92
  margin-bottom: var(--cv-spacing-entry);
@@ -103,6 +101,9 @@ function generateStyles(paperSize, marginMm) {
103
101
  font-weight: bold;
104
102
  color: var(--cv-color-heading);
105
103
  }
104
+ .cv-section--education .entry-title {
105
+ font-weight: normal;
106
+ }
106
107
  .entry-subtitle {
107
108
  font-style: italic;
108
109
  color: var(--cv-color-text);
@@ -119,6 +120,11 @@ function generateStyles(paperSize, marginMm) {
119
120
  .entry-summary {
120
121
  margin-top: 3px;
121
122
  font-size: var(--cv-font-size-small);
123
+ text-align: justify;
124
+ text-align-last: left;
125
+ }
126
+ .entry-summary p {
127
+ margin-bottom: 4px;
122
128
  }
123
129
  ul {
124
130
  margin-left: 18px;
@@ -127,10 +133,14 @@ function generateStyles(paperSize, marginMm) {
127
133
  li {
128
134
  margin-bottom: 2px;
129
135
  font-size: var(--cv-font-size-small);
136
+ text-align: justify;
137
+ text-align-last: left;
130
138
  }
131
139
  p {
132
140
  margin-bottom: 6px;
133
141
  font-size: var(--cv-font-size-small);
142
+ text-align: justify;
143
+ text-align-last: left;
134
144
  }
135
145
  .role {
136
146
  margin-bottom: 8px;
@@ -139,14 +149,16 @@ function generateStyles(paperSize, marginMm) {
139
149
  display: flex;
140
150
  justify-content: space-between;
141
151
  align-items: baseline;
152
+ page-break-after: avoid;
153
+ break-after: avoid;
142
154
  }
143
155
  .role-title {
144
- font-weight: 500;
156
+ font-weight: bold;
145
157
  color: var(--cv-color-heading);
146
158
  font-size: var(--cv-font-size-small);
147
159
  }
148
160
  .role-team {
149
- font-weight: normal;
161
+ font-weight: bold;
150
162
  font-style: normal;
151
163
  color: var(--cv-color-text);
152
164
  }
@@ -161,6 +173,7 @@ function generateStyles(paperSize, marginMm) {
161
173
  .competency-entry {
162
174
  margin-bottom: 4px;
163
175
  font-size: var(--cv-font-size-small);
176
+ text-align: justify;
164
177
  }
165
178
  .competency-header {
166
179
  font-weight: bold;
@@ -268,7 +281,10 @@ function renderContactInfo(cv) {
268
281
  }
269
282
  if (cv.metadata.linkedin) {
270
283
  const linkedinUrl = cv.metadata.linkedin;
271
- parts.push(`<a href="${escapeHtml(linkedinUrl)}">${escapeHtml(linkedinUrl)}</a>`);
284
+ const display = linkedinUrl
285
+ .replace(/^https?:\/\/(www\.)?/, '')
286
+ .replace(/\/$/, '');
287
+ parts.push(`<a href="${escapeHtml(linkedinUrl)}" class="contact-link">${escapeHtml(display)}</a>`);
272
288
  }
273
289
  return parts.join(' | ');
274
290
  }
@@ -276,7 +292,7 @@ function renderContactInfo(cv) {
276
292
  * Generate English HTML CV
277
293
  */
278
294
  export function generateEnHtml(cv, options) {
279
- const styles = generateStyles(options.paperSize, options.marginMm);
295
+ const styles = generateStyles(options.paperSize, options.marginMm, options.lineHeight);
280
296
  const name = cv.metadata.name;
281
297
  const contactHtml = renderContactInfo(cv);
282
298
  // Use sections in the order provided (already filtered and ordered by generator/index.ts)
@@ -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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"}
@@ -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,EAA0B,MAAM,oBAAoB,CAAC;AAG5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAQ3C,YAAY,EAAE,OAAO,EAAE,CAAC;AA0QxB;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,GAAG,MAAM,CAkDtE"}
1
+ {"version":3,"file":"resume_ja.d.ts","sourceRoot":"","sources":["../../src/generator/resume_ja.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAA0B,MAAM,oBAAoB,CAAC;AAG5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAQ3C,YAAY,EAAE,OAAO,EAAE,CAAC;AA2RxB;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,GAAG,MAAM,CAsDtE"}