VitePress 默认主题首页(Home Page)布局完整配置指南:Hero、Features 与自定义内容
VitePress 默认主题首页Home Page布局完整配置指南Hero、Features 与自定义内容【免费下载链接】vitepressVite Vue powered static site generator.项目地址: https://gitcode.com/gh_mirrors/vi/vitepressVitePress 默认主题内置了一套开箱即用的首页Home Page布局通过layout: home即可在任意页面启用再配合hero、features等前置元数据frontmatter选项就能搭建出包含品牌主视觉、行动按钮、特性卡片与自由 Markdown 内容的落地页。本文以docs/en/reference/default-theme-home-page.md为骨架结合仓库源码与类型定义系统讲解首页布局的每一个配置项、渲染链路与样式定制技巧读完即可在项目中直接落地一套完整的首页。启用首页布局layout: homeVitePress 默认主题将首页布局应用在本站首页上见 docs/en/index.md。你可以在任何页面的 frontmatter 配置 中通过layout: home启用它--- layout: home ---不过仅此一项并不会产生太多效果。要让首页真正丰富起来还需要通过hero、features等选项为页面添加多个预制区块。从源码看这些区块最终由 VPHome.vue 按固定顺序组装home-hero-before 插槽 └─ VPHomeHero Hero 区块品牌名、标语、图片、行动按钮 home-hero-after 插槽 home-features-before 插槽 └─ VPHomeFeatures Features 区块特性卡片网格 home-features-after 插槽 └─ VPHomeContent 前置元数据分隔线---以下的 Markdown 内容其中VPHomeHero、VPHomeFeatures组件会分别读取frontmatter.hero与frontmatter.features只要前置元数据中不存在对应键相应区块就不会渲染VPHomeHero.vue、VPHomeFeatures.vue 中均以v-iffm.hero/v-iffm.features守卫。Hero 区块品牌首屏视觉Hero 区块位于首页顶部是访客最先看到的品牌区域。下面是一个完整的 Hero 配置示例--- layout: home hero: name: VitePress text: Vite Vue powered static site generator. tagline: Lorem ipsum... image: src: /logo.png alt: VitePress actions: - theme: brand text: Get Started link: /guide/what-is-vitepress - theme: alt text: View on GitHub link: https://example.com ---对应的 TypeScript 类型定义如下该定义同时体现在 VPHero.vue 的 props 上interface Hero { // 显示在 text 上方的字符串自带品牌色期望较短如产品名。 name?: string // Hero 区块的主文本会被渲染为 h1 标签。 text: string // 显示在 text 下方的标语。 tagline?: string // 显示在文本与标语区域旁边的图片。 image?: ThemeableImage // 首页 Hero 区块中展示的操作按钮。 actions?: HeroAction[] } type ThemeableImage | string | { src: string; alt?: string } | { light: string; dark: string; alt?: string } interface HeroAction { // 按钮配色主题默认 brand。 theme?: brand | alt // 按钮上的文字。 text: string // 按钮的跳转地址。 link: string // 链接的 target 属性。 target?: string // 链接的 rel 属性。 rel?: string }各字段的要点说明字段必填说明name否显示在text上方的品牌名默认使用品牌色渲染通常较短如产品名text是Hero 主标题渲染为h1标签tagline否主标题下方的标语/副文案image否与文本并排展示的图片支持字符串路径、{ src, alt }或{ light, dark, alt }三种形态actions否操作按钮数组每个按钮可配置themebrand/alt、text、link、target、relHero 图片的浅色/深色适配ThemeableImage的第三种形态{ light, dark }允许你为浅色与深色主题分别提供图片。该逻辑由 VPImage.vue 实现它会同时渲染两张图再通过 CSS 规则html:not(.dark) .VPImage.dark { display: none }与html.dark .VPImage.light { display: none }按当前主题显示其中一张。图片路径统一经withBase处理后指向站点根目录即public目录下的静态资源因此示例中的/logo.png实际对应public/logo.png。源码视角Hero 的渲染链路从组件调用链看Hero 区块的渲染路径为VPHome.vue→VPHomeHero.vue→ VPHero.vue。在 VPHero.vue 中可以看到几个关键实现细节name、text、tagline均通过v-html渲染并以dirauto自动适配文字方向RTL 站点也可正常显示name使用span.clip包裹配合-webkit-background-clip: text实现渐变文字效果每个action渲染为一个 VPButton.vuetheme决定按钮配色组件支持home-hero-info-before、home-hero-image等具名插槽便于自定义主题时扩展。此外Hero 图片背景还暴露了两个样式变量--vp-home-hero-image-background-image与--vp-home-hero-image-filter定义于 vars.css默认分别为none可在全局样式中覆写为渐变或滤镜为图片添加圆形光晕等装饰效果。自定义 name 颜色与渐变效果VitePress 默认使用品牌色--vp-c-brand-1渲染name该值定义于 vars.css:root { --vp-home-hero-name-color: var(--vp-c-brand-1); --vp-home-hero-name-background: transparent; }你可以通过覆写--vp-home-hero-name-color变量来改变品牌名的颜色:root { --vp-home-hero-name-color: blue; }更进一步可以组合--vp-home-hero-name-background给name添加渐变效果。实现原理是将文字颜色设为透明再以背景渐变配合background-clip: text将渐变裁剪进文字笔画内对应 VPHero.vue 中.clip类的样式:root { --vp-home-hero-name-color: transparent; --vp-home-hero-name-background: -webkit-linear-gradient(120deg, #bd34fe, #41d1ff); }VitePress 官网首页的品牌名渐变即由此实现。需要注意的是渐变方向参数如120deg与颜色可以任意调整但务必同时设置--vp-home-hero-name-color: transparent否则渐变会被不透明的文字颜色盖住。Features 区块特性卡片网格在 Hero 区块之后可以通过features选项展示任意数量的特性卡片。每个特性可以配置一个图标图标既可以是 emoji也可以是任意类型的图片svg、png、jpeg 等。使用图片作为图标时必须提供合适的宽高需要适配深浅主题时还可以分别提供dark/light变体--- layout: home features: - icon: ️ title: Simple and minimal, always details: Lorem ipsum... - icon: src: /cool-feature-icon.svg title: Another cool feature details: Lorem ipsum... - icon: dark: /dark-feature-icon.svg light: /light-feature-icon.svg title: Another cool feature details: Lorem ipsum... ---对应的类型定义如下interface Feature { // 在特性卡片上显示的图标。 icon?: FeatureIcon // 特性的标题。 title: string // 特性的详细描述。 details: string // 点击特性卡片时跳转的链接支持站内与站外地址。 // // e.g. guide/reference/default-theme-home-page 或 https://example.com link?: string // 特性卡片内展示的链接文字通常配合 link 使用。 // // e.g. Learn more、Visit page 等 linkText?: string // 配合 link 使用的 rel 属性。 // // e.g. external rel?: string // 配合 link 使用的 target 属性。 target?: string } type FeatureIcon | string | { src: string; alt?: string; width?: string; height: string } | { light: string dark: string alt?: string width?: string height: string }各字段的要点说明字段必填说明icon否特性图标。字符串时直接作为 emoji/文字渲染对象形式需提供src或light/dark与heightwidth、alt可选title是特性标题details是特性描述文字link否整张卡片变为链接支持站内与站外地址linkText否卡片内的链接文字如 Learn more右侧会自动带一个箭头图标rel/target否配合link使用的链接属性源码视角图标渲染与卡片细节在 VPFeature.vue 中可以看到三个值得注意的实现点图标形态分发字符串图标通过v-html直接渲染emoji 天然支持对象形态的图标交给VPImage渲染默认宽高均为48可通过width/height覆写对象还支持wrap布尔属性为true时图标会被包裹进带背景的.icon容器中details支持数组details除了字符串还可以是字符串数组此时会渲染为无序列表ul适合展示特性要点卡片链接交互配置link后卡片整体变为可点击链接a标签悬停时边框会过渡为品牌色--vp-c-brand-1配置linkText时卡片底部会显示品牌色链接文字与vpi-arrow-right箭头图标。源码视角网格自适应规则卡片网格的列数由 VPFeatures.vue 根据特性数量自动计算特性数量网格类名桌面端布局2 个grid-2两列3 个grid-3三列3 的倍数6、9…grid-6六列大于 3 且非 3 的倍数4、5、7…grid-4四列1 个无整行单列对应的 CSS 响应式断点如下grid-2/grid-4/grid-6在 ≥40rem 视口下每行 2 个grid-3/grid-6在 ≥48rem 视口下每行 3 个grid-4在 ≥60rem 视口下每行 4 个。也就是说想排 2 列就配置 2 或 4 个特性想排 3 列就配置 3 个或 3 的倍数规则直观且会自动适配移动端。在首页追加 Markdown 内容除了 Hero 与 Features 两个预制区块你还可以直接在 frontmatter 结束标记---下方编写 Markdown作为首页的附加内容例如快速上手指引、团队成员介绍、赞助商区块等--- layout: home hero: name: VitePress text: Vite Vue powered static site generator. --- ## Getting Started You can get started using VitePress right away using npx! sh npm init npx vitepress init 这段 Markdown 会被渲染在 Features 区块之后。从源码看VPHome.vue 会根据markdownStyles决定附加内容的渲染方式VPHomeContent v-iffrontmatter.markdownStyles ! false Content / /VPHomeContent Content v-else /::: info VitePress 并非从一开始就自动为layout: home页面的附加内容套用文档样式。如果你希望回退到旧行为不套用文档排版样式可以在 frontmatter 中添加markdownStyles: false。 :::默认情况下附加内容会被包裹在带vp-doc类的 VPHomeContent.vue 容器中因此标题、列表、代码块等都会获得与正文一致的排版样式设置markdownStyles: false后则原样输出Content /不套用任何文档样式适合嵌入完全自定义的组件内容。同时 VPHomeContent.vue 还针对VPHomeSponsors、VPTeamPage等全宽组件做了视口拉伸处理让首页附加内容可以容纳全宽区块。实战组装一个完整首页综合以上所有内容一个完整的首页示例可保存为站点根目录的index.md如下--- layout: home hero: name: My Docs text: A modern documentation site. tagline: Built with VitePress, powered by Vite Vue. image: src: /logo.png alt: My Docs logo actions: - theme: brand text: Get Started link: /guide/getting-started - theme: alt text: View on GitHub link: https://example.com target: _blank rel: external features: - icon: ⚡️ title: Blazing Fast details: Vite-powered development experience with instant HMR. - icon: src: /cool-feature-icon.svg width: 48 height: 48 title: Customizable details: Fully configurable via frontmatter and theme options. link: /guide/custom-theme linkText: Learn more - icon: dark: /dark-feature-icon.svg light: /light-feature-icon.svg width: 48 height: 48 title: Theme Aware details: Automatically switches between light and dark icons. --- ## Quick Start sh npm init npx vitepress init在撰写时请注意以下几点图片资源image与icon中的/xxx.png、/xxx.svg路径均以站点根目录为基准实际文件应放在项目根目录的public/文件夹下仓库示例见__tests__/base/fixture/public/样式定制颜色与渐变覆写建议写入主题的全局样式如docs/.vitepress/theme/index.ts引入的 CSS或自定义样式表中相关变量定义可参考 vars.css类型依据ThemeableImage与FeatureIcon的完整类型定义见 types/default-theme.d.ts编写自定义主题时可直接复用这些类型以保证兼容性。小结本文围绕 VitePress 默认主题的首页布局完整梳理了从layout: home启用、Hero 区块配置、name 渐变定制、Features 卡片网格到附加 Markdown 内容的全部要点并结合 VPHome.vue、VPHero.vue、VPFeatures.vue、VPFeature.vue 等源码揭示了其内部渲染链路与响应式规则。掌握这些配置与实现细节后你可以用纯 Markdown 前置元数据构建出风格统一、深浅色自适应的产品首页如需进一步定制可继续阅读 默认主题布局参考 与 frontmatter 配置参考深入理解首页布局与整个默认主题体系的关系。【免费下载链接】vitepressVite Vue powered static site generator.项目地址: https://gitcode.com/gh_mirrors/vi/vitepress创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

DSSAD与EDR:解读汽车黑匣子如何记录碰撞数据

DSSAD与EDR:解读汽车黑匣子如何记录碰撞数据

做过几次事故车的数据恢复之后,我彻底改变了对“汽车黑匣子”的看法。很多朋友以为碰撞数据只存在于飞机或者高端赛车上,其实今天一台二十多万的蔚来,或者一台特斯拉Model 3,都在悄悄记录着碰撞瞬间的完整时间线。这个隐藏在行车记…

2026/9/21 16:15:17 阅读更多 →
CANN ops-math NotEqual 算子全解析:NPU 上的逐元素不等于比较实现与调用指南

CANN ops-math NotEqual 算子全解析:NPU 上的逐元素不等于比较实现与调用指南

CANN ops-math NotEqual 算子全解析:NPU 上的逐元素不等于比较实现与调用指南 【免费下载链接】ops-math 本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-math 导读 NotEqual 是 CA…

2026/9/21 16:15:17 阅读更多 →
TensorFlow-Course 开源教程仓库全指南:从环境安装到 CNN 分类器的完整学习路径

TensorFlow-Course 开源教程仓库全指南:从环境安装到 CNN 分类器的完整学习路径

教程深度学习机器学习 【免费下载链接】TensorFlow-Course :satellite: Simple and ready-to-use tutorials for TensorFlow 项目地址: https://gitcode.com/gh_mirrors/te/TensorFlow-Course 点击查看 免费下载 TensorFlow-Course 是一个以“简单、即拿即用”为核…

2026/9/21 16:15:17 阅读更多 →

最新新闻

Presto Exchange Materialization 实战指南:以物化 Shuffle 突破 MPP 内存瓶颈

Presto Exchange Materialization 实战指南:以物化 Shuffle 突破 MPP 内存瓶颈

大数据数据库后端 【免费下载链接】presto The official home of the Presto distributed SQL query engine for big data 项目地址: https://gitcode.com/gh_mirrors/pre/presto 点击查看 免费下载 Exchange Materialization 是 Presto 为内存密集型查询提供的一种…

2026/9/21 16:39:36 阅读更多 →
MCP Python SDK 服务端订阅机制全解析:从 `subscriptions/listen` 到跨进程扩展

MCP Python SDK 服务端订阅机制全解析:从 `subscriptions/listen` 到跨进程扩展

人工智能MCP 服务MCP Clients 【免费下载链接】python-sdk The official Python SDK for Model Context Protocol servers and clients 项目地址: https://gitcode.com/gh_mirrors/pythonsd/python-sdk 点击查看 免费下载 本篇文章以 Model Context Protocol 官方 …

2026/9/21 16:39:36 阅读更多 →
Cluster Scorecard: [Seed Keyword]

Cluster Scorecard: [Seed Keyword]

【免费下载链接】claude-seo Universal SEO skill for Claude Code. 25 sub-skills 18 sub-agents covering technical SEO, E-E-A-T, schema, GEO/AEO, backlinks, local SEO, maps intelligence, semantic clustering, e-commerce SEO, international SEO, Google APIs, and…

2026/9/21 16:39:36 阅读更多 →
Diem Swiss Knife 实战指南:BCS 序列化交易生成、签名与验证命令行工具

Diem Swiss Knife 实战指南:BCS 序列化交易生成、签名与验证命令行工具

Diem Swiss Knife 实战指南:BCS 序列化交易生成、签名与验证命令行工具 【免费下载链接】diem Diem’s mission is to build a trusted and innovative financial network that empowers people and businesses around the world. 项目地址: https://gitcode.com/…

2026/9/21 16:39:36 阅读更多 →
easy-vibe 跨平台开发技术全景:React Native / Flutter / Electron / Tauri 架构流派与选型实战指南

easy-vibe 跨平台开发技术全景:React Native / Flutter / Electron / Tauri 架构流派与选型实战指南

教程文档 【免费下载链接】easy-vibe 从 0 到 1 学会 vibe coding,项目制学习 项目地址: https://gitcode.com/datawhalechina/easy-vibe 点击查看 免费下载 "Write once, run anywhere"(一次编写,处处运行&#xff09…

2026/9/21 16:39:36 阅读更多 →
VitePress 自定义主题完全指南:从零构建、分发与消费自己的主题

VitePress 自定义主题完全指南:从零构建、分发与消费自己的主题

前端文档 【免费下载链接】vitepress Vite & Vue powered static site generator. 项目地址: https://gitcode.com/gh_mirrors/vi/vitepress 点击查看 免费下载 VitePress 默认主题开箱即用,但当你需要完全掌控站点的外观与交互时,自定义…

2026/9/21 16:38:36 阅读更多 →

日新闻

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程 【免费下载链接】agentic-awesome-skills AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and …

2026/9/21 0:00:01 阅读更多 →
gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析 【免费下载链接】gin-vue-admin 🚀ViteVue3Gin拥有AI辅助的基础开发平台,企业级业务AI开发解决方案,内置mcp辅助服务,内置skills管理,…

2026/9/21 0:00:01 阅读更多 →
Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

桌面应用AI 应用插件系统 【免费下载链接】Wox A cross-platform launcher that simply works 项目地址: https://gitcode.com/gh_mirrors/wo/Wox 点击查看 免费下载 全功能插件(Full-featured Plugin)是 Wox 三类插件实现方式中能力最完整的…

2026/9/21 0:00:01 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/21 3:13:20 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/21 2:19:36 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/21 4:51:05 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/21 15:36:51 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/21 15:36:51 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →