隐藏侧边栏无效归档链接
Typecho CF 隐藏侧边栏无效归档链接
本站基于 Typecho CF 搭建,侧边栏有一个「归档」小工具,链接是
/2026/10/这类日期归档地址。但本站并未在 Typecho 后台配置日期归档固定链接,点击后一律 404。
一、用 Astro 注释隐藏
在 src/pages/archive.astro 和 src/themes/typocho-theme-note/components/Archive.astro 中,找到侧边栏的「归档」块,用 Astro 注释包住:
{/*
{sidebarData.archives && sidebarData.archives.length > 0 && (
<section class="widget">
<h3 class="widget-title">归档</h3>
<ul class="widget-list">
{sidebarData.archives.map((archive) => (
<li><a href={urls.siteUrl + '/archive/'}>{archive.date}</a></li>
))}
</ul>
</section>
)}
*/}
二、为什么用 Astro 注释
必须用 {/* ... */}(Astro 注释),不要用 <!-- ... -->(HTML 注释)。
原因:
{/* ... */}是 Astro/JSX 注释,被注释的代码不会被渲染,也不会执行<!-- ... -->是 HTML 注释,虽然浏览器不显示,但 Astro 编译时依然会执行里面的.map(),可能导致报错
三、控制侧边栏数量
顺带限制「最新文章」和「最近回复」数量。编辑 src/lib/sidebar.ts,在文件顶部加两个常量:
const RECENT_POSTS_LIMIT = 5;
const RECENT_COMMENTS_LIMIT = 3;
然后在 sidebarQueries 函数中,把原来的 .limit(10) 改为:
.limit(RECENT_POSTS_LIMIT),
和
.limit(RECENT_COMMENTS_LIMIT),
以后想改数量,只需改文件顶部那两个常量即可。
四、改完要做的
- 保存
src/lib/sidebar.ts和Archive.astro - 推送到 GitHub
- 等 Cloudflare Pages 构建完成
- 去 Typecho 后台改一下站点标题再改回来,触发缓存失效
- 刷新页面,侧边栏的「归档」块就消失了
五、最终效果
- 首页侧边栏:最新文章、最近回复、分类、其它
- 归档页侧边栏:最新文章、最近回复、分类、其它
- 分类页侧边栏:最新文章、最近回复、分类、其它
- 不再出现会 404 的「归档」链接
- 最新文章 5 条,最近回复 3 条