Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

二选一 · 全比较排名器

一个完全运行在浏览器本地的循环比较工具。用户可以自定义选项名称与图片,让每两个不同选项只比较一次,最后按胜场数生成排名。

已实现

  • 自定义排名标题、选项名称和图片
  • 批量导入图片,自动以文件名作为选项名
  • 批量粘贴名称
  • 完整无重复两两比较,共 n × (n - 1) / 2
  • 随机赛程与随机左右位置
  • 键盘方向键选择、退格键撤销
  • 暂停、刷新后继续、本机自动保存
  • 按胜场排名,相同胜场显示并列
  • 导出 PNG 结果图片与 CSV 表格
  • 将题目和图片导出为 .chooseone 问卷文件,发送给朋友
  • 导入朋友发来的 .chooseone 文件,预览后再确认替换当前选项
  • 图片在浏览器内缩放、重新编码,不上传服务器
  • 桌面端和手机端响应式布局

直接发布到 GitHub Pages

项目已经包含构建好的 docs 目录。无需购买域名或服务器,也无需在本地运行构建命令。

  1. 在 GitHub 创建一个公开仓库。
  2. 将本项目的全部文件上传到仓库的 main 分支。
  3. 打开仓库的 Settings → Pages
  4. Build and deployment 中选择 Deploy from a branch
  5. 分支选择 main,目录选择 /docs,点击保存。
  6. 等待 GitHub 完成发布,页面会显示访问地址。

如果仓库名为 你的用户名.github.io,地址通常是 https://你的用户名.github.io/;普通仓库则通常是 https://你的用户名.github.io/仓库名/

本地修改与重新构建

需要 Node.js 20 或更新版本:

npm install
npm run dev

完成修改后运行:

npm run build

新的可发布文件会写入 docs 目录。

数据与隐私

  • 选项、图片和比较进度保存在当前浏览器的 IndexedDB 中。
  • 网站不包含账号、统计脚本或服务器上传功能。
  • 清除浏览器网站数据会一并删除保存的进度。
  • GitHub Pages 网站本身公开可访问,请勿把私人图片直接提交到 GitHub 仓库;应让使用者在网页中从自己的设备选择图片。

分享问卷

  1. 在编辑页填好标题、选项名称和图片。
  2. 点击“导出空白问卷”,浏览器会下载一个 .chooseone 文件。
  3. 把该文件和网站地址一起发送给朋友。问卷文件不含任何比较结果、答题进度或身份信息。
  4. 对方打开网站,点击“导入朋友的问卷”,选择文件并检查预览,确认后即可开始比较。

.chooseone 是一个有版本号的 ZIP 容器,只允许包含 manifest.json 和经过处理的 WebP 图片。导入器会在解压前限制压缩包大小、条目数量、路径、压缩方式、解压体积与压缩比;随后校验所有字段和图片,并在浏览器里重新解码、缩放和编码图片。包内的文本不会作为 HTML 执行,来源网址也不会自动打开。

当前安全限制为:最多 64 个选项、单张图片最多 8 MB、压缩包最多 96 MB、总解压体积最多 128 MB。文件仍应视为普通附件,只从可信联系人处接收;如果预览内容不符合预期,请直接取消导入。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages