首页页脚加三个链接,全部新窗口打开:
https://code.yangyq.net/laoyang/simple_password
https://password.yangyq.net/
https://feedlite.yangyq.net/?sw=simple_password
页脚目前只有一行文案(index.html:1087):
index.html:1087
<footer class="foot"> <b>全程本地运算</b><span class="sep">·</span>使用 Web Crypto 密码学安全随机数<span class="sep">·</span>不联网、不上传、不留痕 </footer>
.foot 样式:text-align:center、font-size:11px、color:var(--text-3)。
.foot
text-align:center
font-size:11px
color:var(--text-3)
feedlite HTTP 200 gitea HTTP 200 demo HTTP 200
.sep
target="_blank"
rel="noopener noreferrer"
window.opener
var(--text-3)
href
?sw=simple_password
rel
noopener
⚠️ _sp_file_check.js 的「无外部资源引用」只查 script[src] 和 link[href], 不查 <a href>,所以加链接不会误触发。但要新增判据验证链接本身, 否则"改了"和"改对了"没区别。
_sp_file_check.js
script[src]
link[href]
<a href>
改完走 ~/code/_tooling/_sp_deploy.sh,五步验证全过才算完。
~/code/_tooling/_sp_deploy.sh
三个链接已上线:https://password.yangyq.net/
$ curl -sS https://password.yangyq.net/ | grep -o '<a href="..." target=...' <a href="https://code.yangyq.net/laoyang/simple_password" target="_blank" rel="noopener noreferrer">开源地址</a> <a href="https://password.yangyq.net/" target="_blank" rel="noopener noreferrer">演示地址</a> <a href="https://feedlite.yangyq.net/?sw=simple_password" target="_blank" rel="noopener noreferrer">反馈</a>
cef97fff3d8b76139ece60d35b39bdfa
www:www 664
9b92c1e
<nav aria-label="项目相关链接">
--text-3
--accent
::after
↗
flex + flex-wrap
_sp_test.js
_sp_visual.js
_sp_clip.js
_sp_footer_links.py
_sp_footer_render.py
git show HEAD:index.html
我先把改过的文件 cp 成 index_orig.html,再拿它当"原始文件"去验判据 —— 结果 23/23 全绿,看着像"判据没牙齿"。 真相是那个副本已经是改过的。原始文件的唯一可靠来源是 git show HEAD:index.html,不是手边的副本。
cp
index_orig.html
第一版截图脚本只设了 data-theme="light"。但页面第 16–19 行的内联脚本会用 prefers-color-scheme 覆盖 data-theme,而 headless Chromium 默认偏好 light。
data-theme="light"
prefers-color-scheme
data-theme
后果:所谓 "dark 用例" 拿到的其实是浅色页面,三张 PNG 的 md5 完全一样 (都是 74079 字节),而对比度判据照样"合格"—— 因为量的是同一张图。
判据绿了,测的东西却是错的。
修法:newContext({ colorScheme }) 必须给,并额外加一条 「深色与浅色截图 md5 必须不同」的判据来兜住这类错误。
newContext({ colorScheme })
修复后实测:dark 背景 (9,10,14) 对比度 7.00:1、light (244,245,248) 6.53:1、 narrow 6.16:1,全部达到 WCAG AA。
(9,10,14)
(244,245,248)
~/code/_tooling/(不属仓库,两端 md5 一致):
~/code/_tooling/
_sp_footshot.js
memory/projects/simple-password/README.md 已更新,commit cbca40a 已推送。
memory/projects/simple-password/README.md
cbca40a
No dependencies set.
The note is not visible to the blocked user.
需求
首页页脚加三个链接,全部新窗口打开:
https://code.yangyq.net/laoyang/simple_passwordhttps://password.yangyq.net/https://feedlite.yangyq.net/?sw=simple_password现状
页脚目前只有一行文案(
index.html:1087):.foot样式:text-align:center、font-size:11px、color:var(--text-3)。三个链接均已实测可访问
实现要点
.sep分隔复用现有视觉语言target="_blank"+rel="noopener noreferrer"(后者防止新窗口拿到window.opener)var(--text-3)),hover 才提亮,别抢主体按钮的视觉判据(不能只看"加上了")
href与需求逐字相符(含?sw=simple_password查询串)target="_blank"rel含noopener⚠️
_sp_file_check.js的「无外部资源引用」只查script[src]和link[href],不查
<a href>,所以加链接不会误触发。但要新增判据验证链接本身,否则"改了"和"改对了"没区别。
部署
改完走
~/code/_tooling/_sp_deploy.sh,五步验证全过才算完。完成情况
三个链接已上线:https://password.yangyq.net/
线上实测(不是"部署成功"就算)
cef97fff3d8b76139ece60d35b39bdfa(一致)www:www 6649b92c1e,已推送实现
<nav aria-label="项目相关链接">包裹target="_blank"+rel="noopener noreferrer"--text-3,hover 才切--accent,不跟主按钮抢焦点::after加↗表示"会跳出本页"flex + flex-wrap,320px 视口实测不溢出、不换行回归(全部在 WSL 实跑)
_sp_test.js_sp_visual.js_sp_clip.js_sp_file_check.js_sp_footer_links.py_sp_footer_render.py判据不是空靶子(都验过能红)
_sp_footer_links.pygit show HEAD:index.html原始文件跑_sp_footer_render.py过程中发现的两个问题(都修了,也都记进记忆)
1. 验判据时差点自欺
我先把改过的文件
cp成index_orig.html,再拿它当"原始文件"去验判据 ——结果 23/23 全绿,看着像"判据没牙齿"。
真相是那个副本已经是改过的。原始文件的唯一可靠来源是
git show HEAD:index.html,不是手边的副本。2. 深浅主题测试方法错了,判据却照样绿
第一版截图脚本只设了
data-theme="light"。但页面第 16–19 行的内联脚本会用prefers-color-scheme覆盖data-theme,而 headless Chromium 默认偏好 light。后果:所谓 "dark 用例" 拿到的其实是浅色页面,三张 PNG 的 md5 完全一样
(都是 74079 字节),而对比度判据照样"合格"—— 因为量的是同一张图。
判据绿了,测的东西却是错的。
修法:
newContext({ colorScheme })必须给,并额外加一条「深色与浅色截图 md5 必须不同」的判据来兜住这类错误。
修复后实测:dark 背景
(9,10,14)对比度 7.00:1、light(244,245,248)6.53:1、narrow 6.16:1,全部达到 WCAG AA。
新增脚本
~/code/_tooling/(不属仓库,两端 md5 一致):_sp_footer_links.py—— 23 项:href 逐字、target、rel、样式、不溢出_sp_footshot.js—— 生成深浅 + 320px 三张页脚截图_sp_footer_render.py—— 7 项:主题真切换、背景色、对比度 AA、深浅图必须不同记忆归档
memory/projects/simple-password/README.md已更新,commitcbca40a已推送。