跳转到内容

页脚与小部件配置

页脚(Footer)和小部件(Widgets)是网站底部的内容区域,包含版权信息、统计数据和推荐内容。所有配置都在 src/theme.config.ts 中。

最简单的页脚配置只需要两个字段:

src/theme.config.ts
export default defineConfig({
// ...
footer: {
since: 2025, // 博客起始年份
},
});

效果:页脚会显示”© 2025 - 2026 ❤️ 作者名 @ 网站名”

since 是你的博客开始运营的年份。

src/theme.config.ts
export default defineConfig({
footer: {
since: 2020, // 你的博客始于 2020 年
},
});

页脚会显示:© 2020 - 2026 ...(假设当前是 2026 年)

如果你的博客是今年新建的,可以填当前年份:

src/theme.config.ts
export default defineConfig({
footer: {
since: 2026,
},
});

页脚会简化显示为:© 2026 ...(不再显示年份范围)

版权信息中间有一个装饰性图标(默认是粉色爱心)。你可以自定义它的样式和颜色。

如果不配置,默认使用:

src/theme.config.ts
export default defineConfig({
footer: {
icon: {
name: "sakura rotate", // "sakura" 是樱花图标,"rotate" 是旋转动画
color: "#ffc0cb", // 粉红色
},
},
});

你可以换成任何 emoji 或图标类名:

src/theme.config.ts
export default defineConfig({
footer: {
icon: {
name: "i-ri-heart-fill", // 使用 Remix Icon 的爱心图标
color: "#ff6b6b", // 红色爱心
},
},
});

常用图标推荐:

  • "i-ri-heart-fill":实心爱心
  • "i-ri-star-fill":星星
  • "i-ri-fire-fill":火焰
  • 或者直接填 emoji:"❤️""⭐""🔥"

count 控制是否在页脚显示站点统计数据(总字数、预计阅读时间)。

src/theme.config.ts
export default defineConfig({
footer: {
count: true, // 显示统计信息
},
});

效果:页脚会显示类似”12,345 字 | 预计阅读 41 分钟”的统计信息。

src/theme.config.ts
export default defineConfig({
footer: {
count: false, // 不显示统计信息
},
});

powered 控制是否在页脚显示”由 Astro 和 ShokaX 驱动”的声明。

src/theme.config.ts
export default defineConfig({
footer: {
powered: true, // 显示技术声明
},
});

效果:页脚会显示”Powered by Astro and ShokaX”(带链接)。

src/theme.config.ts
export default defineConfig({
footer: {
powered: false, // 不显示技术声明
},
});

如果你的网站部署在中国大陆服务器,需要显示 ICP 备案号。

src/theme.config.ts
export default defineConfig({
footer: {
icp: {
enable: true, // 启用 ICP 信息
icpnumber: "津ICP备XXXXXXXX号", // 你的备案号
},
},
});

效果:页脚会显示备案号,点击会跳转到工信部备案查询网站。

如果你还有公安备案,可以加上:

src/theme.config.ts
export default defineConfig({
footer: {
icp: {
enable: true,
icpnumber: "津ICP备2022001375号",
beian: "津公网安备 12345678901234号", // 公安备案号
recordcode: "12345678901234", // 备案编号(纯数字)
icon: "/beian-icon.png", // 公安备案图标(可选)
},
},
});

小部件区域位于页脚上方,可以显示随机文章推荐和最近评论。

src/theme.config.ts
export default defineConfig({
widgets: {
randomPosts: true, // 显示 10 篇随机文章
},
});

效果:页面底部会显示一个”随机文章”卡片,展示 10 篇随机推荐的文章。

src/theme.config.ts
export default defineConfig({
widgets: {
recentComments: true, // 显示最近评论
},
});
src/theme.config.ts
export default defineConfig({
widgets: {
randomPosts: false,
recentComments: false,
},
});
字段类型默认值说明
sincenumber当前年份博客起始年份。
icon.namestring"sakura rotate"版权图标名称(图标类名或 emoji)。
icon.colorstring"#ffc0cb"版权图标颜色(CSS 颜色值)。
countbooleantrue是否显示统计信息(字数、阅读时间)。
poweredbooleantrue是否显示技术声明。
icp.enablebooleanfalse是否显示 ICP 备案信息。
icp.icpnumberstring-ICP 备案号。
icp.beianstring-公安备案号(可选)。
icp.recordcodestring-公安备案编号(纯数字,可选)。
icp.iconstring-公安备案图标路径(可选)。
字段类型默认值说明
randomPostsbooleantrue是否显示随机文章推荐。
recentCommentsbooleantrue是否显示最近评论(需要评论系统)。

一个典型的页脚配置:

src/theme.config.ts
export default defineConfig({
siteName: "我的博客",
// ... 其他配置
footer: {
since: 2020,
icon: {
name: "i-ri-heart-fill",
color: "#ff6b6b",
},
count: true,
powered: true,
icp: {
enable: false, // 海外部署,不需要备案
},
},
widgets: {
randomPosts: true,
recentComments: false, // 暂未配置评论系统
},
});

统计字数包含所有已发布文章draft: false 或未设置 draft)的正文内容,包括中文字符和英文单词。如果你觉得不准,检查是否有草稿文章未标记为 draft: true

  1. 从公安备案网站下载官方图标
  2. 将图标文件放到 public/ 目录,如 public/beian-icon.png
  3. 在配置中填写 icon: "/beian-icon.png"

页脚是网站的重要组成部分,建议保留。如果确实需要隐藏,需要修改 src/layouts/Layout.astro,直接删除或注释掉 <Footer> 组件。

津 ICP 备2022001375 号
津公网安备 12011402001353 号