跳到主要内容
版本:2024年冬季她行活动

洒洒的个人博客

👩‍💻 作者介绍

作者: 洒洒

作品网址: 皮卡之家

项目类型: 个人博客网站

技术栈: Docusaurus v2, React, CSS3

🎨 作品展示

首页展示

洒洒的博客首页截图

首页设计:采用清新的配色方案,简洁的布局设计,突出个人品牌特色

成长小径页面

成长小径页面截图

成长小径:展示个人成长历程和学习轨迹,内容组织清晰有序

设计亮点分析

视觉层次

用户体验流程

✨ 特色功能

🎯 核心特性

  • 清新设计:采用简约优雅的视觉风格,注重用户体验
  • 响应式布局:完美适配手机、平板、桌面设备
  • 个性化内容:展示个人成长历程和经验分享
  • 流畅动画:精心设计的交互动效提升用户体验

🌟 创新亮点

  1. 个性化导航设计

    • 独特的导航栏样式
    • 流畅的页面切换效果
    • 移动端友好的交互体验
  2. 内容呈现方式

    • 卡片式信息展示
    • 渐进式内容加载
    • 清晰的信息层级
  3. 视觉效果优化

    • 精选的配色方案
    • 恰到好处的留白设计
    • 统一的设计语言

🛠️ 技术实现

核心技术栈

性能优化措施

图片优化

docusaurus.config.js
const config = {
plugins: [
[
'@docusaurus/plugin-ideal-image',
{
quality: 70,
max: 1030,
min: 640,
steps: 2,
disableInDev: false,
},
],
],

themeConfig: {
image: '/screenshot/screencapture-pika-s-home-vercel-app-2024-11-24-23_08_34.png',
},
};

代码分割

src/components/LazyImage.js
import { lazy, Suspense } from 'react';
import useBaseUrl from '@docusaurus/useBaseUrl';

const LazyImage = lazy(() => import('./OptimizedImage'));

export default function ImageWithFallback({ src, alt, ...props }) {
return (
<Suspense fallback={<div className="image-loading">加载中...</div>}>
<LazyImage
src={useBaseUrl(src)}
alt={alt}
loading="lazy"
{...props}
/>
</Suspense>
);
}

缓存策略

vercel.json
{
"headers": [
{
"source": "/screenshot/(.*)",
"headers": [
{
"key": "Cache-Control",
"value": "public, max-age=31536000, immutable"
}
]
}
]
}

架构设计

🎯 学习价值

设计思维

这个项目展示了如何:

  1. 建立个人品牌形象

    • 一致的视觉风格
    • 个性化的内容展示
    • 专业的技术实现
  2. 优化用户体验

    • 清晰的信息架构
    • 流畅的交互设计
    • 响应式布局适配
  3. 技术实现细节

    • 现代前端技术栈
    • 性能优化策略
    • 部署和维护方案

学习要点

设计灵感

洒洒的作品体现了"简约而不简单"的设计理念,值得初学者学习其:

  • 布局规划技巧:合理的网格系统和空间分配
  • 色彩搭配方法:温暖而专业的配色方案
  • 交互设计理念:用户友好的操作体验
  • 内容组织策略:清晰的信息层级和导航结构

实践建议

  1. 从模仿开始

    • 分析优秀作品的设计要素
    • 理解设计背后的思考过程
    • 逐步形成自己的设计风格
  2. 注重用户体验

    • 始终站在用户角度思考
    • 简化操作流程
    • 提供清晰的视觉反馈
  3. 持续改进优化

    • 收集用户反馈
    • 定期更新内容
    • 优化性能表现

🚀 项目特点

内容架构

设计系统

色彩规范

src/css/design-tokens.css
:root {
/* 主色调 */
--primary-color: #ff6b6b;
--primary-light: #ff8e8e;
--primary-dark: #ff4757;

/* 辅助色 */
--secondary-color: #4ecdc4;
--secondary-light: #6bccc4;
--secondary-dark: #26a69a;

/* 中性色 */
--gray-100: #f8f9fa;
--gray-200: #e9ecef;
--gray-300: #dee2e6;
--gray-400: #ced4da;
--gray-500: #adb5bd;

/* 语义化颜色 */
--success-color: #2ed573;
--warning-color: #ffa726;
--error-color: #ff6b6b;
--info-color: #54a0ff;
}

字体系统

src/css/typography.css
/* 字体家族 */
--font-primary: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
--font-mono: 'Fira Code', 'SF Mono', Monaco, monospace;

/* 字体大小 */
--text-xs: 0.75rem; /* 12px */
--text-sm: 0.875rem; /* 14px */
--text-base: 1rem; /* 16px */
--text-lg: 1.125rem; /* 18px */
--text-xl: 1.25rem; /* 20px */
--text-2xl: 1.5rem; /* 24px */
--text-3xl: 1.875rem; /* 30px */
--text-4xl: 2.25rem; /* 36px */

响应式设计

src/css/responsive.css
/* 断点定义 */
@media (min-width: 640px) {
.container {
max-width: 640px;
}
}

@media (min-width: 768px) {
.container {
max-width: 768px;
}
}

@media (min-width: 1024px) {
.container {
max-width: 1024px;
}
}

@media (min-width: 1280px) {
.container {
max-width: 1280px;
}
}

📊 性能表现

性能指标

优化建议

  1. 图片压缩

    • 使用现代图片格式(WebP、AVIF)
    • 实施懒加载策略
    • 提供不同分辨率版本
  2. 代码优化

    • 移除未使用的CSS
    • JavaScript代码分割
    • 开启Gzip压缩
  3. 缓存策略

    • 设置合适的缓存头
    • 利用CDN加速
    • 实现服务端缓存

这个项目是学习个人网站开发的优秀范例,展示了如何将技术实现与设计美学完美结合,为用户提供优秀的访问体验。