# PersonalWebsite **Repository Path**: dawnlightcpcncp/personal-website ## Basic Information - **Project Name**: PersonalWebsite - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-03 - **Last Updated**: 2026-09-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DawnLight 个人作品集网站 DawnLight 的个人绘画与动画作品集网站。简约画廊风,中英双语,支持后台自主上传/管理作品,图片自动叠加水印,包含留言板、联系表单与动态(博客)。 ## 快速开始 ```bash # 1) 创建虚拟环境并安装依赖(仅需一次) python -m venv .venv .venv\Scripts\activate # Windows pip install -r requirements.txt # 2) 启动 python app.py ``` 浏览器访问 http://127.0.0.1:8000 即可。 > 首次启动会自动:创建 SQLite 数据库、生成几张示例作品与一篇示例动态、生成站点图标,并在控制台打印一次**管理员口令**。登录后台后请在“设置”中修改口令。 ## 使用 - 前台:首页画廊(绘画/动画分类、搜索)、作品详情、动画页、动态、关于、联系、留言板。 - 后台:`/admin` 登录后可以上传/编辑/删除作品与动态、审核留言、查看联系消息、维护社交账号链接、修改站点简介与口令。 - 图片上传后自动缩放至最长边 ≤1600px 并平铺斜向水印;**原图仅保存在 `data/originals/`(无公开路由)**,前台只能看到/下载带水印图。视频仅网页播放(播放器叠加水印徽标)。 - 社交账号:进入后台“社交账号”填写各平台链接(可填 `mailto:`),留空则前台不显示。 - 中英文:右上角切换;默认按浏览器语言(中文优先)。 - 深浅色:右上角按钮在 跟随系统 → 浅色 → 深色 间切换。 ## 口令管理 - 未设置口令时首启自动生成并打印。 - 设置环境变量 `ADMIN_PASSWORD=你的口令` 再启动,可重置口令(以环境变量为准)。 ## 部署提示(本地优先、预留公开) - 目标形态为本地运行;后端使用 Flask + SQLite,可平滑部署到支持 Python 的托管平台(Render / PythonAnywhere / VPS 等)。 - 发布前建议:将 `DAWN_HOST=0.0.0.0`、`DAWN_PORT=80`(或由平台指定)、`DAWN_SITE_URL=https://你的域名` 设置为环境变量,并修改站点内容。 - 上传的媒体与数据库在 `data/` 与 `static/media/`(均已 gitignore,不入库),换机器/部署时需要一起迁移。 - 视频真水印/转码需 ffmpeg,属后续增强项。 ## 目录结构 ``` app.py Flask 主应用(页面 + JSON API + 上传水印) imaging.py Pillow 水印 / 占位图 / 图标 mdrender.py 轻量 Markdown 渲染 templates/ 页面模板 static/css|js 样式与脚本(含 manifest.json、sw.js) data/ SQLite + 私有原图(gitignore) static/media/ 上传的公开媒体(gitignore) tests/smoke.py 自动化冒烟测试 ``` ## 运行测试 ```bash python tests/smoke.py ```