feat(media): hidden 标签过滤与指南 public/media 约定(T5 补)

- 首页/归档/RSS(zh+en)集合查询统一 draft+hidden 双过滤——样张
  永久保留为可访问不列出的活样例(回归测试资产)
- 写作指南视音频段更正:raw HTML 相对路径不走资产管线(实测),
  媒体放 public/media/{slug}/ 用绝对 /media/ 引用,与仓外 store
  同命名空间

验证: pnpm astro build exit 0(hidden 过滤后样张退出列表与 RSS)

Spec: 2026-10-25_add-media-and-polish

Co-authored-by: GLM-5.3
This commit is contained in:
wait4xandGLM-5.3 committed 2026-10-25 11:50:53 +08:00
1 parent dcc20e9fb3
commit 71a799bd97
9 files changed
+82 -18

No files matched your search

+61
View File
@@ -10,6 +10,65 @@ const { pageKey, pageTitle } = Astro.props;
<div id="artalk-container" data-page-key={pageKey} data-page-title={pageTitle}></div>
<!-- Artalk 主题接管:--at-color-* 全套映射到站点 tokens(值均为 var(),明暗随
html[data-theme] 翻转 tokens 自动生效,一套规则双态成立)。
依据:Artalk.css(v2.10) 全部表面由这 18 个变量驱动;init 锁 darkMode:false
防 Artalk 自带 atk-dark-mode 类与接管层打架。弹层挂 body 下需单独同款映射 -->
<style is:global>
#artalk-container,
.atk-layer-wrap {
--at-color-bg: var(--bg);
--at-color-bg-transl: color-mix(in oklab, var(--bg) 95%, transparent);
--at-color-bg-grey: var(--bg-soft);
--at-color-bg-grey-transl: color-mix(in oklab, var(--bg-soft) 95%, transparent);
--at-color-bg-light: var(--accent-soft);
--at-color-border: var(--line);
--at-color-font: var(--ink-2);
--at-color-deep: var(--ink-1);
--at-color-sub: var(--ink-3);
--at-color-grey: var(--ink-3);
--at-color-meta: var(--ink-4);
--at-color-light: var(--ink-4);
--at-color-main: var(--accent);
/* 高度限高渐隐遮罩必须与 bg 同源,否则暗色下露白腿 */
--at-color-gradient: linear-gradient(180deg, transparent, var(--bg));
/* red/pink/yellow/green 语义功能色保留官方默认:纪律只管气质,不损语义 */
}
/* 气质对齐(不动排版):字体、头像圆角、时间戳 mono、链接纪律 */
#artalk-container {
font-family: var(--font-sans);
}
#artalk-container .atk-avatar img {
border-radius: 8px;
}
#artalk-container .atk-meta,
#artalk-container .atk-ua {
font-family: var(--font-mono);
font-size: 12px;
}
#artalk-container .atk-copyright {
font-family: var(--font-mono);
font-size: 11px;
color: var(--ink-4);
}
#artalk-container .atk-textarea,
#artalk-container .atk-input,
#artalk-container .atk-send-btn,
#artalk-container .atk-btn {
border-radius: 8px;
}
#artalk-container .atk-content a {
color: var(--accent);
text-decoration: underline;
text-decoration-color: color-mix(in oklab, var(--accent) 40%, transparent);
text-underline-offset: 0.2em;
}
#artalk-container .atk-content a:hover {
text-decoration-color: var(--accent);
}
</style>
<script>
const el = document.getElementById('artalk-container');
if (el) {
@@ -30,6 +89,8 @@ const { pageKey, pageTitle } = Astro.props;
pageKey: el.dataset.pageKey,
pageTitle: el.dataset.pageTitle,
locale: 'zh-CN',
// 锁亮皮:明暗由页面 tokens 接管(见上方 --at-* 映射),避免双暗色机制叠加
darkMode: false,
});
};
// 进入视口 ~200px 前挂载;无 IO 环境直接挂