- 人机验证抽成 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 真生效为判据)
33 lines
1.7 KiB
HTML
33 lines
1.7 KiB
HTML
{{ define "main" }}
|
|
<div id="pjax-container" uk-scrollspy="target: > #szh,hr,h2,p; cls: uk-animation-slide-bottom-small; delay: 0">
|
|
<!-- 用于 Pjax 获取当前文章 ID -->
|
|
<div id="data-pid" style="display:none;">{{ .RelPermalink }}</div>
|
|
<div class="post-content" itemprop="articleBody" uk-scrollspy="target: > #szh; cls: uk-animation-slide-bottom-small; delay: 0">
|
|
{{ .Content }}
|
|
<div id="szh" onclick="copySzhContent()" style="cursor: pointer;" title="点击复制">
|
|
- 名称:{{ .Site.Params.message_info.name | default .Site.Params.artalk.site }}<br>
|
|
- 简介:{{ .Site.Params.message_info.description | default .Site.Params.author.description }}<br>
|
|
- 链接:{{ .Site.Params.message_info.url | default .Site.BaseURL }}<br>
|
|
- 图标:{{ .Site.Params.message_info.icon | default .Site.Params.author.avatar }}
|
|
</div>
|
|
</div>
|
|
{{ partial "divider.html" . }}
|
|
<div class="comments-area">
|
|
<!-- 评论区内容 -->
|
|
{{ partial "artalk.html" . }}
|
|
<!-- 评论区内容结束 -->
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{{/* 本页原先的两段内联脚本都已抽成模块(随 page-only.js 加载)。
|
|
抽出的原因:内联 <script> 写在 #pjax-container 外面,PJAX 只替换容器内容、
|
|
不会重新执行它 —— 从首页 PJAX 进本页时脚本根本没跑,于是出现
|
|
「申请友链卡片点了没反应」「没有人机验证控件」;直接刷新(整页加载)才正常。
|
|
|
|
· 友链自助申请弹窗 → assets/js/modules/friendlink.js
|
|
· 人机验证控件 → assets/js/modules/human.js
|
|
(文章页与留言页共用:文章页评论同样走服务端 humanGate,
|
|
而验证脚本原先只在本页,新访客在文章页会 403) */}}
|
|
{{ end }}
|