- [?] = openModal wide · 왼쪽 차례(임도 설계 B → 안정성평가 E → 예정노선 D · 지금 페이지 펼침) ·
오른쪽 = 모든 페이지 이어 그림 · 처음 = 보이는 data-help-topic 절 → 지금 페이지 절 → 맨 앞 · B05↔B06 짝 걷음
- 그리기: 덩어리마다 원문 줄(data-src) · `` → figure(loading=lazy · ?v=판) ·
없는 그림 = 관리자 「그림 없음 — 더블클릭해 지정」 / 일반 「그림 준비 중」 · `> 주의:` · `> 참고:` 상자 ·
`[글](B06/00_설명서)` → 모달 안 이동 · 페이지를 안 넘기면(B01 지식 채팅) 옛 출력 그대로
- GET /api/help 에 페이지마다 그림 판 · GET /api/help/{page}/img/{name}(이름 규칙 · no-cache) ·
옛 GET /api/help/{page} 걷음(모달이 한 가이드로 바뀜)
- B01 대시보드 머리 역할 배지 왼쪽에 [?]
- 시험 test_538_help_guide.py(변환 글 · 그림 404 · admin 칸) + helper_538_help_render.cjs
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
55 lines
1.6 KiB
JavaScript
55 lines
1.6 KiB
JavaScript
/* PLAN 538 단위검증 헬퍼 — 진짜 `ui_template_help.ts` 의 `renderHelpMarkdown` 을 Node 로 돌려 변환 글을 JSON 으로 냄.
|
|
* 화면 모듈(단추 · 모달 · 고침)은 빈 가짜로 끼움.
|
|
*/
|
|
const path = require("path");
|
|
const { makeLoader } = require("./helper_ts_stub_loader.cjs");
|
|
|
|
const ROOT = path.join(__dirname, "..", "..");
|
|
const STUBS = {
|
|
"@config/config_frontend": {
|
|
API_BASE_URL: "/api",
|
|
ROUTES: {},
|
|
PLAN_STEP_ROUTES: [],
|
|
STAB_STEP_ROUTES: [],
|
|
},
|
|
"./ui_template_elements": {},
|
|
"./ui_template_modal": {},
|
|
"./ui_template_help_edit": {},
|
|
};
|
|
const { load } = makeLoader({ root: ROOT, stubs: STUBS });
|
|
const { renderHelpMarkdown } = load("ui_template", "ui_template_help.ts");
|
|
|
|
const ctx = (admin) => ({ page: "B05", images: { "b05_full.webp": "abc" }, admin });
|
|
const DOC = [
|
|
"# 종단 설계", // 0
|
|
"", // 1
|
|
"첫 문단 [표준 횡단](B06/00_설명서) · [돌쌓기](B05/구조물_돌쌓기(메))", // 2
|
|
"둘째 줄", // 3
|
|
"", // 4
|
|
"- 하나", // 5
|
|
"- 둘", // 6
|
|
"", // 7
|
|
"| 칸 | 뜻 |", // 8
|
|
"| --- | --- |", // 9
|
|
"| a | b |", // 10
|
|
"", // 11
|
|
"> 주의: 저장 전 확인", // 12
|
|
"> 둘째 줄", // 13
|
|
"", // 14
|
|
"> 참고: 알아 둘 것", // 15
|
|
"", // 16
|
|
"", // 17
|
|
"", // 18
|
|
"", // 19
|
|
'<script>alert("x")</script>', // 20
|
|
].join("\n");
|
|
|
|
process.stdout.write(
|
|
JSON.stringify({
|
|
plain: renderHelpMarkdown(DOC),
|
|
admin: renderHelpMarkdown(DOC, ctx(true)),
|
|
user: renderHelpMarkdown(DOC, ctx(false)),
|
|
crlf: renderHelpMarkdown("# 가\r\n\r\n- 나\r\n- 다\r\n", ctx(false)),
|
|
}),
|
|
);
|