사이트 설정 관리 추가

This commit is contained in:
2026-05-02 16:37:11 +09:00
parent d5666fdcc3
commit 27cf05aba6
18 changed files with 431 additions and 25 deletions

View File

@@ -417,14 +417,6 @@ const normalizeTrailingTextBlock = () => {
isNormalizingTrailingBlock.value = true
while (
editorBlocks.value.length > 1
&& isBlankParagraphBlock(editorBlocks.value.at(-1))
&& isBlankParagraphBlock(editorBlocks.value.at(-2))
) {
editorBlocks.value.pop()
}
if (!isBlankParagraphBlock(editorBlocks.value.at(-1))) {
editorBlocks.value.push(createEditorBlock('paragraph'))
}

View File

@@ -1,17 +1,28 @@
<script setup>
const { data: siteSettings } = await useFetch('/api/site-settings', {
default: () => ({
title: 'sori.studio',
description: 'sori.studio 개인 블로그',
logoText: '井',
copyrightText: '©2026 sori.studio'
})
})
</script>
<template>
<aside class="right-sidebar site-sidebar hidden w-[287px] lg:flex lg:flex-col">
<div class="right-sidebar__scroll min-h-0 flex-1 overflow-y-auto">
<div class="right-sidebar__block site-sidebar-section py-5 pl-5 pr-0">
<div class="right-sidebar__profile flex items-center gap-3">
<div class="right-sidebar__logo grid h-12 w-12 place-items-center rounded-2xl bg-[var(--site-invert)] text-2xl font-bold text-[var(--site-invert-text)]">
{{ siteSettings.logoText }}
</div>
<div>
<p class="right-sidebar__title font-semibold">
sori.studio
{{ siteSettings.title }}
</p>
<p class="right-sidebar__description text-sm site-muted">
Thoughts, stories and ideas.
{{ siteSettings.description }}
</p>
</div>
</div>
@@ -58,16 +69,16 @@
<div class="right-sidebar__block site-sidebar-section py-5 pl-5 pr-0">
<p class="right-sidebar__about text-sm leading-6 site-muted">
sori.studio는 글과 프로젝트 링크를 곳에 쌓아두는 개인 블로그/CMS입니다.
{{ siteSettings.description }}
</p>
<NuxtLink class="right-sidebar__about-button mt-4 inline-flex rounded-lg px-4 py-2 text-sm font-semibold site-accent-button" to="/pages/about">
About sori.studio
About {{ siteSettings.title }}
</NuxtLink>
</div>
</div>
<footer class="right-sidebar__footer py-4 pl-5 pr-0 text-xs site-muted">
©2026 sori.studio
{{ siteSettings.copyrightText }}
</footer>
</aside>
</template>

View File

@@ -1,5 +1,11 @@
<script setup>
const { menuOpen, toggleMenu } = useMenuState()
const { data: siteSettings } = await useFetch('/api/site-settings', {
default: () => ({
title: 'sori.studio'
})
})
</script>
<template>
@@ -36,7 +42,7 @@ const { menuOpen, toggleMenu } = useMenuState()
</svg>
</span>
</button>
sori.studio
{{ siteSettings.title }}
</NuxtLink>
<div class="site-header__search hidden h-9 w-[470px] items-center rounded-lg px-3 text-sm md:flex site-input">
<span class="site-header__search-icon mr-2 text-lg leading-none"></span>