md2cv 1.1.1 → 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.
Files changed (93) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.ja.md +69 -1
  3. package/README.md +77 -11
  4. package/dist/cli/index.d.ts +17 -1
  5. package/dist/cli/index.d.ts.map +1 -1
  6. package/dist/cli/index.js +140 -34
  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 +65 -41
  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 -319
  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 +18 -260
  23. package/dist/generator/resume_ja.js.map +1 -1
  24. package/dist/generator/rirekisho/components.d.ts.map +1 -1
  25. package/dist/generator/rirekisho/components.js +1 -1
  26. package/dist/generator/rirekisho/components.js.map +1 -1
  27. package/dist/generator/rirekisho/index.js.map +1 -1
  28. package/dist/generator/rirekisho/layout.d.ts.map +1 -1
  29. package/dist/generator/rirekisho/layout.js +16 -7
  30. package/dist/generator/rirekisho/layout.js.map +1 -1
  31. package/dist/generator/rirekisho/styles.d.ts.map +1 -1
  32. package/dist/generator/rirekisho/styles.js +9 -14
  33. package/dist/generator/rirekisho/styles.js.map +1 -1
  34. package/dist/generator/rirekisho/types.d.ts +2 -2
  35. package/dist/generator/rirekisho/types.d.ts.map +1 -1
  36. package/dist/index.d.ts +3 -1
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +3 -1
  39. package/dist/index.js.map +1 -1
  40. package/dist/parser/index.d.ts.map +1 -1
  41. package/dist/parser/index.js +224 -107
  42. package/dist/parser/index.js.map +1 -1
  43. package/dist/parser/lsp.d.ts +58 -0
  44. package/dist/parser/lsp.d.ts.map +1 -0
  45. package/dist/parser/lsp.js +265 -0
  46. package/dist/parser/lsp.js.map +1 -0
  47. package/dist/template/definitions/en.d.ts +17 -0
  48. package/dist/template/definitions/en.d.ts.map +1 -0
  49. package/dist/template/definitions/en.js +204 -0
  50. package/dist/template/definitions/en.js.map +1 -0
  51. package/dist/template/definitions/index.d.ts +6 -0
  52. package/dist/template/definitions/index.d.ts.map +1 -0
  53. package/dist/template/definitions/index.js +6 -0
  54. package/dist/template/definitions/index.js.map +1 -0
  55. package/dist/template/definitions/ja.d.ts +17 -0
  56. package/dist/template/definitions/ja.d.ts.map +1 -0
  57. package/dist/template/definitions/ja.js +243 -0
  58. package/dist/template/definitions/ja.js.map +1 -0
  59. package/dist/template/generator.d.ts +61 -0
  60. package/dist/template/generator.d.ts.map +1 -0
  61. package/dist/template/generator.js +219 -0
  62. package/dist/template/generator.js.map +1 -0
  63. package/dist/template/index.d.ts +6 -0
  64. package/dist/template/index.d.ts.map +1 -0
  65. package/dist/template/index.js +6 -0
  66. package/dist/template/index.js.map +1 -0
  67. package/dist/types/config.d.ts +126 -15
  68. package/dist/types/config.d.ts.map +1 -1
  69. package/dist/types/config.js +94 -1
  70. package/dist/types/config.js.map +1 -1
  71. package/dist/types/index.d.ts +2 -0
  72. package/dist/types/index.d.ts.map +1 -1
  73. package/dist/types/index.js +2 -0
  74. package/dist/types/index.js.map +1 -1
  75. package/dist/types/position.d.ts +42 -0
  76. package/dist/types/position.d.ts.map +1 -0
  77. package/dist/types/position.js +32 -0
  78. package/dist/types/position.js.map +1 -0
  79. package/dist/types/result.d.ts.map +1 -1
  80. package/dist/types/result.js.map +1 -1
  81. package/dist/types/sections.d.ts +39 -24
  82. package/dist/types/sections.d.ts.map +1 -1
  83. package/dist/types/sections.js +30 -2
  84. package/dist/types/sections.js.map +1 -1
  85. package/dist/types/template.d.ts +68 -0
  86. package/dist/types/template.d.ts.map +1 -0
  87. package/dist/types/template.js +12 -0
  88. package/dist/types/template.js.map +1 -0
  89. package/dist/validator/index.d.ts.map +1 -1
  90. package/dist/validator/index.js +1 -2
  91. package/dist/validator/index.js.map +1 -1
  92. package/examples/example-cv-ja.md +1 -1
  93. package/package.json +53 -5
package/CHANGELOG.md CHANGED
@@ -5,6 +5,27 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.4.0](https://github.com/yuyash/md2cv/compare/v1.3.0...v1.4.0) (2025-12-31)
9
+
10
+
11
+ ### Features
12
+
13
+ * add husky/lint-staged and refactor generators ([#23](https://github.com/yuyash/md2cv/issues/23)) ([32bf4d0](https://github.com/yuyash/md2cv/commit/32bf4d072b36e8a5bacde499dcb723485e66094e))
14
+
15
+ ## [1.3.0](https://github.com/yuyash/md2cv/compare/v1.2.0...v1.3.0) (2025-12-31)
16
+
17
+
18
+ ### Features
19
+
20
+ * add subpath exports and improve generator ([#17](https://github.com/yuyash/md2cv/issues/17)) ([8f4b0ea](https://github.com/yuyash/md2cv/commit/8f4b0ea9ab80696c3891aab32f65281bfbf4d457))
21
+
22
+ ## [1.2.0](https://github.com/yuyash/md2cv/compare/v1.1.1...v1.2.0) (2025-12-28)
23
+
24
+
25
+ ### Features
26
+
27
+ * add init command for template generation ([#14](https://github.com/yuyash/md2cv/issues/14)) ([bdf4749](https://github.com/yuyash/md2cv/commit/bdf4749226b7d3424fbc1c2398bbb6e1c2097e87))
28
+
8
29
  ## [1.1.1](https://github.com/yuyash/md2cv/compare/v1.1.0...v1.1.1) (2025-12-28)
9
30
 
10
31
 
package/README.ja.md CHANGED
@@ -26,6 +26,35 @@ npx md2cv -i your-cv.md
26
26
 
27
27
  ## 使い方
28
28
 
29
+ ### テンプレートでクイックスタート
30
+
31
+ テンプレートを生成して簡単に始められます:
32
+
33
+ ```bash
34
+ # 英語の CV テンプレートを生成
35
+ md2cv init -l en -f cv -o my-cv.md
36
+
37
+ # 日本語の履歴書テンプレートを生成
38
+ md2cv init -l ja -f rirekisho -o my-rirekisho.md
39
+
40
+ # 両方のフォーマット用テンプレートを生成
41
+ md2cv init -l ja -f both -o my-resume.md
42
+
43
+ # 説明コメントなしでテンプレートを生成
44
+ md2cv init -l ja -f cv --no-comments -o my-cv.md
45
+
46
+ # 標準出力にテンプレートを出力
47
+ md2cv init -l ja -f cv
48
+
49
+ # 利用可能なテンプレート一覧を表示
50
+ md2cv init --list-templates
51
+
52
+ # 特定フォーマットの利用可能なセクション一覧を表示
53
+ md2cv init -l ja -f cv --list-sections
54
+ ```
55
+
56
+ ### CV/履歴書の生成
57
+
29
58
  基本的な使用例:
30
59
 
31
60
  ```bash
@@ -66,7 +95,39 @@ md2cv -i examples/example-cv-ja.md --stylesheet custom.css
66
95
  md2cv -i examples/example-cv-ja.md --verbose
67
96
  ```
68
97
 
69
- ## CLI オプション
98
+ ## CLI コマンド
99
+
100
+ md2cv は2つのコマンドを提供します:
101
+
102
+ ### generate(デフォルト)
103
+
104
+ Markdown ファイルから CV/履歴書を生成します。デフォルトコマンドです。
105
+
106
+ ```bash
107
+ md2cv generate -i input.md [options]
108
+ md2cv -i input.md [options] # 'generate' は省略可能
109
+ ```
110
+
111
+ ### init
112
+
113
+ テンプレートを生成して簡単に始められます。
114
+
115
+ ```bash
116
+ md2cv init [options]
117
+ ```
118
+
119
+ | オプション | 説明 | デフォルト |
120
+ | ------------------- | ------------------------------------------------ | ---------- |
121
+ | `-o, --output` | 出力ファイルパス(デフォルト: 標準出力) | 標準出力 |
122
+ | `-l, --lang` | テンプレート言語(`en`, `ja`) | `en` |
123
+ | `-f, --format` | 出力フォーマット(`cv`, `rirekisho`, `both`) | `cv` |
124
+ | `--no-comments` | テンプレートから説明コメントを除外 | - |
125
+ | `--list-templates` | 利用可能なテンプレートと詳細を表示 | - |
126
+ | `--list-sections` | 指定フォーマットの利用可能なセクションを表示 | - |
127
+
128
+ ## generate オプション
129
+
130
+ `generate` コマンドで使用できるオプション:
70
131
 
71
132
  | オプション | 説明 | デフォルト |
72
133
  | -------------------------- | ---------------------------------------------------------------------------------------------- | --------------- |
@@ -336,6 +397,13 @@ if (result.ok) {
336
397
  }
337
398
  ```
338
399
 
400
+ ## 開発
401
+
402
+ プロジェクト構造、テスト、コントリビューションについては [DEVELOPMENT.md](DEVELOPMENT.md) を参照してください。
403
+
404
+ [![Coverage](https://img.shields.io/endpoint?url=https://yuyash.github.io/md2cv/badge.json)](https://yuyash.github.io/md2cv/)
405
+ [![CI](https://github.com/yuyash/md2cv/actions/workflows/ci.yml/badge.svg)](https://github.com/yuyash/md2cv/actions/workflows/ci.yml)
406
+
339
407
  ## ライセンス
340
408
 
341
409
  このプロジェクトは GNU General Public License v3.0 (GPL-3.0) の下でライセンスされています。このソフトウェアは自由に使用、変更、配布できますが、派生物も同じライセンスの下で配布する必要があります。詳細は [LICENSE](LICENSE) ファイルを参照してください。
package/README.md CHANGED
@@ -26,6 +26,35 @@ npx md2cv -i your-cv.md
26
26
 
27
27
  ## Usage
28
28
 
29
+ ### Quick Start with Templates
30
+
31
+ The easiest way to get started is to generate a template:
32
+
33
+ ```bash
34
+ # Generate an English CV template
35
+ md2cv init -l en -f cv -o my-cv.md
36
+
37
+ # Generate a Japanese rirekisho template
38
+ md2cv init -l ja -f rirekisho -o my-rirekisho.md
39
+
40
+ # Generate a template for both formats
41
+ md2cv init -l en -f both -o my-resume.md
42
+
43
+ # Generate template without explanatory comments
44
+ md2cv init -l en -f cv --no-comments -o my-cv.md
45
+
46
+ # Output template to stdout
47
+ md2cv init -l ja -f cv
48
+
49
+ # List available templates
50
+ md2cv init --list-templates
51
+
52
+ # List available sections for a specific format
53
+ md2cv init -l en -f cv --list-sections
54
+ ```
55
+
56
+ ### Generating CV/Resume
57
+
29
58
  Here are some common examples to get you started:
30
59
 
31
60
  ```bash
@@ -66,9 +95,39 @@ md2cv -i examples/example-cv-en.md --stylesheet custom.css
66
95
  md2cv -i examples/example-cv-en.md --verbose
67
96
  ```
68
97
 
69
- ## CLI Options
98
+ ## CLI Commands
99
+
100
+ md2cv provides two commands:
101
+
102
+ ### generate (default)
103
+
104
+ Generate CV/resume from a markdown file. This is the default command.
105
+
106
+ ```bash
107
+ md2cv generate -i input.md [options]
108
+ md2cv -i input.md [options] # 'generate' can be omitted
109
+ ```
110
+
111
+ ### init
112
+
113
+ Generate a markdown template to help you get started.
114
+
115
+ ```bash
116
+ md2cv init [options]
117
+ ```
118
+
119
+ | Option | Description | Default |
120
+ | ------------------- | ------------------------------------------------ | ------- |
121
+ | `-o, --output` | Output file path (default: stdout) | stdout |
122
+ | `-l, --lang` | Template language (`en`, `ja`) | `en` |
123
+ | `-f, --format` | Output format (`cv`, `rirekisho`, `both`) | `cv` |
124
+ | `--no-comments` | Exclude explanatory comments from template | - |
125
+ | `--list-templates` | List available templates and their details | - |
126
+ | `--list-sections` | List available sections for the specified format | - |
127
+
128
+ ## Generate Options
70
129
 
71
- The following options are available to customize the output:
130
+ The following options are available for the `generate` command:
72
131
 
73
132
  | Option | Description | Default |
74
133
  | -------------------------- | ---------------------------------------------------------------------------------------------------------------- | --------------- |
@@ -271,15 +330,15 @@ Available to start immediately. Open to relocation.
271
330
 
272
331
  | Section ID | Supported Tags | Format |
273
332
  | -------------- | --------------------------------------------------------------------------------- | --------- |
274
- | `summary` | 概要, 職務要約, Summary, Professional Summary, Profile, Executive Summary | CV |
275
- | `experience` | 職歴, 職務経歴, Experience, Work Experience, Professional Experience | Both |
276
- | `education` | 学歴, Education | Both |
277
- | `skills` | スキル, Skills, Technical Skills | Both |
278
- | `certifications` | 免許・資格, 資格, 免許, Certifications | Both |
279
- | `languages` | 語学, Languages, Language Skills | CV |
280
- | `competencies` | 自己PR, Core Competencies, Key Competencies, Superpowers | Both |
281
- | `motivation` | 志望動機, 志望の動機, Motivation | Rirekisho |
282
- | `notes` | 本人希望記入欄, Notes | Rirekisho |
333
+ | `summary` | Summary, Professional Summary, Profile, Executive Summary, 概要, 職務要約 | CV |
334
+ | `experience` | Experience, Work Experience, Professional Experience, 職歴, 職務経歴 | Both |
335
+ | `education` | Education, 学歴 | Both |
336
+ | `skills` | Skills, Technical Skills, スキル | Both |
337
+ | `certifications` | Certifications, 免許・資格, 資格, 免許. | Both |
338
+ | `languages` | Languages, Language Skills語学 | CV |
339
+ | `competencies` | Core Competencies, Key Competencies, Superpowers, 自己PR | Both |
340
+ | `motivation` | Motivation, 志望動機, 志望の動機 | Rirekisho |
341
+ | `notes` | Notes, 本人希望記入欄 | Rirekisho |
283
342
 
284
343
  ## Configuration File
285
344
 
@@ -333,6 +392,13 @@ if (result.ok) {
333
392
  }
334
393
  ```
335
394
 
395
+ ## Development
396
+
397
+ For information about project structure, testing, and contributing, see [DEVELOPMENT.md](DEVELOPMENT.md).
398
+
399
+ [![Coverage](https://img.shields.io/endpoint?url=https://yuyash.github.io/md2cv/badge.json)](https://yuyash.github.io/md2cv/)
400
+ [![CI](https://github.com/yuyash/md2cv/actions/workflows/ci.yml/badge.svg)](https://github.com/yuyash/md2cv/actions/workflows/ci.yml)
401
+
336
402
  ## License
337
403
 
338
404
  This project is licensed under the GNU General Public License v3.0 (GPL-3.0). This means you are free to use, modify, and distribute this software, provided that any derivative works are also distributed under the same license. For more details, see the [LICENSE](LICENSE) file.
@@ -3,7 +3,8 @@
3
3
  * Command-line argument parsing and execution
4
4
  */
5
5
  import { Command } from 'commander';
6
- import type { CLIOptions, ConfigFile, LogFormat, ResolvedConfig } from '../types/config.js';
6
+ import type { CLIOptions, ConfigFile, LogFormat, OutputFormat, ResolvedConfig } from '../types/config.js';
7
+ import type { TemplateLanguage } from '../types/template.js';
7
8
  /**
8
9
  * Logger interface (compatible with pino)
9
10
  */
@@ -37,6 +38,21 @@ export declare function resolveConfig(cliOptions: CLIOptions): ResolvedConfig;
37
38
  * Main CLI execution
38
39
  */
39
40
  export declare function runCLI(options: CLIOptions): Promise<void>;
41
+ /**
42
+ * Init command options
43
+ */
44
+ export interface InitOptions {
45
+ readonly language: TemplateLanguage;
46
+ readonly format: OutputFormat;
47
+ readonly output?: string;
48
+ readonly noComments: boolean;
49
+ readonly listTemplates: boolean;
50
+ readonly listSections: boolean;
51
+ }
52
+ /**
53
+ * Run init command to generate template
54
+ */
55
+ export declare function runInit(options: InitOptions): string;
40
56
  /**
41
57
  * Create CLI program
42
58
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,OAAO,KAAK,EAER,UAAU,EACV,UAAU,EACV,SAAS,EAIT,cAAc,EACjB,MAAM,oBAAoB,CAAC;AAsC5B;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,GAAE,SAAkB,GAAG,MAAM,CA4BlF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAe7D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CA4CrF;AA4CD;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,cAAc,CA4CpE;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAwC/D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAiE1C;AAED;;GAEG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAG1C;AAED,OAAO,EAAE,OAAO,EAAE,CAAC;AAEf,YAAY,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC,OAAO,KAAK,EACV,UAAU,EAEV,UAAU,EACV,SAAS,EACT,YAAY,EAGZ,cAAc,EACf,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,gBAAgB,EAAmB,MAAM,sBAAsB,CAAC;AA2C9E;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,OAAO,EACd,SAAS,GAAE,SAAkB,GAC5B,MAAM,CA4BR;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAiB7D;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,GACf,IAAI,CAkDN;AA4CD;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,cAAc,CAwDpE;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA+C/D;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAmCpD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAqK1C;AAED;;GAEG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAG1C;AAED,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB,YAAY,EAAE,UAAU,EAAE,CAAC"}
package/dist/cli/index.js CHANGED
@@ -11,6 +11,8 @@ import { fileURLToPath } from 'url';
11
11
  import { parse as parseYaml } from 'yaml';
12
12
  import { generateOutput } from '../generator/index.js';
13
13
  import { parseMarkdown } from '../parser/index.js';
14
+ import { formatSectionList, formatTemplateList, generateTemplate, getAvailableLanguages, isValidLanguage, } from '../template/index.js';
15
+ import { GENERATE_OPTIONS, INIT_OPTIONS } from '../types/config.js';
14
16
  import { METADATA_FIELDS } from '../types/metadata.js';
15
17
  import { validateCV } from '../validator/index.js';
16
18
  // Read version from package.json
@@ -25,11 +27,13 @@ function findPackageJson() {
25
27
  return candidate;
26
28
  }
27
29
  }
28
- throw new Error('package.json not found');
30
+ return null;
29
31
  }
32
+ const FALLBACK_VERSION = '0.0.0-unknown';
30
33
  const packageJsonPath = findPackageJson();
31
- const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
32
- const VERSION = packageJson.version;
34
+ const VERSION = packageJsonPath
35
+ ? JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8')).version
36
+ : FALLBACK_VERSION;
33
37
  /**
34
38
  * Log level names
35
39
  */
@@ -196,13 +200,21 @@ export function resolveConfig(cliOptions) {
196
200
  paperSize: cliOptions.paperSize ?? configFile.paperSize ?? 'a4',
197
201
  debug: cliOptions.debug,
198
202
  logFormat: cliOptions.logFormat ?? configFile.logFormat ?? 'text',
199
- chronologicalOrder: cliOptions.chronologicalOrder ?? configFile.chronologicalOrder,
200
203
  hideMotivation: cliOptions.hideMotivation || configFile.hideMotivation || false,
201
- photo: photoPath,
202
- sectionOrder: cliOptions.sectionOrder
203
- ? cliOptions.sectionOrder.split(',').map(s => s.trim())
204
- : configFile.sectionOrder,
205
- stylesheet: stylesheetPath,
204
+ ...(cliOptions.chronologicalOrder !== undefined
205
+ ? { chronologicalOrder: cliOptions.chronologicalOrder }
206
+ : configFile.chronologicalOrder !== undefined
207
+ ? { chronologicalOrder: configFile.chronologicalOrder }
208
+ : {}),
209
+ ...(photoPath !== undefined && { photo: photoPath }),
210
+ ...(cliOptions.sectionOrder
211
+ ? {
212
+ sectionOrder: cliOptions.sectionOrder.split(',').map((s) => s.trim()),
213
+ }
214
+ : configFile.sectionOrder
215
+ ? { sectionOrder: configFile.sectionOrder }
216
+ : {}),
217
+ ...(stylesheetPath !== undefined && { stylesheet: stylesheetPath }),
206
218
  };
207
219
  }
208
220
  /**
@@ -242,6 +254,40 @@ export async function runCLI(options) {
242
254
  const generatedFiles = await generateOutput(validationResult.value, config, logger);
243
255
  logger.info({ files: generatedFiles, count: generatedFiles.length }, 'Generation complete');
244
256
  }
257
+ /**
258
+ * Run init command to generate template
259
+ */
260
+ export function runInit(options) {
261
+ // Handle list templates
262
+ if (options.listTemplates) {
263
+ console.log(formatTemplateList());
264
+ return '';
265
+ }
266
+ // Handle list sections
267
+ if (options.listSections) {
268
+ console.log(formatSectionList(options.language, options.format));
269
+ return '';
270
+ }
271
+ const templateOptions = {
272
+ language: options.language,
273
+ format: options.format,
274
+ includeComments: !options.noComments,
275
+ outputPath: options.output,
276
+ };
277
+ const template = generateTemplate(templateOptions);
278
+ if (options.output) {
279
+ // Ensure directory exists
280
+ const dir = path.dirname(options.output);
281
+ if (dir && !fs.existsSync(dir)) {
282
+ fs.mkdirSync(dir, { recursive: true });
283
+ }
284
+ fs.writeFileSync(options.output, template, 'utf-8');
285
+ return options.output;
286
+ }
287
+ // Output to stdout
288
+ console.log(template);
289
+ return '';
290
+ }
245
291
  /**
246
292
  * Create CLI program
247
293
  */
@@ -250,36 +296,54 @@ export function createCLIProgram() {
250
296
  program
251
297
  .name('md2cv')
252
298
  .description('CV/Resume Generator - transforms Markdown CVs into PDF and HTML')
253
- .version(VERSION, '--version', 'Show version info')
254
- .requiredOption('-i, --input <filepath>', 'Input markdown file path')
255
- .option('-o, --output <filepath>', 'Output filepath (default: input directory)')
256
- .option('-f, --format <format>', 'Output format (cv, rirekisho, or both)', 'cv')
257
- .option('-t, --output-type <type>', 'Output type (html, pdf, or both)', 'pdf')
258
- .option('-p, --paper-size <size>', 'Paper size (a3, a4, b4, b5, letter)')
259
- .option('-c, --config <file>', 'Configuration file (JSON or YAML)')
260
- .option('--order <order>', 'Chronological order for CV format only (asc: oldest first, desc: newest first). Default: desc. Rirekisho always uses oldest first.')
261
- .option('--hide-motivation', 'Hide motivation section in rirekisho format (increases history/license rows)', false)
262
- .option('--photo <filepath>', 'Photo image file for rirekisho format (png, jpg, tiff). Only used with rirekisho format.')
263
- .option('--section-order <sections>', 'Comma-separated list of section IDs to include in CV output (e.g., "summary,experience,education,skills"). Sections not listed will be skipped. Only applies to CV format.')
264
- .option('--stylesheet <filepath>', 'Custom CSS stylesheet file to apply additional styles. The stylesheet is appended after default styles, allowing you to override fonts, colors, spacing, etc.')
265
- .option('--log-format <format>', 'Log format (json or text)', 'text')
266
- .option('--verbose', 'Enable verbose logging', false)
299
+ .version(VERSION, '--version', 'Show version info');
300
+ // Default command (generate CV)
301
+ program
302
+ .command('generate', { isDefault: true })
303
+ .description('Generate CV/resume from markdown file')
304
+ .requiredOption(GENERATE_OPTIONS.input.flags, GENERATE_OPTIONS.input.description)
305
+ .option(GENERATE_OPTIONS.output.flags, GENERATE_OPTIONS.output.description)
306
+ .option(GENERATE_OPTIONS.format.flags, GENERATE_OPTIONS.format.description, GENERATE_OPTIONS.format.defaultValue)
307
+ .option(GENERATE_OPTIONS.outputType.flags, GENERATE_OPTIONS.outputType.description, GENERATE_OPTIONS.outputType.defaultValue)
308
+ .option(GENERATE_OPTIONS.paperSize.flags, GENERATE_OPTIONS.paperSize.description)
309
+ .option(GENERATE_OPTIONS.config.flags, GENERATE_OPTIONS.config.description)
310
+ .option(GENERATE_OPTIONS.order.flags, GENERATE_OPTIONS.order.description)
311
+ .option(GENERATE_OPTIONS.hideMotivation.flags, GENERATE_OPTIONS.hideMotivation.description, GENERATE_OPTIONS.hideMotivation.defaultValue)
312
+ .option(GENERATE_OPTIONS.photo.flags, GENERATE_OPTIONS.photo.description)
313
+ .option(GENERATE_OPTIONS.sectionOrder.flags, GENERATE_OPTIONS.sectionOrder.description)
314
+ .option(GENERATE_OPTIONS.stylesheet.flags, GENERATE_OPTIONS.stylesheet.description)
315
+ .option(GENERATE_OPTIONS.logFormat.flags, GENERATE_OPTIONS.logFormat.description, GENERATE_OPTIONS.logFormat.defaultValue)
316
+ .option(GENERATE_OPTIONS.verbose.flags, GENERATE_OPTIONS.verbose.description, GENERATE_OPTIONS.verbose.defaultValue)
267
317
  .action(async (opts) => {
268
318
  try {
269
319
  const cliOptions = {
270
320
  input: String(opts.input),
271
- output: typeof opts.output === 'string' ? opts.output : undefined,
272
- format: opts.format ?? 'cv',
273
- outputType: opts.outputType ?? 'pdf',
274
- paperSize: typeof opts.paperSize === 'string' ? opts.paperSize : undefined,
275
- config: typeof opts.config === 'string' ? opts.config : undefined,
276
321
  debug: opts.verbose === true,
277
- logFormat: opts.logFormat ?? 'text',
278
- chronologicalOrder: typeof opts.order === 'string' ? opts.order : undefined,
279
- hideMotivation: opts.hideMotivation === true,
280
- photo: typeof opts.photo === 'string' ? opts.photo : undefined,
281
- sectionOrder: typeof opts.sectionOrder === 'string' ? opts.sectionOrder : undefined,
282
- stylesheet: typeof opts.stylesheet === 'string' ? opts.stylesheet : undefined,
322
+ ...(typeof opts.output === 'string' && { output: opts.output }),
323
+ ...(typeof opts.format === 'string' && {
324
+ format: opts.format,
325
+ }),
326
+ ...(typeof opts.outputType === 'string' && {
327
+ outputType: opts.outputType,
328
+ }),
329
+ ...(typeof opts.paperSize === 'string' && {
330
+ paperSize: opts.paperSize,
331
+ }),
332
+ ...(typeof opts.config === 'string' && { config: opts.config }),
333
+ ...(typeof opts.logFormat === 'string' && {
334
+ logFormat: opts.logFormat,
335
+ }),
336
+ ...(typeof opts.order === 'string' && {
337
+ chronologicalOrder: opts.order,
338
+ }),
339
+ ...(opts.hideMotivation === true && { hideMotivation: true }),
340
+ ...(typeof opts.photo === 'string' && { photo: opts.photo }),
341
+ ...(typeof opts.sectionOrder === 'string' && {
342
+ sectionOrder: opts.sectionOrder,
343
+ }),
344
+ ...(typeof opts.stylesheet === 'string' && {
345
+ stylesheet: opts.stylesheet,
346
+ }),
283
347
  };
284
348
  await runCLI(cliOptions);
285
349
  process.exit(0);
@@ -290,6 +354,48 @@ export function createCLIProgram() {
290
354
  process.exit(1);
291
355
  }
292
356
  });
357
+ // Init command (generate template)
358
+ program
359
+ .command('init')
360
+ .description('Generate a markdown template for CV/resume')
361
+ .option(INIT_OPTIONS.output.flags, INIT_OPTIONS.output.description)
362
+ .option(INIT_OPTIONS.lang.flags, `${INIT_OPTIONS.lang.description} (${getAvailableLanguages().join(', ')})`, INIT_OPTIONS.lang.defaultValue)
363
+ .option(INIT_OPTIONS.format.flags, INIT_OPTIONS.format.description, INIT_OPTIONS.format.defaultValue)
364
+ .option(INIT_OPTIONS.noComments.flags, INIT_OPTIONS.noComments.description)
365
+ .option(INIT_OPTIONS.listTemplates.flags, INIT_OPTIONS.listTemplates.description)
366
+ .option(INIT_OPTIONS.listSections.flags, INIT_OPTIONS.listSections.description)
367
+ .action((opts) => {
368
+ try {
369
+ const langValue = typeof opts.lang === 'string' ? opts.lang : 'en';
370
+ if (!isValidLanguage(langValue)) {
371
+ console.error(`Error: Invalid language "${langValue}". Available: ${getAvailableLanguages().join(', ')}`);
372
+ process.exit(1);
373
+ }
374
+ const formatValue = typeof opts.format === 'string' ? opts.format : 'cv';
375
+ if (!['cv', 'rirekisho', 'both'].includes(formatValue)) {
376
+ console.error(`Error: Invalid format "${formatValue}". Available: cv, rirekisho, both`);
377
+ process.exit(1);
378
+ }
379
+ const initOptions = {
380
+ language: langValue,
381
+ format: formatValue,
382
+ noComments: opts.comments === false,
383
+ listTemplates: opts.listTemplates === true,
384
+ listSections: opts.listSections === true,
385
+ ...(typeof opts.output === 'string' && { output: opts.output }),
386
+ };
387
+ const outputPath = runInit(initOptions);
388
+ if (outputPath) {
389
+ console.error(`Template created: ${outputPath}`);
390
+ }
391
+ process.exit(0);
392
+ }
393
+ catch (e) {
394
+ const message = e instanceof Error ? e.message : 'Unknown error';
395
+ console.error(`Error: ${message}`);
396
+ process.exit(1);
397
+ }
398
+ });
293
399
  return program;
294
400
  }
295
401
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Common utilities for CV/Resume generators
3
+ * Shared between English and Japanese CV generators
4
+ */
5
+ import type { PaperSize } from '../types/config.js';
6
+ import type { CVMetadata } from '../types/metadata.js';
7
+ import type { CertificationEntry, CompetencyEntry, EducationEntry, ExperienceEntry, LanguageEntry, ParsedSection, SectionContent, SkillEntry, SkillsOptions } from '../types/sections.js';
8
+ /**
9
+ * Input for CV generation
10
+ */
11
+ export interface CVInput {
12
+ readonly metadata: CVMetadata;
13
+ readonly sections: readonly ParsedSection[];
14
+ }
15
+ /**
16
+ * Page size dimensions in mm
17
+ * CV uses portrait orientation (width < height)
18
+ */
19
+ export declare const PAGE_SIZES: Record<PaperSize, {
20
+ width: number;
21
+ height: number;
22
+ }>;
23
+ /**
24
+ * Default number of columns for skills grid
25
+ */
26
+ export declare const DEFAULT_SKILLS_COLUMNS = 3;
27
+ /**
28
+ * Escape HTML special characters
29
+ */
30
+ export declare function escapeHtml(text: string): string;
31
+ /**
32
+ * Date formatter interface for language-specific formatting
33
+ */
34
+ export interface DateFormatter {
35
+ formatDate(date: Date | undefined): string;
36
+ formatEndDate(end: Date | 'present' | undefined): string;
37
+ itemSeparator: string;
38
+ }
39
+ /**
40
+ * English date formatter
41
+ */
42
+ export declare const enDateFormatter: DateFormatter;
43
+ /**
44
+ * Japanese date formatter
45
+ */
46
+ export declare const jaDateFormatter: DateFormatter;
47
+ /**
48
+ * Format date range using the provided formatter
49
+ */
50
+ export declare function formatDateRange(start: Date | undefined, end: Date | 'present' | undefined, formatter: DateFormatter): string;
51
+ /**
52
+ * Render education section
53
+ */
54
+ export declare function renderEducation(entries: readonly EducationEntry[], formatter: DateFormatter): string;
55
+ /**
56
+ * Render certifications section
57
+ */
58
+ export declare function renderCertifications(entries: readonly CertificationEntry[], formatter: DateFormatter): string;
59
+ /**
60
+ * Render skills section - supports grid and categorized formats
61
+ */
62
+ export declare function renderSkills(entries: readonly SkillEntry[], options: SkillsOptions, formatter: DateFormatter): string;
63
+ /**
64
+ * Render skills from list content as grid
65
+ */
66
+ export declare function renderSkillsList(items: readonly string[], columns?: number): string;
67
+ /**
68
+ * Render languages section
69
+ */
70
+ export declare function renderLanguages(entries: readonly LanguageEntry[]): string;
71
+ /**
72
+ * Render core competencies section
73
+ */
74
+ export declare function renderCompetencies(entries: readonly CompetencyEntry[]): string;
75
+ /**
76
+ * Render experience section
77
+ */
78
+ export declare function renderExperience(entries: readonly ExperienceEntry[], formatter: DateFormatter, options?: {
79
+ includeTeam?: boolean;
80
+ includeProjects?: boolean;
81
+ }): string;
82
+ /**
83
+ * Render section content
84
+ */
85
+ export declare function renderSectionContent(content: SectionContent, sectionId: string, formatter: DateFormatter): string;
86
+ //# sourceMappingURL=common.d.ts.map