개발자 일기/좌충우돌 주니어 개발자 도전기

캔버스 자동 저장 스크립트

parklog 2025. 4. 14. 11:43

(() => {
  const nodes = document.querySelectorAll('.ProseMirror[contenteditable="false"]');
  if (!nodes.length) {
    alert('❌ 캔버스 문서를 찾을 수 없습니다.');
    return;
  }

  const contents = Array.from(nodes)
    .map((node, idx) => `--- [문서 ${idx + 1}] ---\n${node.innerText.trim()}`)
    .join('\n\n');

  const blob = new Blob([contents], { type: 'text/plain' });
  const url = URL.createObjectURL(blob);
  const a = document.createElement('a');
  a.href = url;
  a.download = `chatgpt-multi-canvas-${new Date().toISOString().slice(0,10)}.txt`;
  a.click();
  URL.revokeObjectURL(url);

  alert(`✅ 총 ${nodes.length}개의 캔버스 문서를 하나로 저장했습니다.`);
})();