Files
sori.studio/server/utils/site-settings.js
zenn 00999404a4 페이지 섹션·공개 목록 설정 누적 변경 일괄 반영
페이지 섹션 관리와 홈 Pages 진열장 연동, 공개 목록 표시개수 설정 관련 누적 로컬 변경을 기능 단위로 정리해 반영한다.
문서 이력과 패키지 버전을 v1.9.23으로 맞춰 코드와 문서 상태를 동기화한다.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-30 18:48:42 +09:00

64 lines
2.1 KiB
JavaScript

import { DEFAULT_BRAND_COLOR } from '../../lib/brand-color.js'
import {
DEFAULT_ANNOUNCEMENT_ALIGNMENT,
DEFAULT_ANNOUNCEMENT_BACKGROUND_COLOR
} from '../../lib/announcement-bar.js'
import { DEFAULT_SIGNUP_BLOCKED_USERNAMES } from '../../lib/signup-blocked-usernames.js'
import { DEFAULT_POST_TAG_LIMIT } from '../../lib/post-tag-limit.js'
import {
DEFAULT_FEATURED_POST_LIMIT,
DEFAULT_HOME_LATEST_POST_LIMIT,
DEFAULT_PAGE_SECTION_ITEM_LIMIT,
DEFAULT_POST_LIST_PAGE_SIZE,
DEFAULT_TAG_POST_LIST_PAGE_SIZE
} from '../../lib/display-count-settings.js'
/**
* 기본 사이트 설정 반환
* @returns {Object} 기본 사이트 설정
*/
export const getDefaultSiteSettings = () => {
const config = useRuntimeConfig()
const title = config.public.siteTitle || 'sori.studio'
return {
title,
description: 'sori.studio 개인 블로그',
siteUrl: config.public.siteUrl || 'https://sori.studio',
logoText: '井',
logoUrl: '',
faviconUrl: '',
copyrightText: `©${new Date().getFullYear()} ${title}`,
socialLinks: [],
showPostUpdatedAt: false,
postTagLimit: DEFAULT_POST_TAG_LIMIT,
homeLatestPostLimit: DEFAULT_HOME_LATEST_POST_LIMIT,
postListPageSize: DEFAULT_POST_LIST_PAGE_SIZE,
tagPostListPageSize: DEFAULT_TAG_POST_LIST_PAGE_SIZE,
featuredPostLimit: DEFAULT_FEATURED_POST_LIMIT,
pageSectionItemLimit: DEFAULT_PAGE_SECTION_ITEM_LIMIT,
homeCoverImageUrl: '',
homeCoverDarkImageUrl: '',
homeCoverTitle: '',
homeCoverText: '',
brandColor: DEFAULT_BRAND_COLOR,
announcementEnabled: false,
announcementText: '',
announcementUrl: '',
announcementBackgroundColor: DEFAULT_ANNOUNCEMENT_BACKGROUND_COLOR,
announcementAlignment: DEFAULT_ANNOUNCEMENT_ALIGNMENT,
signupBlockedUsernames: [...DEFAULT_SIGNUP_BLOCKED_USERNAMES],
adsTxt: '',
customHeadCode: '',
customFooterCode: '',
adHomeFeedCode: '',
adHomeInfeedCode: '',
adSidebarCode: '',
adPostSidebarCode: '',
adPostTopCode: '',
adPostInArticleCode: '',
adPostBottomCode: '',
updatedAt: null
}
}