diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..1ff8b9a --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,16 @@ +version: 2 +updates: + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "weekly" + open-pull-requests-limit: 10 + commit-message: + prefix: "deps" + labels: + - "dependencies" + reviewers: + - "@Memsetqwq" + ignore: + - dependency-name: "parcel" + update-types: ["version-update:semver-major"] \ No newline at end of file diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..99edbd8 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,51 @@ +name: Deploy to GitHub Pages + +on: + push: + branches: + - main + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 + + - name: Setup Node.js + uses: actions/setup-node@1a44e78f31e7bfaaabd4b78dae9b6e519370c0c3c + with: + node-version: '20' + cache: 'npm' + + - name: Install dependencies + run: npm ci + + - name: Build + run: npm run build + + - name: Upload artifact + uses: actions/upload-pages-artifact@ea554e86b3495c4e23f6c2d902fbb25c6b163f71 + with: + path: ./dist + + deploy: + needs: build + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@4abd8561813ea84114c4bf23ef5f7de8cd3ffad3 \ No newline at end of file diff --git a/.gitignore b/.gitignore index 7812bd3..0f8c4d2 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,27 @@ Thumbs.db node_modules/ dist/ .parcel-cache/ + +# Environment & Secrets (禁止推送) +.env +.env.* +*.env +.env.local +.env.development +.env.production +.secrets +credentials.* +config.json +config.local.json +*.pem +*.key +id_rsa +id_rsa.* +known_hosts +.npmrc +.pypirc +.git-credentials +netrc +*.sqlite +*.db +database.yml diff --git a/README.md b/README.md index 537f833..ed95fd9 100644 --- a/README.md +++ b/README.md @@ -66,23 +66,25 @@ | Version_0.7 | 明亮默认版 | 默认亮色主题,语义化图片命名,开源项目仪表盘,导航顺序优化 | | Version_0.8 | 二维码动画版 | 双向滚动动画,二维码展开大图,页脚布局优化,CDUESTC 英文翻译 | | Version_0.9 | 申请管理版 | 本地数据库管理,管理员后台仪表盘,申请记录查看/删除/导出,页脚管理员入口 | +| Version_1.0 | 在线部署版 | GitHub Actions CI/CD 自动化部署,GitHub Pages 在线托管,安全响应头配置,Dependabot 依赖自动更新 | ### 各版本特性对比 -| 特性 | v0.1 | v0.2 | v0.3 | v0.4 | v0.5 | v0.6 | v0.7 | v0.8 | v0.9 | -|-----|------|------|------|------|------|------|------|------|------| -| 布局 | 三栏布局 | 全屏分栏 | 全屏分栏 | 全屏分栏 | 全屏分栏 | 全屏分栏 | 全屏分栏 | 全屏分栏 | 全屏分栏 | -| 动画 | Shader 背景 | 滚动渐入动画 | 滚动渐入动画 | 滚动渐入 + 主题切换动画 | 滚动渐入 + 主题切换动画 | 滚动渐入 + 主题切换动画 | 滚动渐入 + 主题切换动画 | 双向滚动动画 | 双向滚动动画 | -| 主题 | 手动切换 | 仅暗色 | 系统级自适应 | 响应式亮暗 + 太阳/月亮按钮 | 响应式亮暗 + 太阳/月亮按钮 | 响应式亮暗 + 太阳/月亮按钮 | 默认亮色 | 默认亮色 | 默认亮色 | -| 亮色配色 | - | - | - | 米白背景 + 翠绿强调 | 米白背景 + 翠绿强调 | 晨曦蓝渐变 + GitHub 蓝 | 晨曦蓝渐变 + GitHub 蓝 | 晨曦蓝渐变 + GitHub 蓝 | 晨曦蓝渐变 + GitHub 蓝 | -| 暗色配色 | - | - | 深蓝灰 | 深蓝背景 + 荧光绿强调 | 深蓝背景 + 荧光绿强调 | 深空蓝 + GitHub 蓝 + 紫罗兰 | 深空蓝 + GitHub 蓝 + 紫罗兰 | 深空蓝 + GitHub 蓝 + 紫罗兰 | 深空蓝 + GitHub 蓝 + 紫罗兰 | -| 导航 | 顶部固定栏 | 毛玻璃导航栏 | 毛玻璃导航栏 | 毛玻璃导航栏 | 毛玻璃导航栏 | 毛玻璃导航栏 + 居中布局 | 毛玻璃导航栏 + 居中布局 | 毛玻璃导航栏 + 居中布局 | 毛玻璃导航栏 + 居中布局 | -| 持久化 | ❌ | ❌ | ❌ | ✅ localStorage | ✅ localStorage | ✅ localStorage | ✅ localStorage | ✅ localStorage | ✅ localStorage | -| 二维码 | ❌ | ✅ | ✅ | ✅ | ✅ | ✅(页脚「关注我们」) | ✅(页脚「关注我们」) | ✅(页脚「关注我们」) | ✅(页脚「关注我们」) | -| 构建系统 | ❌ | ❌ | ❌ | ❌ | ✅ Parcel | ✅ Parcel | ✅ Parcel | ✅ Parcel | ✅ Parcel | -| 项目仪表盘 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 开源项目卡片 | ✅ 开源项目卡片 | ✅ 开源项目卡片 | -| 二维码动画 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 点击展开大图 | ✅ 点击展开大图 | -| 申请管理 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 管理员后台 | +| 特性 | v0.1 | v0.2 | v0.3 | v0.4 | v0.5 | v0.6 | v0.7 | v0.8 | v0.9 | v1.0 | +|-----|------|------|------|------|------|------|------|------|------|------| +| 布局 | 三栏布局 | 全屏分栏 | 全屏分栏 | 全屏分栏 | 全屏分栏 | 全屏分栏 | 全屏分栏 | 全屏分栏 | 全屏分栏 | 全屏分栏 | +| 动画 | Shader 背景 | 滚动渐入动画 | 滚动渐入动画 | 滚动渐入 + 主题切换动画 | 滚动渐入 + 主题切换动画 | 滚动渐入 + 主题切换动画 | 滚动渐入 + 主题切换动画 | 双向滚动动画 | 双向滚动动画 | 双向滚动动画 | +| 主题 | 手动切换 | 仅暗色 | 系统级自适应 | 响应式亮暗 + 太阳/月亮按钮 | 响应式亮暗 + 太阳/月亮按钮 | 响应式亮暗 + 太阳/月亮按钮 | 默认亮色 | 默认亮色 | 默认亮色 | 默认亮色 | +| 亮色配色 | - | - | - | 米白背景 + 翠绿强调 | 米白背景 + 翠绿强调 | 晨曦蓝渐变 + GitHub 蓝 | 晨曦蓝渐变 + GitHub 蓝 | 晨曦蓝渐变 + GitHub 蓝 | 晨曦蓝渐变 + GitHub 蓝 | 晨曦蓝渐变 + GitHub 蓝 | +| 暗色配色 | - | - | 深蓝灰 | 深蓝背景 + 荧光绿强调 | 深蓝背景 + 荧光绿强调 | 深空蓝 + GitHub 蓝 + 紫罗兰 | 深空蓝 + GitHub 蓝 + 紫罗兰 | 深空蓝 + GitHub 蓝 + 紫罗兰 | 深空蓝 + GitHub 蓝 + 紫罗兰 | 深空蓝 + GitHub 蓝 + 紫罗兰 | +| 导航 | 顶部固定栏 | 毛玻璃导航栏 | 毛玻璃导航栏 | 毛玻璃导航栏 | 毛玻璃导航栏 | 毛玻璃导航栏 + 居中布局 | 毛玻璃导航栏 + 居中布局 | 毛玻璃导航栏 + 居中布局 | 毛玻璃导航栏 + 居中布局 | 毛玻璃导航栏 + 居中布局 | +| 持久化 | ❌ | ❌ | ❌ | ✅ localStorage | ✅ localStorage | ✅ localStorage | ✅ localStorage | ✅ localStorage | ✅ localStorage | ✅ localStorage | +| 二维码 | ❌ | ✅ | ✅ | ✅ | ✅ | ✅(页脚「关注我们」) | ✅(页脚「关注我们」) | ✅(页脚「关注我们」) | ✅(页脚「关注我们」) | ✅(页脚「关注我们」) | +| 构建系统 | ❌ | ❌ | ❌ | ❌ | ✅ Parcel | ✅ Parcel | ✅ Parcel | ✅ Parcel | ✅ Parcel | ✅ Parcel | +| 项目仪表盘 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 开源项目卡片 | ✅ 开源项目卡片 | ✅ 开源项目卡片 | ✅ 开源项目卡片 | +| 二维码动画 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 点击展开大图 | ✅ 点击展开大图 | ✅ 点击展开大图 | +| 申请管理 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 管理员后台 | ✅ 管理员后台 | +| CI/CD 部署 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ GitHub Actions | > 各版本详细文档请查看 `archive/docs/` 目录。