Taskflow 是一个静态网页任务管理工具,支持任务截止时间、提醒、分类、自动排序、时间轴甘特图、主题色、底图和字体大小设置。
http://localhost:4173 只指向“当前这台电脑”。把这个地址发给别人,别人的设备访问的是它自己的 localhost,因此打不开你的页面。
要让其他电脑或安卓手机使用,必须把项目发布到一个公网 HTTPS 地址。发布后,分享那个 HTTPS 地址即可;用户不需要在手机上部署 Node.js,也不需要打开 HTML 文件。
仓库已经包含 .github/workflows/pages.yml,推送后会自动发布静态文件。
- 将项目推送到 GitHub(SSH 推送见下文)。
- 打开仓库的 Settings → Pages,在 Build and deployment 中选择 GitHub Actions。
- 等待 Actions 中的
Deploy to GitHub Pages完成。GitHub 会在 Pages 页面显示实际访问地址,通常类似https://用户名.github.io/仓库名/。 - 将这个 HTTPS 地址发给其他用户。安卓 Chrome 打开后,可在右上角菜单选择“安装应用”或“添加到主屏幕”。
GitHub Pages 的发布设置说明: https://docs.github.com/en/pages/getting-started-with-github-pages/using-custom-workflows-with-github-pages
适合不想使用 GitHub Pages 的情况:
- 登录 Cloudflare Dashboard,进入 Workers & Pages → Create application → Pages。
- 选择 Connect to Git,关联 GitHub 仓库。
- 构建命令留空,输出目录填写
.(项目根目录)。这是纯 HTML/CSS/JS 项目,不需要构建步骤。 - 部署完成后使用 Cloudflare 分配的
pages.devHTTPS 地址分享。
也可以使用 Cloudflare Pages 的 Direct Upload,把项目文件夹直接上传: https://developers.cloudflare.com/pages/get-started/direct-upload/
需要安装 Node.js 18 或更高版本:https://nodejs.org/
在项目目录执行:
npm start然后打开 http://localhost:4173。Windows 用户也可以双击 start-taskflow.cmd。关闭终端窗口即可停止本地服务。
本地地址只适合自己调试,不是分享地址。若要临时让同一局域网设备访问,需要额外配置路由器或隧道工具,不建议把开发服务器直接暴露到公网。
- 安卓手机/平板:打开已发布的 HTTPS 地址;Chrome 菜单中选择“安装应用”或“添加到主屏幕”。不需要在安卓设备安装 Node.js。
- Windows / macOS:Chrome 或 Edge 打开 HTTPS 地址,点击地址栏右侧的安装图标;没有安装图标时,直接收藏网页即可使用。
- iPhone / iPad:Safari 打开 HTTPS 地址,点击分享按钮,选择“添加到主屏幕”。
- 点击“新建任务”填写名称、详细信息、开始/截止时间、提醒、分类和颜色。
- 分类可以在创建任务时选择已有分类,也可以直接新建;不选择分类的任务会归入“未分类任务”。
- 任务和设置默认保存在当前浏览器的
localStorage中。不同设备之间不会自动同步,也不会因为分享链接而共享数据。 - 更新 GitHub Pages 不会覆盖同一浏览器里的任务:只要仍使用同一
origin(协议、域名和端口),且代码没有更换存储键或主动清空数据,原有数据会继续保留。更换域名、清除浏览器站点数据、使用无痕窗口,或代码更换存储键后,浏览器会视为新的数据空间,原数据不会自动迁移。 - “个性化设置”中可以修改用户名、字体大小、主题色、时间轴样式、时间网格、紧凑列表和底图。
- 底图透明度按直觉定义:
0%为完全显示,100%为完全透明。
下面的流程只需要首次配置一次。私钥只留在自己的电脑上,绝对不要上传或发给别人。
git --version
ssh-keygen -t ed25519 -C "你的 GitHub 邮箱"一路回车可使用默认路径;如果提示文件已存在,不要覆盖旧密钥,可以输入另一个文件名。
Get-Service ssh-agent | Set-Service -StartupType Manual
Start-Service ssh-agent
ssh-add $env:USERPROFILE\.ssh\id_ed25519如果你使用了不同的密钥文件名,把最后一行路径改成对应文件。
复制公钥内容(只复制 .pub 文件):
Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub | Set-Clipboard在 GitHub 中进入 头像 → Settings → SSH and GPG keys → New SSH key,粘贴并保存。GitHub 官方说明: https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account
测试连接:
ssh -T git@github.com首次连接询问指纹时输入 yes。看到“successfully authenticated”即可。
本项目当前远程仓库是 FangShuohan/task_handler,在项目目录执行:
git remote -v
git remote set-url origin git@github.com:FangShuohan/task_handler.git
git remote -v第二次 git remote -v 应显示 git@github.com:...,而不是 https://...。
git add .
git commit -m "Update Taskflow"
git branch -M main
git push -u origin main如果 GitHub 仓库已经在线创建过 README,首次推送可能提示远程有新提交:
git pull --rebase origin main
git push -u origin main有冲突时,按 Git 提示修改文件后执行 git add <文件>、git rebase --continue,完成后再次 push。不要用强制推送覆盖远程仓库,除非你确认远程内容可以丢弃。
GitHub 的命令行导入说明: https://docs.github.com/en/migrations/importing-source-code/using-the-command-line-to-import-source-code/adding-locally-hosted-code-to-github
- 别人打不开 localhost:这是预期行为,请使用 GitHub Pages 或 Cloudflare Pages 的 HTTPS 地址。
- 安卓找不到“安装应用”:先确认使用 Chrome 打开的是 HTTPS 公网地址;
localhost或普通 HTTP 页面通常不会显示 PWA 安装入口。 - 推送被拒绝:先执行
git remote -v和ssh -T git@github.com,确认远程地址和 SSH 密钥配置正确,再按上面的pull --rebase流程同步远程提交。