From 849e86802fc5dc3e83bc0ac92f88da3ec071e695 Mon Sep 17 00:00:00 2001 From: zenn Date: Thu, 14 May 2026 17:01:04 +0900 Subject: [PATCH] =?UTF-8?q?=EB=AF=B8=EB=A6=AC=EB=B3=B4=EA=B8=B0=20?= =?UTF-8?q?=EC=A7=91=EC=A4=91=20=EB=AA=A8=EB=93=9C=EC=99=80=20=EB=B9=88=20?= =?UTF-8?q?=EC=A4=84=20=EA=B3=B5=EB=B0=B1=20=EB=B3=B4=EC=A1=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/admin/AdminMarkdownEditor.vue | 16 +++++++++++++--- .../content/ContentMarkdownRenderer.vue | 19 +++++++++++++++++-- docs/changelog.md | 6 ++++++ docs/history.md | 8 ++++++++ docs/map.md | 4 ++-- docs/spec.md | 6 +++--- docs/update.md | 8 ++++++++ package-lock.json | 4 ++-- package.json | 2 +- 9 files changed, 60 insertions(+), 13 deletions(-) diff --git a/components/admin/AdminMarkdownEditor.vue b/components/admin/AdminMarkdownEditor.vue index e419a36..181c77d 100644 --- a/components/admin/AdminMarkdownEditor.vue +++ b/components/admin/AdminMarkdownEditor.vue @@ -1002,7 +1002,7 @@ const handleKeydown = (event) => { + + diff --git a/components/content/ContentMarkdownRenderer.vue b/components/content/ContentMarkdownRenderer.vue index 737cb74..003d4ea 100644 --- a/components/content/ContentMarkdownRenderer.vue +++ b/components/content/ContentMarkdownRenderer.vue @@ -138,6 +138,13 @@ const hasMarkdownHardBreak = (line) => / {2,}$/.test(line) */ const cleanParagraphLine = (line) => line.replace(/ {2,}$/, '').trim() +/** + * 빈 줄 공백 블록 높이를 반환한다. + * @param {Object} block - 렌더링 블록 + * @returns {string} Tailwind 높이 클래스 + */ +const getSpacerHeightClass = (block) => block.meta?.legacy ? 'h-6' : 'h-8' + /** * 닫힘 표식까지의 행 목록을 반환 * @param {Array} lines - 전체 마크다운 행 @@ -263,7 +270,14 @@ const parseMarkdownBlocks = (markdown) => { const line = lines[index] const trimmedLine = line.trim() - if (trimmedLine === BLANK_PARAGRAPH_MARKER || !trimmedLine) { + if (trimmedLine === BLANK_PARAGRAPH_MARKER) { + blocks.push(createBlock('spacer', '', null, `block-${blocks.length}`, { meta: { legacy: true } })) + index += 1 + continue + } + + if (!trimmedLine) { + blocks.push(createBlock('spacer', '', null, `block-${blocks.length}`)) index += 1 continue } @@ -546,7 +560,8 @@ const showNextImage = () => {