diff --git a/src/lib/components/admin/ArticleOutline.svelte b/src/lib/components/admin/ArticleOutline.svelte new file mode 100644 index 0000000..78fdb0d --- /dev/null +++ b/src/lib/components/admin/ArticleOutline.svelte @@ -0,0 +1,92 @@ + + + + + diff --git a/src/lib/components/admin/ContentEditor.svelte b/src/lib/components/admin/ContentEditor.svelte new file mode 100644 index 0000000..91ce6b4 --- /dev/null +++ b/src/lib/components/admin/ContentEditor.svelte @@ -0,0 +1,164 @@ + + +{#if mode === 'edit'} + { + outline.active = activeHeadingAt(outline.headings, position); + }} + > + {#snippet toolbarEnd()}{/snippet} + +{:else} +
正文预览
+
{ + navigatingPreview = false; + }} + > + +
+{/if} + + diff --git a/src/lib/components/admin/EditorSidebarTabs.svelte b/src/lib/components/admin/EditorSidebarTabs.svelte new file mode 100644 index 0000000..947a8af --- /dev/null +++ b/src/lib/components/admin/EditorSidebarTabs.svelte @@ -0,0 +1,68 @@ + + + + + diff --git a/src/lib/components/admin/MarkdownEditor.svelte b/src/lib/components/admin/MarkdownEditor.svelte index 7c79209..691d71a 100644 --- a/src/lib/components/admin/MarkdownEditor.svelte +++ b/src/lib/components/admin/MarkdownEditor.svelte @@ -1,6 +1,7 @@
-
+
+ {@render toolbarEnd?.()}
diff --git a/src/lib/components/admin/OutlinePopover.svelte b/src/lib/components/admin/OutlinePopover.svelte new file mode 100644 index 0000000..73e619b --- /dev/null +++ b/src/lib/components/admin/OutlinePopover.svelte @@ -0,0 +1,160 @@ + + + { + if (open && !wrapper.contains(event.target as Node)) open = false; + }} + onkeydown={(event) => { + if (open && event.key === 'Escape') { + event.preventDefault(); + dismiss(); + } + }} + onresize={() => { + if (window.innerWidth > 900) open = false; + else positionPanel(); + }} +/> + +
{ + if (!wrapper.contains(event.relatedTarget as Node)) open = false; + }} +> + + {#if open} +
+
+ 大纲 +
+ { + open = false; + }} + /> +
+ {/if} +
+ +