chore(spec): 归档 blog-5l——三任务收敛(预览一致性/排版提醒/瞬间置顶隐藏)
Spec: 2026-11-05_blog-5l-admin-preview-moments Co-authored-by: GLM-5.3
This commit is contained in:
1 parent
c5889f960b
commit
b99e6e744b
17 files changed
+406
-17
No files matched your search
@@ -16,9 +16,15 @@ const { locale = 'zh' } = Astro.props;
|
||||
// 标题下说明:文字与样式都可后台改(白名单校验,非法值回落)
|
||||
const note = await pageNote('moments', locale);
|
||||
|
||||
const moments = (await getCollection('moments')).sort(
|
||||
(a, b) => b.data.pubDate.getTime() - a.data.pubDate.getTime(),
|
||||
);
|
||||
// 5l:可见性 = 真字段 hidden(瞬间无单条页面,隐藏即列表移除,与文章语义的差异见 docs/管理台.md);
|
||||
// 排序 = 置顶优先 → 日期倒序(与 posts/books 同口径,支持多置顶)
|
||||
const moments = (await getCollection('moments'))
|
||||
.filter((m) => !m.data.hidden)
|
||||
.sort(
|
||||
(a, b) =>
|
||||
Number(b.data.pinned ?? false) - Number(a.data.pinned ?? false) ||
|
||||
b.data.pubDate.getTime() - a.data.pubDate.getTime(),
|
||||
);
|
||||
|
||||
// 富文本预渲染(Phase 5h T2):text 走与页面文案同一条管线(markdown → 内容净化 →
|
||||
// class 白名单 → 链接卡片),因此瞬间支持 **加粗**、<span class="c-blue font-kai">、列表与换行。
|
||||
@@ -46,6 +52,9 @@ const iso = (d: Date) => d.toISOString();
|
||||
{iso(m.data.pubDate).slice(0, 10)}
|
||||
</time>
|
||||
<div class="mom-card">
|
||||
{m.data.pinned && (
|
||||
<span class="pin" title={t('pinned_label', locale)}>{t('pinned_label', locale)}</span>
|
||||
)}
|
||||
{m.data.image && (
|
||||
<figure
|
||||
class:list={[
|
||||
@@ -200,6 +209,18 @@ const iso = (d: Date) => d.toISOString();
|
||||
color: var(--ink-4);
|
||||
font-variant-numeric: tabular-nums;
|
||||
}
|
||||
/* 置顶徽标:视觉与 posts 的 .pin 对齐(灰阶小徽章,不染 accent) */
|
||||
.pin {
|
||||
display: inline-block;
|
||||
margin-bottom: var(--space-2);
|
||||
font-family: var(--font-mono);
|
||||
font-size: 10.5px;
|
||||
line-height: 1.5;
|
||||
color: var(--ink-4);
|
||||
border: 1px solid var(--line);
|
||||
border-radius: 4px;
|
||||
padding: 0 5px;
|
||||
}
|
||||
.mom-card {
|
||||
border: 1px solid var(--line);
|
||||
border-radius: 12px;
|
||||
|
||||
Reference in new issue
Block a user