From d41cb71d403839236dcead0a4b682b050dfe469b Mon Sep 17 00:00:00 2001 From: zenn Date: Wed, 17 Jun 2026 09:52:56 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B2=8C=EC=8B=9C=EB=AC=BC=20HTML=20iframe=20?= =?UTF-8?q?=EB=B8=94=EB=A1=9D=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/admin/AdminBlockEditor.vue | 12 +-- components/admin/AdminEditorBlockPanel.vue | 17 ++-- components/admin/AdminMarkdownEditor.vue | 38 ++++++-- components/admin/AdminPostForm.vue | 4 +- .../content/ContentMarkdownRenderer.vue | 17 +++- components/content/ProseEmbed.vue | 15 ++++ docs/changelog.md | 6 ++ docs/deploy.md | 9 +- docs/history.md | 4 + docs/map.md | 9 +- docs/spec.md | 17 ++-- docs/update.md | 6 ++ lib/markdown-block-context.js | 3 +- lib/markdown-iframe-embed.js | 87 +++++++++++++++++++ lib/markdown-slash-commands.js | 6 +- package-lock.json | 4 +- package.json | 2 +- 17 files changed, 211 insertions(+), 45 deletions(-) create mode 100644 lib/markdown-iframe-embed.js diff --git a/components/admin/AdminBlockEditor.vue b/components/admin/AdminBlockEditor.vue index 8dab6da..72b721f 100644 --- a/components/admin/AdminBlockEditor.vue +++ b/components/admin/AdminBlockEditor.vue @@ -132,9 +132,9 @@ const blockCommands = [ }, { type: 'embed', - label: '임베드', - description: 'YouTube 등 외부 링크 삽입', - keywords: ['embed', 'youtube', 'link', '임베드', '유튜브'] + label: 'HTML', + description: 'URL 또는 iframe HTML 삽입', + keywords: ['html', 'iframe', 'embed', 'youtube', 'link', '임베드', '유튜브'] }, { type: 'quote', @@ -2281,12 +2281,12 @@ defineExpose({

- YouTube 링크는 공개 화면에서 영상으로 표시됩니다. + URL 또는 iframe HTML은 공개 화면에서 HTML 블록으로 표시됩니다.

diff --git a/components/admin/AdminEditorBlockPanel.vue b/components/admin/AdminEditorBlockPanel.vue index 47f175c..3cca685 100644 --- a/components/admin/AdminEditorBlockPanel.vue +++ b/components/admin/AdminEditorBlockPanel.vue @@ -115,7 +115,7 @@ const panelTitle = computed(() => { } if (props.panel.kind === 'embed') { - return '임베드' + return 'HTML' } if (props.panel.kind === 'quote') { @@ -155,7 +155,7 @@ const panelMeta = computed(() => { } if (props.panel.kind === 'embed') { - return 'YouTube·X 등 URL' + return 'URL·iframe' } if (props.panel.kind === 'quote') { @@ -254,17 +254,16 @@ const onPanelFocusOut = (event) => {