2026-05-25 00:03:50 +08:00
|
|
|
{{ $artalkCss := resources.Get "css/libs/Artalk.css" | resources.Minify | resources.Fingerprint }}
|
|
|
|
|
<link id="artalk-css" rel="stylesheet" href="{{ $artalkCss.RelPermalink }}">
|
2025-03-31 10:46:45 +08:00
|
|
|
<style>
|
|
|
|
|
.atk-loading{
|
|
|
|
|
background: #FFFFFF;
|
|
|
|
|
}
|
2026-01-31 21:27:06 +08:00
|
|
|
.atk-loading-editor-box {
|
|
|
|
|
margin-bottom: 30px;
|
|
|
|
|
border: 1px solid var(--frame-color);
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
padding: 10px;
|
|
|
|
|
background: #fff;
|
|
|
|
|
}
|
|
|
|
|
[data-theme="dark"] .atk-loading-editor-box {
|
|
|
|
|
border-color: var(--frame-dark-color);
|
|
|
|
|
background: transparent;
|
|
|
|
|
}
|
2025-04-06 14:53:50 +08:00
|
|
|
/*对artalk评论暗夜模式进行微调*/
|
|
|
|
|
@media (prefers-color-scheme: dark) {
|
|
|
|
|
.atk-pinned-badge {
|
|
|
|
|
color: #ffffff !important;
|
|
|
|
|
background: #ff6262 !important;
|
|
|
|
|
}
|
|
|
|
|
}
|
2026-01-18 23:09:07 +08:00
|
|
|
[data-theme="dark"] .atk-pinned-badge {
|
|
|
|
|
color: #ffffff !important;
|
|
|
|
|
background: #ff6262 !important;
|
|
|
|
|
}
|
2026-05-25 12:23:00 +08:00
|
|
|
.atk-link-badge,
|
|
|
|
|
.atk-feed-badge,
|
|
|
|
|
.atk-rank-badge {
|
|
|
|
|
display: inline-block;
|
|
|
|
|
margin-left: 4px;
|
|
|
|
|
padding: 0 6px;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
font-weight: 500;
|
|
|
|
|
border-radius: 3px;
|
|
|
|
|
line-height: 18px;
|
|
|
|
|
vertical-align: middle;
|
|
|
|
|
pointer-events: none;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}
|
|
|
|
|
.atk-link-badge {
|
|
|
|
|
color: #059669;
|
|
|
|
|
background: rgba(5,150,105,0.08);
|
|
|
|
|
border: 1px solid rgba(5,150,105,0.15);
|
|
|
|
|
}
|
|
|
|
|
.atk-feed-badge {
|
|
|
|
|
color: #d97706;
|
|
|
|
|
background: rgba(217,119,6,0.08);
|
|
|
|
|
border: 1px solid rgba(217,119,6,0.15);
|
|
|
|
|
}
|
|
|
|
|
.atk-rank-badge {
|
2026-05-25 13:55:45 +08:00
|
|
|
color: #6b7280;
|
|
|
|
|
background: rgba(107,114,128,0.08);
|
|
|
|
|
border: 1px solid rgba(107,114,128,0.15);
|
2026-05-25 12:23:00 +08:00
|
|
|
font-weight: 600;
|
|
|
|
|
}
|
|
|
|
|
[data-theme="dark"] .atk-link-badge {
|
|
|
|
|
color: #34d399;
|
|
|
|
|
background: rgba(52,211,153,0.12);
|
|
|
|
|
border-color: rgba(52,211,153,0.2);
|
|
|
|
|
}
|
|
|
|
|
[data-theme="dark"] .atk-feed-badge {
|
|
|
|
|
color: #fbbf24;
|
|
|
|
|
background: rgba(251,191,36,0.12);
|
|
|
|
|
border-color: rgba(251,191,36,0.2);
|
|
|
|
|
}
|
|
|
|
|
[data-theme="dark"] .atk-rank-badge {
|
2026-05-25 13:55:45 +08:00
|
|
|
color: rgb(148,163,184);
|
|
|
|
|
background: rgba(148,163,184,0.1);
|
|
|
|
|
border-color: rgba(148,163,184,0.18);
|
2026-05-25 12:23:00 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 覆盖 Artalk 原版 .atk-badge(博主)/ .atk-pinned-badge(置顶)尺寸 */
|
|
|
|
|
.atk-comment>.atk-main>.atk-header .atk-badge {
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
padding: 0 6px;
|
|
|
|
|
font-weight: 500;
|
|
|
|
|
line-height: 18px;
|
|
|
|
|
border-radius: 3px;
|
|
|
|
|
vertical-align: middle;
|
|
|
|
|
color: #fff !important;
|
|
|
|
|
background: #1a1a1a !important;
|
|
|
|
|
}
|
|
|
|
|
.atk-comment>.atk-main>.atk-header .atk-pinned-badge {
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
padding: 0 6px;
|
|
|
|
|
font-weight: 500;
|
|
|
|
|
line-height: 18px;
|
|
|
|
|
border-radius: 3px;
|
|
|
|
|
vertical-align: middle;
|
|
|
|
|
}
|
2025-03-31 10:46:45 +08:00
|
|
|
</style>
|
2024-08-08 11:32:10 +08:00
|
|
|
<!-- Artalk -->
|
2026-01-31 18:18:19 +08:00
|
|
|
<div id="Comments" uk-scrollspy="target: > *; cls: uk-animation-slide-bottom-small; delay: 100">
|
|
|
|
|
<!-- Loading Skeleton -->
|
|
|
|
|
<div class="atk-loading-placeholder">
|
2026-01-31 21:27:06 +08:00
|
|
|
<!-- Editor Skeleton -->
|
|
|
|
|
<div class="atk-loading-editor-box">
|
|
|
|
|
<div style="display: flex; gap: 10px; margin-bottom: 10px;">
|
|
|
|
|
<div class="atk-loading-line" style="width: 32%; height: 34px; border-radius: 4px; margin-bottom: 0;"></div>
|
|
|
|
|
<div class="atk-loading-line" style="width: 32%; height: 34px; border-radius: 4px; margin-bottom: 0;"></div>
|
|
|
|
|
<div class="atk-loading-line" style="width: 32%; height: 34px; border-radius: 4px; margin-bottom: 0;"></div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="atk-loading-line" style="width: 100%; height: 120px; border-radius: 4px; margin-bottom: 10px;"></div>
|
|
|
|
|
<div style="display: flex; justify-content: space-between; align-items: center;">
|
|
|
|
|
<div class="atk-loading-line" style="width: 120px; height: 20px; margin-bottom: 0;"></div>
|
|
|
|
|
<div class="atk-loading-line" style="width: 80px; height: 34px; border-radius: 4px; margin-bottom: 0;"></div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- Comment List Skeleton -->
|
2026-01-31 18:18:19 +08:00
|
|
|
<div class="atk-loading-item">
|
|
|
|
|
<div class="atk-loading-avatar"></div>
|
|
|
|
|
<div class="atk-loading-content">
|
|
|
|
|
<div class="atk-loading-line width-name"></div>
|
|
|
|
|
<div class="atk-loading-line width-80"></div>
|
|
|
|
|
<div class="atk-loading-line width-60"></div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="atk-loading-item">
|
|
|
|
|
<div class="atk-loading-avatar"></div>
|
|
|
|
|
<div class="atk-loading-content">
|
|
|
|
|
<div class="atk-loading-line width-name"></div>
|
|
|
|
|
<div class="atk-loading-line width-60"></div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2024-08-08 11:32:10 +08:00
|
|
|
<!-- JS -->
|
2026-01-23 16:20:37 +08:00
|
|
|
<!-- <script src="/js/Artalk.js"></script> -->
|
2024-08-08 11:32:10 +08:00
|
|
|
<script>
|
2026-01-30 21:11:05 +08:00
|
|
|
// Configuration for Artalk and AI Comment
|
|
|
|
|
window.artalkConfig = {
|
|
|
|
|
el: '#Comments',
|
|
|
|
|
server: '{{ .Site.Params.artalk.server }}',
|
|
|
|
|
site: '{{ .Site.Params.artalk.site }}',
|
2026-01-31 21:27:06 +08:00
|
|
|
aiBadge: '{{ .Site.Params.artalk.ai_badge | default "AI" }}',
|
2026-01-30 21:11:05 +08:00
|
|
|
pageKey: '{{ .RelPermalink }}',
|
2026-01-31 23:01:35 +08:00
|
|
|
emoticons: '{{ .Site.Params.artalk.emoticons | absURL }}',
|
2026-01-30 21:11:05 +08:00
|
|
|
aiComment: {{ if .Params.ai_comment }}
|
|
|
|
|
{{ $avatar := .Site.Params.ai.avatar }}
|
|
|
|
|
{{ if not $avatar }}{{ $avatar = .Site.Params.author.avatar }}{{ end }}
|
|
|
|
|
{{ if not $avatar }}{{ $avatar = "https://cravatar.cn/avatar/unknown?d=mp" }}{{ end }}
|
|
|
|
|
{{ dict "content" .Params.ai_comment "avatar" $avatar "name" (.Site.Params.ai.name | default "AI Assistant") "date" (.Date.Format "2006-01-02") | jsonify | safeJS }}
|
|
|
|
|
{{ else }}null{{ end }}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// Execute Initialization immediately if function exists (PJAX re-execution),
|
|
|
|
|
// otherwise wait for DOMContentLoaded (Initial load)
|
|
|
|
|
(function() {
|
|
|
|
|
if (typeof window.initArtalk === 'function') {
|
|
|
|
|
window.initArtalk();
|
|
|
|
|
} else {
|
|
|
|
|
document.addEventListener("DOMContentLoaded", function() {
|
|
|
|
|
if (typeof window.initArtalk === 'function') {
|
|
|
|
|
window.initArtalk();
|
|
|
|
|
}
|
|
|
|
|
});
|
2026-01-23 16:20:37 +08:00
|
|
|
}
|
2026-01-30 21:11:05 +08:00
|
|
|
})();
|
2026-01-23 16:20:37 +08:00
|
|
|
</script>
|