Files
blog/themes/Ying/layouts/_default/single.html
T

109 lines
4.7 KiB
HTML
Raw Normal View History

2024-07-11 08:59:32 +08:00
{{ define "main" }}
<div id="pjax-container">
2026-01-20 21:13:24 +08:00
<!-- 用于 Pjax 获取当前文章 ID -->
<div id="data-pid" style="display:none;">{{ .RelPermalink }}</div>
2026-02-02 21:39:05 +08:00
<article style="margin-bottom: 1.5em;">
2026-01-20 20:09:46 +08:00
<h1 class="post-title" itemprop="name headline" uk-scrollspy="cls: uk-animation-slide-top-small; delay: 200">{{ .Title }}</h1>
2026-01-31 18:18:19 +08:00
<div class="meta" uk-scrollspy="cls: uk-animation-slide-bottom-small; delay: 300">
2026-01-23 22:02:11 +08:00
<span class="meta-item">作者: {{ .Params.author | default .Site.Params.author.name }}</span>
2026-01-23 14:31:45 +08:00
<span class="meta-item">浏览: <span id="busuanzi_value_page_uv"></span></span>
<span class="meta-item">字数: {{ .WordCount }}</span>
<span class="meta-item">阅读: 约 {{ .ReadingTime }} 分钟</span>
2026-03-01 10:51:12 +08:00
{{ with .GetTerms "categories" }}
2026-01-23 14:31:45 +08:00
<span class="meta-item">分类:
2026-03-01 10:51:12 +08:00
{{ range . }}
2026-01-23 14:31:45 +08:00
<a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a>
{{ end }}
</span>
2026-03-01 10:51:12 +08:00
{{ end }}
2024-07-11 08:59:32 +08:00
</div>
2026-01-30 21:11:05 +08:00
2026-06-02 12:44:47 +08:00
<div class="post-content" id="post-writing" itemprop="articleBody">
2024-07-11 08:59:32 +08:00
{{ .Content }}
</div>
2026-02-02 21:36:53 +08:00
2026-06-02 12:44:47 +08:00
<script>
2026-06-02 14:34:23 +08:00
function initPostScrollspy() {
2026-06-02 12:44:47 +08:00
var content = document.getElementById('post-writing');
if (!content) return;
2026-06-02 16:26:38 +08:00
// 只给关键元素加动画,减少 observer 数量
content.querySelectorAll('h2, h3, blockquote, table, figure').forEach(function(el) {
2026-06-02 14:34:23 +08:00
if (!el.hasAttribute('uk-scrollspy')) el.setAttribute('uk-scrollspy', 'cls: uk-animation-fade; delay: 60');
2026-06-02 12:44:47 +08:00
});
2026-06-02 16:26:38 +08:00
content.querySelectorAll('.post-video, .link-card').forEach(function(el) {
2026-06-02 14:34:23 +08:00
if (!el.hasAttribute('uk-scrollspy')) el.setAttribute('uk-scrollspy', 'cls: uk-animation-slide-bottom-small; delay: 100');
2026-06-02 12:44:47 +08:00
});
2026-06-02 14:34:23 +08:00
}
document.addEventListener('DOMContentLoaded', initPostScrollspy);
2026-06-02 12:44:47 +08:00
</script>
2026-02-02 21:36:53 +08:00
2024-07-11 08:59:32 +08:00
</article>
2024-07-12 14:55:59 +08:00
<hr class="uk-divider-icon">
2026-02-02 21:36:53 +08:00
<!-- 打赏模块 -->
{{ if .Site.Params.reward.enable }}
<div class="reward-container" uk-scrollspy="cls: uk-animation-slide-bottom-small; delay: 600">
<button id="reward-btn" class="reward-btn">
<i class="ri-hand-coin-line"></i>打赏一下
</button>
<div id="reward-modal" class="reward-modal">
<div class="reward-content">
<div class="reward-close" id="reward-close">
<i class="ri-close-line"></i>
</div>
2026-02-05 21:38:00 +08:00
<h3 class="reward-title">请作者喝杯咖啡,鼓励一下吧!</h3>
2026-02-02 21:36:53 +08:00
<div class="reward-qr-group">
2026-02-05 21:38:00 +08:00
{{ if .Site.Params.reward.items }}
{{ range .Site.Params.reward.items }}
<div class="reward-qr-item">
<div class="reward-qr-img-wrapper">
2026-05-25 13:06:26 +08:00
<img src="{{ .image }}" alt="{{ .name }}打赏" loading="lazy">
2026-02-05 21:38:00 +08:00
</div>
<span>{{ .name }}</span>
2026-02-02 21:36:53 +08:00
</div>
2026-02-05 21:38:00 +08:00
{{ end }}
{{ else }}
{{ with .Site.Params.reward.wechat }}
<div class="reward-qr-item">
<div class="reward-qr-img-wrapper">
2026-05-25 13:06:26 +08:00
<img src="{{ . }}" alt="微信打赏" loading="lazy">
2026-02-05 21:38:00 +08:00
</div>
<span>微信</span>
2026-02-02 21:36:53 +08:00
</div>
2026-02-05 21:38:00 +08:00
{{ end }}
{{ with .Site.Params.reward.alipay }}
<div class="reward-qr-item">
<div class="reward-qr-img-wrapper">
2026-05-25 13:06:26 +08:00
<img src="{{ . }}" alt="支付宝打赏" loading="lazy">
2026-02-05 21:38:00 +08:00
</div>
<span>支付宝</span>
</div>
{{ end }}
{{ with .Site.Params.reward.qq }}
<div class="reward-qr-item">
<div class="reward-qr-img-wrapper">
2026-05-25 13:06:26 +08:00
<img src="{{ . }}" alt="QQ打赏" loading="lazy">
2026-02-05 21:38:00 +08:00
</div>
<span>QQ</span>
</div>
{{ end }}
2026-02-02 21:36:53 +08:00
{{ end }}
</div>
</div>
</div>
</div>
{{ end }}
2024-07-11 08:59:32 +08:00
<div id="comments" class="comments-area">
<!-- 评论区内容 -->
2026-01-30 21:11:05 +08:00
2026-06-02 15:37:49 +08:00
{{ if or (eq .Type "about") (eq .Type "posts") }}
2024-08-08 13:30:21 +08:00
{{ partial "artalk.html" . }}
2024-07-13 15:15:32 +08:00
{{ end }}
<!-- 评论区内容结束 -->
2024-07-11 08:59:32 +08:00
</div>
</div>
2024-07-31 16:27:35 +08:00
{{ end }}