# xuyufeisite **Repository Path**: chenfeitech/xuyufeisite ## Basic Information - **Project Name**: xuyufeisite - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-17 - **Last Updated**: 2026-11-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 许宇霏个人网站 一个纯静态的个人小站,记录许宇霏(Fay)的自我介绍、爱好、绘画/科技作品和成长足迹。没有构建步骤,也没有外部 CDN 依赖。 ## 页面 | 页面 | 内容 | | --- | --- | | `index.html` | 首页:星空首屏、关于我、爱好、作品、成长时间线 | | `gallery.html` | 画册:缩略图、左右切换、键盘 ←→、手机滑动、灯箱放大 | | `hobby.html` | 爱好详情:图标导航、小档案 | | `growth.html` | 成长足迹:时间线详情、小鸭子视频 | | `404.html` | 找不到页面时的提示页 | ## 目录结构 ``` xuyufeisite/ ├── index.html / gallery.html / hobby.html / growth.html / 404.html ├── style.css # 全站基础样式 ├── gallery.css # 画册/子页样式 ├── hobby.css # 爱好页补充样式 ├── growth.css # 成长页补充样式 ├── script.js # 星空 canvas、导航、朗读、滚动出现 ├── gallery.js # 画册交互 ├── hobby.js / growth.js # 子页轮播数据与交互 ├── tools/ │ └── optimize_images.py # 从原图重新生成 imgs/opt └── imgs/ ├── draw/ tech/ award/ # 原始作品照片 ├── opt/ # 480/640/960 WebP、JPG 回退、200px 缩略图 ├── voice/about_me.mp3 # “关于我”朗读 ├── duck-1.mp4 / duck-2.mp4 ├── duck-1-poster.jpg / duck-2-poster.jpg ├── favicon.svg / favicon-32.png / apple-touch-icon.png └── og-cover.jpg # 社交分享封面(1200×630) ``` ## 本地预览 ```bash python3 -m http.server 8000 # 打开 http://127.0.0.1:8000 ``` 直接双击 `index.html` 也能看,但用本地服务器更接近线上环境。 ## 已做的优化 - **图片**:作品图输出 480/640/960 三档 WebP + JPG 回退,卡片用 `picture` + `srcset`,缩略图单独 200px;`loading="lazy"`、`decoding="async"`、固定宽高避免布局抖动。 - **音频**:朗读 MP3 不再在页面加载时预下载,第一次点“听一段朗读”才创建 `Audio`。 - **视频**:`preload="none"` + 海报;两段视频压缩到约 1.4MB(原 2.5MB),时间线里并排展示。 - **动效**:星空 canvas 按 `devicePixelRatio` 渲染,滚出视口/切到后台时暂停;支持 `prefers-reduced-motion`(关闭雨滴和星星闪烁)。 - **可访问性**:单 `