diff --git a/ui/builder.html b/ui/builder.html index e6d548e..2f320f2 100644 --- a/ui/builder.html +++ b/ui/builder.html @@ -473,6 +473,9 @@ function removeAttr(nid, key){ function refresh(){ rebuildMaps(); renderPanel(); updatePreview(); save(); } function focusNew(sel){ setTimeout(()=>{ const els=document.querySelectorAll(sel); if(els.length) els[els.length-1].focus(); },40); } function esc(s){ return String(s??'').replace(/&/g,'&').replace(//g,'>').replace(/"/g,'"') } +// 입력값의 \n \t → 실제 문자 / 실제 문자 → 표시용 이스케이프 +function unesc(s){ return s.replace(/\\n/g,'\n').replace(/\\t/g,'\t').replace(/\\r/g,'\r') } +function reesc(s){ return s.replace(/\r/g,'\\r').replace(/\n/g,'\\n').replace(/\t/g,'\\t') } // ════════════════════════════════════════════════════════ // 렌더링 @@ -616,8 +619,8 @@ function renderSetting(nid, key, val){ return `
${key} - +
`; }