mirror of
https://github.com/KazooTTT/kazoottt-blog.git
synced 2025-06-22 10:11:30 +08:00
67 lines
2.2 KiB
TypeScript
67 lines
2.2 KiB
TypeScript
import type { SiteConfig } from '@/types'
|
||
import type { AstroExpressiveCodeOptions } from 'astro-expressive-code'
|
||
|
||
export const siteConfig: SiteConfig = {
|
||
// Used as both a meta property (src/components/BaseHead.astro L:31 + L:49) & the generated satori png (src/pages/og-image/[slug].png.ts)
|
||
author: 'KazooTTT',
|
||
// Meta property used to construct the meta title property, found in src/components/BaseHead.astro L:11
|
||
title: '声控烤箱的博客|KazooTTT Blog',
|
||
// Meta property used as the default description meta property
|
||
description: '声控烤箱 | 我喜欢的烤箱是声控的 | 前端小透明',
|
||
// HTML lang property, found in src/layouts/Base.astro L:18
|
||
lang: 'zh-CN',
|
||
// Meta property, found in src/components/BaseHead.astro L:42
|
||
ogLocale: 'zh-CN',
|
||
// Date.prototype.toLocaleDateString() parameters, found in src/utils/date.ts.
|
||
date: {
|
||
locale: 'zh-CN',
|
||
options: {
|
||
day: 'numeric',
|
||
month: 'short',
|
||
year: 'numeric'
|
||
}
|
||
},
|
||
site: 'https://blog.kazoottt.top'
|
||
}
|
||
|
||
export const menuLinks: Array<{ title: string; path: string }> = [
|
||
{
|
||
title: 'Home',
|
||
path: '/'
|
||
},
|
||
{
|
||
title: 'Blog',
|
||
path: '/blog/'
|
||
}
|
||
]
|
||
|
||
// https://expressive-code.com/reference/configuration/
|
||
export const expressiveCodeOptions: AstroExpressiveCodeOptions = {
|
||
// One dark, one light theme => https://expressive-code.com/guides/themes/#available-themes
|
||
themes: ['dracula', 'github-light'],
|
||
themeCssSelector(theme, { styleVariants }) {
|
||
// If one dark and one light theme are available
|
||
// generate theme CSS selectors compatible with cactus-theme dark mode switch
|
||
if (styleVariants.length >= 2) {
|
||
const baseTheme = styleVariants[0]?.theme
|
||
const altTheme = styleVariants.find((v) => v.theme.type !== baseTheme?.type)?.theme
|
||
if (theme === baseTheme || theme === altTheme) return `[data-theme='${theme.type}']`
|
||
}
|
||
// return default selector
|
||
return `[data-theme="${theme.name}"]`
|
||
},
|
||
useThemedScrollbars: false,
|
||
styleOverrides: {
|
||
frames: {
|
||
frameBoxShadowCssValue: 'none'
|
||
},
|
||
uiLineHeight: 'inherit',
|
||
codeFontSize: '0.875rem',
|
||
codeLineHeight: '1.7142857rem',
|
||
borderRadius: '4px',
|
||
codePaddingInline: '1rem',
|
||
codeFontFamily:
|
||
'ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;'
|
||
}
|
||
}
|