@rhwp/editor 0.7.11 → 0.7.13
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 +103 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -159,6 +159,109 @@ if (!verify.recovered || verify.pageCountBefore !== verify.pageCountAfter) {
|
|
|
159
159
|
editor.destroy();
|
|
160
160
|
```
|
|
161
161
|
|
|
162
|
+
## 디버깅 도구 — rhwpDev
|
|
163
|
+
|
|
164
|
+
iframe 안의 rhwp-studio에는 **개발 모드 전용 디버깅 헬퍼** `rhwpDev`가 내장되어 있습니다. 검색, 커서 이동, 문단 ID 점검 등을 콘솔에서 직접 호출할 수 있습니다.
|
|
165
|
+
|
|
166
|
+
### 접근 방법
|
|
167
|
+
|
|
168
|
+
`rhwpDev`는 **iframe 내부 window**에 등록됩니다. 브라우저 DevTools의 콘솔 컨텍스트를 iframe으로 전환한 후 호출하세요.
|
|
169
|
+
|
|
170
|
+
**Chrome / Edge:** DevTools 콘솔 좌측 상단의 컨텍스트 드롭다운(`top ▾`)에서 `rhwp-studio iframe` 선택
|
|
171
|
+
|
|
172
|
+
**Firefox:** 콘솔 우측 상단의 `iframe` 버튼 → iframe URL 선택
|
|
173
|
+
|
|
174
|
+
```javascript
|
|
175
|
+
// iframe 컨텍스트로 전환 후
|
|
176
|
+
rhwpDev.help(); // 사용법 안내
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
> **주의:** rhwp-studio가 DEV 모드(vite dev server)로 빌드된 경우에만 `rhwpDev`가 등록됩니다. 프로덕션 빌드(기본 호스팅 URL `https://edwardkim.github.io/rhwp/`)에는 포함되지 않습니다. 디버깅 도구가 필요하면 셀프 호스팅 환경에서 `vite dev` 모드로 실행하세요.
|
|
180
|
+
|
|
181
|
+
### 주요 메서드
|
|
182
|
+
|
|
183
|
+
#### rhwpDev.search(text, includeCells?)
|
|
184
|
+
|
|
185
|
+
문서 영역에서 모든 매치를 일괄 검색합니다. 반환: `SearchHit[]`
|
|
186
|
+
|
|
187
|
+
```javascript
|
|
188
|
+
const hits = rhwpDev.search("사업계획");
|
|
189
|
+
// → 9 match(es), console.table 자동 표시
|
|
190
|
+
//
|
|
191
|
+
// [{sec: 0, para: 2, charOffset: 0, length: 13}, ...]
|
|
192
|
+
|
|
193
|
+
// 표 셀/글상자 내부 포함
|
|
194
|
+
const allHits = rhwpDev.search("사업계획", true);
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
#### rhwpDev.goto(hit, options?)
|
|
198
|
+
|
|
199
|
+
SearchHit으로 커서를 이동하고 화면을 스크롤합니다. 반환: `boolean`
|
|
200
|
+
|
|
201
|
+
```javascript
|
|
202
|
+
const hits = rhwpDev.search("사업계획");
|
|
203
|
+
|
|
204
|
+
// 3번째 매치로 이동 + 선택 (인덱스 2)
|
|
205
|
+
rhwpDev.goto(hits[2]);
|
|
206
|
+
|
|
207
|
+
// 캐럿만 이동 (선택 없음)
|
|
208
|
+
rhwpDev.goto(hits[2], { select: false });
|
|
209
|
+
|
|
210
|
+
// 한 줄 패턴
|
|
211
|
+
rhwpDev.goto(rhwpDev.search("text")[0]);
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
#### rhwpDev.showAllIds(pageNum?)
|
|
215
|
+
|
|
216
|
+
페이지의 모든 문단 ID를 `console.table`로 표시합니다.
|
|
217
|
+
|
|
218
|
+
```javascript
|
|
219
|
+
rhwpDev.showAllIds(0); // 첫 페이지만
|
|
220
|
+
rhwpDev.showAllIds(); // 전체 페이지
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
#### rhwpDev.findNearest(targetId, pageNum?)
|
|
224
|
+
|
|
225
|
+
가장 가까운 paragraph 인덱스를 검색합니다.
|
|
226
|
+
|
|
227
|
+
```javascript
|
|
228
|
+
rhwpDev.findNearest(618);
|
|
229
|
+
// → { paraIdx: 0, distance: 618, text: "...", container: "cell[p0,c2,i0]" }
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
#### rhwpDev.help()
|
|
233
|
+
|
|
234
|
+
전체 사용법과 예시를 콘솔에 출력합니다.
|
|
235
|
+
|
|
236
|
+
### SearchHit 구조
|
|
237
|
+
|
|
238
|
+
```typescript
|
|
239
|
+
interface SearchHit {
|
|
240
|
+
sec: number; // 구역 인덱스
|
|
241
|
+
para: number; // 본문: 문단 인덱스 / 셀: parentPara
|
|
242
|
+
charOffset: number; // 문단 내 글자 오프셋
|
|
243
|
+
length: number; // 매치 길이
|
|
244
|
+
cellContext?: { // 셀/글상자 매치 시
|
|
245
|
+
parentPara: number;
|
|
246
|
+
ctrlIdx: number;
|
|
247
|
+
cellIdx: number;
|
|
248
|
+
cellPara: number;
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
### 활용 예시 — 매치 일괄 강조
|
|
254
|
+
|
|
255
|
+
```javascript
|
|
256
|
+
// 모든 "회사" 매치를 순차적으로 보여주기
|
|
257
|
+
const hits = rhwpDev.search("회사");
|
|
258
|
+
let i = 0;
|
|
259
|
+
setInterval(() => {
|
|
260
|
+
if (i >= hits.length) return;
|
|
261
|
+
rhwpDev.goto(hits[i++]);
|
|
262
|
+
}, 1500);
|
|
263
|
+
```
|
|
264
|
+
|
|
162
265
|
## 폰트 안내
|
|
163
266
|
|
|
164
267
|
### 기본 동작 — 별도 설정 없이 사용 가능
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rhwp/editor",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.13",
|
|
4
4
|
"description": "HWP 에디터 웹 컴포넌트 — iframe 기반 임베드",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.js",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
],
|
|
23
23
|
"repository": {
|
|
24
24
|
"type": "git",
|
|
25
|
-
"url": "https://github.com/edwardkim/rhwp"
|
|
25
|
+
"url": "git+https://github.com/edwardkim/rhwp.git"
|
|
26
26
|
},
|
|
27
27
|
"homepage": "https://edwardkim.github.io/rhwp/",
|
|
28
28
|
"bugs": {
|