LaoKe 主题更新日志
1. [download] 下载块短代码
inc/shortcodes.php · CSS · assets/js/admin-shortcodes.js
- 新增
[download]短代码渲染函数 - 下载块卡片样式(按钮、图标、布局)
- 编辑器工具栏新增下载块插入对话框
2. 后台设置整理
inc/integrations.php
- 删除重复注册的字号设置
- 删除无对应实现的"后台美化"设置
- 修复误删函数结尾
}导致的 Server Error
3. 代码块一键复制
Prism.js · assets/js/main.js
- 集成 Prism.js toolbar 插件
- 注册 copy-button,所有代码块右上角出现复制按钮
4. 手机端 TOC 首次点击修复
assets/js/main.js
| 问题 | 原因 | 修复 |
|---|---|---|
| TOC 默认展开,首次点击无反应 | tocList.hidden = !expanded 取反 | 改为 tocList.hidden = expanded |
5. 导航栏搜索功能
header.php · footer.php · assets/js/main.js · assets/css/components.css
- 导航栏新增搜索按钮(桌面端可见,手机端隐藏)
- 搜索弹窗:输入框、回车搜索、日间/夜间配色
- 搜索历史:localStorage 存储,最多 20 条,去重
- 单条删除 + 清空历史 + 空状态插图
6. 搜索结果页美化
archive.php
- 搜索关键词高亮
- 头部显示 "搜索:XXX" + "共 N 条结果"
- 列表项卡片风格,阅读量/评论数胶囊标签
- 无结果时友好空状态
7. 返回顶部 & 浮动搜索修复
footer.php · assets/js/main.js · assets/css/layout.css
| 问题 | 修复 |
|---|---|
| 返回顶部按钮打开新页面 | SVG 点击加 e.preventDefault() |
| 导航栏搜索图标未对齐 | 调整 .search-toggle |
| 下滑后缺少搜索入口 | 返回顶部上方新增浮动搜索 #search-float,始终可见 |
| 浮动搜索也触发导航 | 加 e.preventDefault() |
布局:桌面端导航栏搜索 + 浮动搜索并存,手机端仅浮动搜索。
8. 手机端横向溢出修复
assets/css/base.css · assets/css/layout.css
问题:手机端可左拖动出现空白,由长链接不换行、100vw 含滚动条引起。
html, body { overflow-x: hidden }
body, .container { max-width: 100vw; overflow-x: hidden }
a, p, ul, ol, table { overflow-wrap: break-word; word-break: break-word }
img, video, iframe, table { max-width: 100%; height: auto }
pre[class*="language-"] { white-space: pre-wrap }手机端搜索弹窗 100vw → calc(100% - env(safe-area-inset-left) - env(safe-area-inset-right))
9. [mp3] 支持直链播放
inc/shortcodes.php · assets/js/main.js · assets/js/admin-shortcodes.js
PHP 自动检测内容类型:
| 填入 | 属性 | 行为 |
|---|---|---|
| 网易云 ID(数字) | data-song-id | meting API → APlayer(含歌词) |
直链(https:// 开头) | data-src | 直接 APlayer(无歌词) |
JS 优先检查 data-src,直链模式自动从 URL 提取文件名作歌名,中文 URL 自动 decode。
编辑器:标题改为"插入音频",工具栏"网易云"→"音频",单字段通用输入。
10. Moments 图片灯箱
assets/js/vendor/viewimages.js
问题:viewimages.bind() 只绑定 .post-content,时光机图片在 .comment-content 无法放大。
修复:选择器扩展为 .post-content, .comment-content。
效果:时光机图片可点击放大/缩小、滚轮缩放、左右切换、蒙层关闭。
11. 评论者网站链接
comments.php
评论者填写网址后,头像和昵称均包裹 <a target="_blank" rel="noopener noreferrer">,点击新窗口打开其网站。未填网址不受影响。时光机和普通评论均生效。
12. 搜索页面 Server Error 修复
header.php · archive.php
问题:访问 /search/ 无关键词时触发 404 模板,header.php 中 $this->permalink() 传入 null 给 Router::url(),PHP 8 类型检查抛 Fatal Error。
| 文件 | 修复 |
|---|---|
header.php | canonical 标签加 is('single') 判断,非文章页不调用 permalink() |
archive.php | $keywords 加 ?? '' 空值合并,避免 null 传入 htmlspecialchars() |
涉及文件汇总
| 文件 | 改动 |
|---|---|
inc/shortcodes.php | 下载块、mp3 双模式 |
inc/integrations.php | 设置去重、清理无效项 |
header.php | canonical 标签加固 |
comments.php | 评论者网站链接 |
archive.php | 搜索结果美化、keywords 空值加固 |
assets/js/main.js | TOC、搜索弹窗、返回顶部、浮动搜索、mp3、代码复制 |
assets/js/admin-shortcodes.js | 下载块、mp3 对话框 |
assets/js/vendor/viewimages.js | 时光机图片灯箱 |
assets/css/base.css | 溢出修复 |
assets/css/layout.css | 搜索布局、溢出修复 |
assets/css/components.css | 搜索弹窗样式 |
assets/css/pages.css | 下载块、相册样式 |
评论
暂无评论