feat(blog): 添加博客目录功能并更新logo格式

为博客和关于页面添加可交互的目录组件,方便用户导航
将网站logo从svg格式统一改为png格式
移除generateStaticParams函数以简化构建流程
新增getBlogDetail.ts用于获取博客详情数据
This commit is contained in:
砂糖
2025-11-27 13:10:26 +08:00
parent 39f554652d
commit effdee935a
9 changed files with 326 additions and 69 deletions

View File

@@ -16,13 +16,13 @@ const WebsiteLogo = ({
timeout = 1000, // 1 second
}: IProps) => {
const domain = getDomain(url);
const [imgSrc, setImgSrc] = useState(`https://${domain}/logo.svg`);
const [imgSrc, setImgSrc] = useState(`https://${domain}/logo.png`);
const [fallbackIndex, setFallbackIndex] = useState(0);
const [isLoading, setIsLoading] = useState(true);
const [hasError, setHasError] = useState(false);
const fallbackSources = [
`https://${domain}/logo.svg`,
`https://${domain}/logo.png`,
`https://${domain}/logo.png`,
`https://${domain}/apple-touch-icon.png`,
`https://${domain}/apple-touch-icon-precomposed.png`,
@@ -83,9 +83,8 @@ const WebsiteLogo = ({
height={size}
onError={handleError}
onLoad={handleLoad}
className={`inline-block transition-opacity duration-300 ${
isLoading ? "opacity-0" : "opacity-100"
}`}
className={`inline-block transition-opacity duration-300 ${isLoading ? "opacity-0" : "opacity-100"
}`}
style={{
objectFit: "contain",
display: hasError ? "none" : "inline-block",