Files
blog/themes/Ying/layouts/partials/divider.html
T
zqlit e0c5ac5739 feat(comments): 人机验证改点按式 + 分割线可配置 + 投票契约修复
- 人机验证抽成 human.js 模块,改成 Cloudflare Turnstile 风格的「点一下验证」,
  控件移到「评论一下」发送按钮左侧(不再用图形验证码那一套)
- 留言页 / 文章页两段内联脚本(友链弹窗、人机验证)抽成模块随 page-only.js 加载。
  原先内联 <script> 写在 #pjax-container 外,PJAX 只换容器内容不重新执行它,
  从首页 PJAX 进留言页会出现「申请友链卡片点了没反应」「没有人机验证控件」
- 友链申请弹窗 #flApplyBox 隐藏滚动条(内容仍可滚,避开细滚动条 + 毛玻璃的割裂感)
- 内容分割线抽成 partial divider.html,hugo.toml [params.divider] 可切
  icon(原生 uk-divider-icon)/ image(本地图片),当前用 icon
- 投票契约修复(后端 blog-admin):Artalk 客户端把方向编在 target_name 后缀
  (comment_up / comment_down / page_up / page_down)、路径只有两段,
  而原先只注册了三段 :choice 路由 → 点赞/踩一路 404、界面点了没反应。
  补 POST /votes/:target_name/:target_id,新增 parseVoteTarget() 同时兼容两套契约
  (名字里与路径里方向矛盾时判非法,不静默取其一),错误文案改用实体名
- 无身份点赞不再静默失败:artalk.js 加 __atkVoteGuard,
  未填昵称/邮箱时拦截并提示「填写昵称和邮箱后才能点赞」,
  同时把光标送到昵称框(多个同名输入框逐个试,以 focus 真生效为判据)
2026-10-04 16:26:28 +08:00

21 lines
962 B
HTML

{{/* 内容分割线。样式在 hugo.toml 的 [params.divider] 里切换:
[params.divider]
style = "icon" # icon = 主题原生 uk-divider-icon(圆圈 + 两侧细线)
# image = 使用本地图片
image = "/image/footer-animal.webp" # image 样式生效;图片放 static/ 下
height = "110px" # image 样式生效;图片最大高度
图片必须本地化(放 static/),不要直接引外链。 */}}
{{- $d := site.Params.divider | default dict -}}
{{- $style := $d.style | default "icon" -}}
{{- if eq $style "image" -}}
{{- $src := $d.image | default "/image/footer-animal.webp" -}}
{{- $h := $d.height | default "110px" -}}
<div class="post-divider post-divider-image" aria-hidden="true">
<img src="{{ $src }}" alt="" loading="lazy" decoding="async" style="--divider-max-h:{{ $h }}">
</div>
{{- else -}}
<hr class="uk-divider-icon">
{{- end -}}