跳转到内容

布局配置

ShokaX 支持两种页面布局模式,你可以根据偏好自由切换。所有布局配置都在 src/theme.config.tslayout 字段中。

layout.mode 控制整体页面结构:

src/theme.config.ts
export default defineConfig({
layout: {
mode: "three-column", // 三栏布局(默认)
},
});
模式结构适用场景
"two-column"左侧边栏 + 主内容简单清爽,移动端友好
"three-column"左侧边栏 + 主内容 + 右侧附加栏信息密度高,适合展示搜索/标签云等小部件

配置右侧附加栏(仅三栏布局)

Section titled “配置右侧附加栏(仅三栏布局)”

mode: "three-column" 时,右侧会显示一个附加信息栏。你可以精确控制显示哪些卡片以及它们的顺序。

卡片说明
announcement站点公告(内容来自 src/content/announcement.md
search全站搜索入口(点击弹出 Pagefind 搜索)
calendar日历占位卡片
recentMoments最新一条动态/说说
randomPosts随机文章推荐
tagCloud热门标签云

使用 layout.rightSidebar.order 数组来控制卡片的显示顺序和可见性:

src/theme.config.ts
export default defineConfig({
layout: {
mode: "three-column",
rightSidebar: {
// 按你想要的顺序列出卡片——没写的不会显示
order: ["search", "randomPosts", "tagCloud"],
},
},
});

未出现在 order 中的卡片不会被显示

你也可以通过布尔值单独控制每张卡片的显示:

src/theme.config.ts
export default defineConfig({
layout: {
mode: "three-column",
rightSidebar: {
announcement: true, // 显示公告
search: true, // 显示搜索
calendar: false, // 隐藏日历
recentMoments: true, // 显示最近动态
randomPosts: false, // 隐藏随机文章
tagCloud: true, // 显示标签云
},
},
});
字段类型默认值说明
layout.mode"two-column" ` ”three-column”`"three-column"
layout.rightSidebar.orderstring[]["announcement", "search", "calendar", "recentMoments", "randomPosts", "tagCloud"]右侧栏卡片顺序
layout.rightSidebar.announcementbooleantrue是否显示公告卡片
layout.rightSidebar.searchbooleantrue是否显示搜索卡片
layout.rightSidebar.calendarbooleantrue是否显示日历卡片
layout.rightSidebar.recentMomentsbooleantrue是否显示最近动态
layout.rightSidebar.randomPostsbooleantrue是否显示随机文章
layout.rightSidebar.tagCloudbooleantrue是否显示标签云

公告内容存储在 src/content/announcement.md 文件中:

src/content/announcement.md
欢迎来到我的博客!🎉 这里会不定期更新技术文章和生活记录。

修改此文件即可更新右侧栏的公告卡片内容。

src/theme.config.ts
export default defineConfig({
siteName: "我的博客",
layout: {
mode: "three-column",
rightSidebar: {
order: ["announcement", "search", "tagCloud", "randomPosts"],
},
},
});

效果:右侧栏从上到下依次显示公告 → 搜索 → 标签云 → 随机文章。

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