用户在 /blogtime 归档页与评论区提出的 8 条改进,一次性交付。
[archives]
/blogtime
krsort
strcmp
ksort
.ar-year
font-size: 22px
.ar-head
display:flex; align-items:center
.ar-month-count
.ar-nav-btn
var(--ar-line)
.comments-head
.comment-toolbar-sep
:hover
.comment-submit
.comments-jump-form
number_format_i18n()
/theme-update/
wp-content/themes/kratos_yang/
用户第 8 条要求「检查一下代码,看看里面有没有没用到的 js 和 css,有可能是之前遗留的,如果是没用的、没起到效果的,应该尽量删除」。
我做了四轮查证,结论是:没有可以安全删除的资源。下面把每一轮的方法和结论写清楚,避免以后有人再从零查一遍。
枚举 assets/js(13 个)+ assets/css(14 个),逐个在 103 个非 assets 源文件里搜文件名:
assets/js
assets/css
kratos.js
kratos.css
kratos.min.js
kratos.min.css
grin()
javascript:grin(...)
.min
inc/theme-core.php:55、90
抓 首页/归档页/留言本/关于/分类页 的真实 DOM(含滚到底触发懒加载),取类名并集得 257 个,再拿主题自己的 6 个 CSS 里定义的全部类名去比,得到 64 个「DOM 里没有」的候选。
这 64 个基本都是误报,因为 JS 会动态建类名:
.yang-toc-*
toc.js
theme-toc.php:629
'yang-toc-lv' . $lv
:985
'yang-toc-rail-' . $side
.yang-lb-*
lightbox.js
.is-pending
.is-new
.is-hidden
classList.add
.is-ok
.is-err
comments.js:66
' is-' + type
.comments-empty
.yang-comment-edit
.comments-login-required
三条同时成立才算死:① CSS 定义过;② 5 页 DOM 都没有;③ 全部 PHP/JS 源码都搜不到该字符串。并加了白名单(post-2 admin-bar wp-smiley sr-only 等 WP/Bootstrap 标准类名)。
post-2
admin-bar
wp-smiley
sr-only
剩 10 个候选,逐个核实后全部是活的:
.yang-dark
toc.css:508
.yang-toc-lv3/4/5/6
.yang-toc-rail-left/right
.yang-lb-lock
lightbox.css:100
.comment-body
Yang_Walker_Comment
.yang-toc-target
h1[id]
h6[id]
onScroll
addEventListener
.bak
.old
*~
.orig
.swp
.DS_Store
assets/js/buttons/more.js
theme-shortcode.php
3.2.48 不删除任何 JS/CSS。用户要的「尽量删除没用的」,就这份代码库而言,答案是「确实没有可删的」—— 前几轮看着像垃圾的,全是有意设计的预留钩子、拼接类名或兜底网。
3.2.48
这一条也是本轮最有价值的产出:如果按「DOM 里没出现就删」去动手,会删掉侧边目录、图片灯箱、暗色主题适配、滚动锁兜底——线上会立即可见地坏掉,而静态 grep 和单页探针都发现不了。
492d8e1
八条需求全部落地,zip 与 readme 已推到 /theme-update/,update.json 已指向 3.2.48。 服务器上的 wp-content/themes/kratos_yang/ 没有被覆盖(仍是 3.2.47),需要你在 WP 后台点一次升级。
update.json
.sort((a,b)=>b-a)
.yang-archives .ar-year
.k-main .details .article .content h3
.k-main
.ar-month-title
align-items
flex-end
sprintf(esc_html__('共 %s 篇'))
monthCount
totalFmt
1px solid #cfe6fb
.ar-nav-year
.ar-nav-arrow
[B] │ [I] │ [A] │ [😊] │ [</>]
最初以为把标题 flex: 1 1 auto 撑宽就行。实测不行:.comments-head 是 flex 行,右边还站着 「写下你的评论」按钮(flex: 0 0 auto),标题撑满也只能长到按钮左边缘——原理上到不了右端 (实测标题 110.5px vs 评论项 561.98px,差的 451px 就是按钮 + gap)。
flex: 1 1 auto
flex: 0 0 auto
最终把线从标题搬到 .comments-head 容器上,标题显式 border-bottom: none 干掉 kratos 的 #f0f0f0(否则一短一长两条,比原来更难看)。
border-bottom: none
#f0f0f0
容器那条规则必须带 .k-main 前缀才压得过 kratos 的 .comments .title。 第一版注释里写着「带 .k-main 前缀」,代码里漏了——发布脚本报红才发现的。 注释不能当证据。
.comments .title
WP 后台 → 外观 → 主题 → 检查更新 → 升级到 3.2.48。
升级后我可以跑线上真实几何探针复核(现在量到的仍是 3.2.47 的旧形态)。 先不关单,等你升级完确认效果再关。
按用户确认收尾,交付内容见上条发布评论。
交付版本:3.2.48(归档倒序/字号/底边对齐 + 评论标题线等长 + 工具条分隔线统一)
用户已验收(线上主题已升级至 3.2.58,包含本单全部改动),关闭本单。
No dependencies set.
The note is not visible to the blocked user.
来源
用户在 /blogtime 归档页与评论区提出的 8 条改进,一次性交付。
需求清单
一、归档页(
[archives]短代码 //blogtime)krsort)、日期已倒序(strcmp降序),月份是升序(ksort)⇒ 只这一项要改.ar-year当前font-size: 22px.ar-head是display:flex; align-items:center⇒ 小字号的总数被垂直居中,比年份顶部还高.ar-month-count只输出数字,读者无法理解含义二、上一页 / 下一页按钮
.ar-nav-btn现在是灰边框var(--ar-line)+ 浅灰字,看不清三、评论区
.comments-head).comment-toolbar-sep,加粗/斜体之间缺一条四、代码卫生
验收标准
:hover浅蓝实底 + 白字;与.comment-submit/.comments-jump-form观感一致约束
number_format_i18n()不加到年份/月份等编号上(会变「2,026」)/theme-update/主题更新通道,不覆盖服务器上的wp-content/themes/kratos_yang/探针 #18-A:无用资源清查结论(不改代码,只报事实)
用户第 8 条要求「检查一下代码,看看里面有没有没用到的 js 和 css,有可能是之前遗留的,如果是没用的、没起到效果的,应该尽量删除」。
我做了四轮查证,结论是:没有可以安全删除的资源。下面把每一轮的方法和结论写清楚,避免以后有人再从零查一遍。
第一轮:文件级零引用(grep 引用点)
枚举
assets/js(13 个)+assets/css(14 个),逐个在 103 个非 assets 源文件里搜文件名:kratos.js和kratos.css。kratos.min.js/kratos.min.css的源码版。kratos.min.css(34,516 B)与kratos.css(47,278 B)逐条比对,规则集一致,是压缩产物。kratos.min.js里额外含grin()表情函数,站点的javascript:grin(...)表情链接依赖它。.min版本(inc/theme-core.php:55、90),源码版留着是给后续维护/重新压缩用的。第二轮:真实 DOM 比对(5 个代表性页面)
抓 首页/归档页/留言本/关于/分类页 的真实 DOM(含滚到底触发懒加载),取类名并集得 257 个,再拿主题自己的 6 个 CSS 里定义的全部类名去比,得到 64 个「DOM 里没有」的候选。
这 64 个基本都是误报,因为 JS 会动态建类名:
.yang-toc-*(31 个)toc.js建侧栏、theme-toc.php:629用'yang-toc-lv' . $lv拼接生成 lv3~lv6;:985用'yang-toc-rail-' . $side拼接 left/right.yang-lb-*(18 个)lightbox.js打开时才建.is-pending.is-new.is-hiddenclassList.add动态加.is-ok.is-errcomments.js:66用' is-' + type拼接.comments-empty.yang-comment-edit.comments-login-required第三轮:三重判据终审
三条同时成立才算死:① CSS 定义过;② 5 页 DOM 都没有;③ 全部 PHP/JS 源码都搜不到该字符串。并加了白名单(
post-2admin-barwp-smileysr-only等 WP/Bootstrap 标准类名)。剩 10 个候选,逐个核实后全部是活的:
.yang-dark(15 条规则)toc.css:508注释写明:「主题没有内置暗色模式,但用户可能在自定义 CSS 里加」——这是给用户自定义 CSS 预留的钩子,不是遗留垃圾.yang-toc-lv3/4/5/6.yang-toc-rail-left/right.yang-lb-locklightbox.css:100注释写明是「万一 JS 没设」的兜底网(JS 正常走内联 style).comment-bodyYang_Walker_Comment接管,当前确实不输出,但留着不算错.yang-toc-targeth1[id]…h6[id]都有效,删它省不下一个字节第四轮:其他维度
onScroll是误报(它作为addEventListener的回调被引用,不是直接调用)。.bak.old*~.orig.swp.DS_Store):0 个。assets/js/buttons/more.js:编辑器工具栏插件,theme-shortcode.php注册了 10 个按钮全指向它,活的。结论
3.2.48不删除任何 JS/CSS。用户要的「尽量删除没用的」,就这份代码库而言,答案是「确实没有可删的」—— 前几轮看着像垃圾的,全是有意设计的预留钩子、拼接类名或兜底网。这一条也是本轮最有价值的产出:如果按「DOM 里没出现就删」去动手,会删掉侧边目录、图片灯箱、暗色主题适配、滚动锁兜底——线上会立即可见地坏掉,而静态 grep 和单页探针都发现不了。
3.2.48 已发布到更新通道(提交
492d8e1)八条需求全部落地,zip 与 readme 已推到
/theme-update/,update.json已指向 3.2.48。服务器上的
wp-content/themes/kratos_yang/没有被覆盖(仍是 3.2.47),需要你在 WP 后台点一次升级。逐条对照
krsort+ JS.sort((a,b)=>b-a)。两边都得改——对象键序对纯数字整数键会强制升序,服务端排好的顺序传不过来.yang-archives .ar-year是 (0,2,0),被.k-main .details .article .content h3的 (0,4,1) 压死,线上实为 18px。加.k-main前缀提到 (0,5,0) 才真生效。.ar-month-title同一个坑,一并修.ar-head的align-items改flex-end;.ar-year的 margin 显式清零(flex-end对齐的是 margin box,不清零等于没改);窄屏媒体查询同步改,否则手机上又错回去sprintf(esc_html__('共 %s 篇')),JS 用同一个 i18n 键monthCount(新键,没复用totalFmt)1px solid #cfe6fb+ 透明底 + 深蓝字;悬停主色实底 + 白字。.ar-nav-year/.ar-nav-arrow也跟着变白,否则图标在蓝底上看不见[B] │ [I] │ [A] │ [😊] │ [</>]第 6 条改动过一次方案(值得记一笔)
最初以为把标题
flex: 1 1 auto撑宽就行。实测不行:.comments-head是 flex 行,右边还站着「写下你的评论」按钮(
flex: 0 0 auto),标题撑满也只能长到按钮左边缘——原理上到不了右端(实测标题 110.5px vs 评论项 561.98px,差的 451px 就是按钮 + gap)。
最终把线从标题搬到
.comments-head容器上,标题显式border-bottom: none干掉 kratos 的#f0f0f0(否则一短一长两条,比原来更难看)。发布判据当场抓到一个真错
容器那条规则必须带
.k-main前缀才压得过 kratos 的.comments .title。第一版注释里写着「带 .k-main 前缀」,代码里漏了——发布脚本报红才发现的。
注释不能当证据。
验证
你要做的一步
WP 后台 → 外观 → 主题 → 检查更新 → 升级到 3.2.48。
升级后我可以跑线上真实几何探针复核(现在量到的仍是 3.2.47 的旧形态)。
先不关单,等你升级完确认效果再关。
按用户确认收尾,交付内容见上条发布评论。
交付版本:3.2.48(归档倒序/字号/底边对齐 + 评论标题线等长 + 工具条分隔线统一)
用户已验收(线上主题已升级至 3.2.58,包含本单全部改动),关闭本单。