auto-hwpx 0.1.1 → 0.1.2
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/README.md +32 -75
- package/dist/render-hwpx-v2.d.ts.map +1 -1
- package/dist/render-hwpx-v2.js +11 -2
- package/dist/render-hwpx-v2.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,102 +1,63 @@
|
|
|
1
1
|
# auto-hwpx
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Utility to replace `{{key}}` and `{{@imgKey}}` placeholders in `.hwpx` files and emit a new `.hwpx`.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
## Placeholder syntax
|
|
8
|
-
|
|
9
|
-
- Text placeholder: `{{key}}`
|
|
10
|
-
- Text placeholder with default: `{{key=default text}}`
|
|
11
|
-
- Image placeholder: `{{@imgKey}}`
|
|
12
|
-
- Image placeholder with default: `{{@imgKey=default}}`
|
|
13
|
-
|
|
14
|
-
## Behavior
|
|
15
|
-
|
|
16
|
-
- Scans `.xml`, `.txt`, and `.hpf` entries in the HWPX zip.
|
|
17
|
-
- For missing text keys:
|
|
18
|
-
- If default exists, default is used.
|
|
19
|
-
- If default does not exist:
|
|
20
|
-
- default mode: placeholder is removed.
|
|
21
|
-
- `-k/--keep-placeholder` mode: placeholder is kept.
|
|
22
|
-
- For image keys (`@key=/path/to/image`):
|
|
23
|
-
- Finds `{{@key}}`, resolves the following image's `binaryItemIDRef`, and replaces matching `BinData/<id>.*` bytes.
|
|
24
|
-
- If image replacement succeeds, `{{@key}}` is removed.
|
|
5
|
+
*Note: Written by Codex.*
|
|
25
6
|
|
|
26
7
|
## Install
|
|
27
8
|
|
|
28
9
|
```bash
|
|
29
|
-
npm install
|
|
10
|
+
npm install -g auto-hwpx@latest
|
|
30
11
|
```
|
|
31
12
|
|
|
32
|
-
##
|
|
13
|
+
## Usage
|
|
33
14
|
|
|
34
|
-
Run a one-command demo that:
|
|
35
|
-
- finds `demo-assets/*.hwpx`
|
|
36
|
-
- fills text + image placeholders
|
|
37
|
-
- writes to `demo-output/<input-name>.hwpx`
|
|
38
15
|
|
|
39
16
|
```bash
|
|
40
|
-
|
|
17
|
+
$ auto-hwpx template.hwpx -o output.hwpx title="아무도안읽음" @img1="어린왕자.jpg"
|
|
41
18
|
```
|
|
42
19
|
|
|
43
|
-
|
|
20
|
+
The above command will replace the following placeholders in `template.hwpx`:
|
|
21
|
+
- `{{title}}` into "아무도안읽음",
|
|
22
|
+
- and image right after `{{@img1}}` into user given image `"어린왕자.jpg"`.
|
|
44
23
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
```bash
|
|
48
|
-
auto-hwpx
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
### 1) Build and verify locally
|
|
52
|
-
|
|
53
|
-
```bash
|
|
54
|
-
npm install
|
|
55
|
-
npm run test
|
|
56
|
-
npm run build
|
|
57
|
-
npm pack --dry-run
|
|
58
|
-
```
|
|
24
|
+
## Placeholder syntax
|
|
59
25
|
|
|
60
|
-
|
|
26
|
+
- Text placeholder: `{{key}}`
|
|
27
|
+
- Text placeholder with default: `{{key=default text}}`
|
|
28
|
+
- Image placeholder: `{{@imgKey}}`
|
|
61
29
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
npm publish
|
|
65
|
-
```
|
|
30
|
+
## Demo
|
|
31
|
+

|
|
66
32
|
|
|
67
|
-
If you later move to a scoped package (for example `@your-scope/auto-hwpx`), publish with:
|
|
68
33
|
|
|
34
|
+
**Command:**
|
|
69
35
|
```bash
|
|
70
|
-
|
|
36
|
+
auto-hwpx \
|
|
37
|
+
template.hwpx \
|
|
38
|
+
-o output.hwpx \ # or output/directory (same file name as input)
|
|
39
|
+
title="아무도안읽음" \
|
|
40
|
+
name="차 은 우" \
|
|
41
|
+
content_line1="줄바꿈 지원은 하지 않습니다. 따로 placeholder를 사용해야 합니다." \
|
|
42
|
+
content_line2="HWPX 포맷이 좀 까다롭고, 대단한걸 원하는게 아니여서 구현하기 귗낳습니다." \
|
|
43
|
+
content_line3="**주의**: {{key}} 치환이후에 포맷이 바뀌어버리면 문제가 발생합니다." \
|
|
44
|
+
content_line4="예를들어, {{very_long_long_ 다음줄 long_long_key}} -> 토마토 의 경우 " \
|
|
45
|
+
content_line5="두줄에서 한줄이 되어버리므로 변환이 실패합니다." \
|
|
46
|
+
location="한강뷰 아파트" \
|
|
47
|
+
caption1="캡션도 가능!" \
|
|
48
|
+
@img1="어린왕자.jpg"
|
|
71
49
|
```
|
|
72
50
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
```bash
|
|
76
|
-
npm install -g auto-hwpx
|
|
77
|
-
auto-hwpx --help
|
|
78
|
-
```
|
|
51
|
+
<!-- - `input.hwpx`: -->
|
|
79
52
|
|
|
80
|
-
|
|
53
|
+
<!-- <img src="./ex-input.png" style="height:70ex">
|
|
81
54
|
|
|
82
|
-
```bash
|
|
83
|
-
npm run start -- \
|
|
84
|
-
demo-assets/example.hwpx \
|
|
85
|
-
-o /tmp/output.hwpx \
|
|
86
|
-
name="홍길동" content="작업 내용" @img1="/absolute/path/to/image.png"
|
|
87
|
-
```
|
|
88
55
|
|
|
89
|
-
|
|
56
|
+
- ==> `output.hwpx`:
|
|
90
57
|
|
|
91
|
-
|
|
92
|
-
npm run start -- demo-assets/example.hwpx -l
|
|
93
|
-
```
|
|
58
|
+
<img src="./ex-output.png" style="height:70ex"> -->
|
|
94
59
|
|
|
95
|
-
Keep unresolved placeholders:
|
|
96
60
|
|
|
97
|
-
```bash
|
|
98
|
-
npm run start -- demo-assets/example.hwpx -o /tmp/output.hwpx -k name="홍길동"
|
|
99
|
-
```
|
|
100
61
|
|
|
101
62
|
## Programmatic API
|
|
102
63
|
|
|
@@ -137,8 +98,4 @@ const keys = await listHwpxPlaceholderKeysV2({
|
|
|
137
98
|
});
|
|
138
99
|
```
|
|
139
100
|
|
|
140
|
-
## Test
|
|
141
101
|
|
|
142
|
-
```bash
|
|
143
|
-
npm test
|
|
144
|
-
```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-hwpx-v2.d.ts","sourceRoot":"","sources":["../src/render-hwpx-v2.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,4BAA4B,CAAC,EAAE,OAAO,CAAC;CACxC;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sBAAsB,EAAE,MAAM,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,gCAAgC;IAC/C,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,iCAAiC;IAChD,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"render-hwpx-v2.d.ts","sourceRoot":"","sources":["../src/render-hwpx-v2.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,4BAA4B,CAAC,EAAE,OAAO,CAAC;CACxC;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sBAAsB,EAAE,MAAM,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,gCAAgC;IAC/C,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,iCAAiC;IAChD,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB;AA4HD,wBAAgB,qCAAqC,CACnD,UAAU,EAAE,MAAM,EAClB,mBAAmB,EAAE,MAAM,GAC1B,MAAM,GAAG,IAAI,CAaf;AAED,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,oBAAoB,CAAC,CA8B/B;AAED,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,gCAAgC,GACtC,OAAO,CAAC,iCAAiC,CAAC,CAgC5C;AAED,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,mBAAmB,CAAC,CA8G9B"}
|
package/dist/render-hwpx-v2.js
CHANGED
|
@@ -38,17 +38,25 @@ function replaceTokens(params) {
|
|
|
38
38
|
const explicit = params.textValues[key];
|
|
39
39
|
if (explicit !== undefined) {
|
|
40
40
|
replaced += 1;
|
|
41
|
-
return explicit;
|
|
41
|
+
return params.escapeOutput ? escapeXmlText(explicit) : explicit;
|
|
42
42
|
}
|
|
43
43
|
if (defaultValue !== undefined) {
|
|
44
44
|
replaced += 1;
|
|
45
|
-
return defaultValue;
|
|
45
|
+
return params.escapeOutput ? escapeXmlText(defaultValue) : defaultValue;
|
|
46
46
|
}
|
|
47
47
|
params.unresolved.add(key);
|
|
48
48
|
return fullMatch;
|
|
49
49
|
});
|
|
50
50
|
return { output, replaced };
|
|
51
51
|
}
|
|
52
|
+
function escapeXmlText(text) {
|
|
53
|
+
return text
|
|
54
|
+
.replaceAll("&", "&")
|
|
55
|
+
.replaceAll("<", "<")
|
|
56
|
+
.replaceAll(">", ">")
|
|
57
|
+
.replaceAll('"', """)
|
|
58
|
+
.replaceAll("'", "'");
|
|
59
|
+
}
|
|
52
60
|
function cleanupPlaceholders(params) {
|
|
53
61
|
return params.input.replaceAll(PLACEHOLDER_RE, (fullMatch, key) => {
|
|
54
62
|
if (key.startsWith("@")) {
|
|
@@ -162,6 +170,7 @@ export async function replaceHwpxPlaceholdersV2(input) {
|
|
|
162
170
|
textValues,
|
|
163
171
|
imageKeys,
|
|
164
172
|
unresolved,
|
|
173
|
+
escapeOutput: entryName.endsWith(".xml") || entryName.endsWith(".hpf"),
|
|
165
174
|
});
|
|
166
175
|
textReplacementCount += replaced.replaced;
|
|
167
176
|
if (isSectionEntry(entryName)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-hwpx-v2.js","sourceRoot":"","sources":["../src/render-hwpx-v2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAoC1B,MAAM,cAAc,GAAG,kCAAkC,CAAC;AAC1D,MAAM,iBAAiB,GAAG,yDAAyD,CAAC;AAEpF,SAAS,WAAW,CAAC,QAAgB;IACnC,OAAO,CACL,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC1B,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB;IACtC,OAAO,6BAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,uBAAuB,CAAC,YAAoC;IAInE,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,MAAM,WAAW,GAA2B,EAAE,CAAC;IAE/C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACxD,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACzB,SAAS;QACX,CAAC;QACD,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;AACrC,CAAC;AAED,SAAS,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"render-hwpx-v2.js","sourceRoot":"","sources":["../src/render-hwpx-v2.ts"],"names":[],"mappings":"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"}
|