diff --git a/docs/en/index.md b/docs/en/index.md
index 9be32c3e..395f1608 100644
--- a/docs/en/index.md
+++ b/docs/en/index.md
@@ -12,12 +12,19 @@ hero:
- theme: brand
text: What is VitePress?
link: /guide/what-is-vitepress
+ startIcon:
+ src: /vitepress-logo-mini.svg
+ width: 18
+ height: 18
+ endIcon:
- theme: alt
text: Quickstart
link: /guide/getting-started
- theme: alt
text: GitHub
link: https://github.com/vuejs/vitepress
+ startIcon:
+ endIcon:
image:
src: /vitepress-logo-large.webp
alt: VitePress
diff --git a/docs/en/reference/default-theme-home-page.md b/docs/en/reference/default-theme-home-page.md
index f7baecca..3cf9fc96 100644
--- a/docs/en/reference/default-theme-home-page.md
+++ b/docs/en/reference/default-theme-home-page.md
@@ -75,7 +75,24 @@ interface HeroAction {
// Link rel attribute.
rel?: string
+
+ // Show the left icon on action button.
+ startIcon?: ActionIcon
+
+ // Show the right icon on action button.
+ endIcon?: ActionIcon
}
+
+type ActionIcon =
+ | string
+ | { src: string; alt?: string; width?: string; height: string }
+ | {
+ light: string
+ dark: string
+ alt?: string
+ width?: string
+ height: string
+ }
```
### Customizing the name color
diff --git a/src/client/theme-default/components/VPButton.vue b/src/client/theme-default/components/VPButton.vue
index b37efa84..6b0915bd 100644
--- a/src/client/theme-default/components/VPButton.vue
+++ b/src/client/theme-default/components/VPButton.vue
@@ -1,7 +1,9 @@