From 749ed51dd70946b070f60e96b38e3b891b8f05dd Mon Sep 17 00:00:00 2001 From: Hyungi Ahn Date: Fri, 3 Apr 2026 14:55:51 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20Markdown=20=EB=B7=B0=EC=96=B4=20?= =?UTF-8?q?=E2=80=94=20extracted=5Ftext=20=EC=97=86=EC=9C=BC=EB=A9=B4=20?= =?UTF-8?q?=EC=9B=90=EB=B3=B8=20=ED=8C=8C=EC=9D=BC=20=EC=A7=81=EC=A0=91=20?= =?UTF-8?q?=EB=A0=8C=EB=8D=94=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- frontend/src/lib/components/DocumentViewer.svelte | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/frontend/src/lib/components/DocumentViewer.svelte b/frontend/src/lib/components/DocumentViewer.svelte index 268a71a..a4c22a2 100644 --- a/frontend/src/lib/components/DocumentViewer.svelte +++ b/frontend/src/lib/components/DocumentViewer.svelte @@ -13,6 +13,7 @@ let editMode = $state(false); let editContent = $state(''); let saving = $state(false); + let rawMarkdown = $state(''); function getViewerType(format) { if (['md', 'txt'].includes(format)) return 'markdown'; @@ -49,6 +50,16 @@ try { fullDoc = await api(`/documents/${id}`); viewerType = getViewerType(fullDoc.file_format); + + // Markdown: extracted_text 없으면 원본 파일 직접 가져오기 + if (viewerType === 'markdown' && !fullDoc.extracted_text) { + try { + const resp = await fetch(`/api/documents/${id}/file?token=${getAccessToken()}`); + if (resp.ok) rawMarkdown = await resp.text(); + } catch (e) { rawMarkdown = ''; } + } else { + rawMarkdown = ''; + } } catch (err) { fullDoc = null; viewerType = 'none'; @@ -157,7 +168,7 @@ {:else}
- {@html marked(fullDoc.extracted_text || '*텍스트 추출 대기 중*')} + {@html marked(fullDoc.extracted_text || rawMarkdown || '*텍스트 추출 대기 중*')}
{/if} {:else if viewerType === 'pdf'}