diff --git a/docs/en/index.md b/docs/en/index.md
index ce9015b2..9339e426 100644
--- a/docs/en/index.md
+++ b/docs/en/index.md
@@ -10,12 +10,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.svg
alt: VitePress
diff --git a/docs/en/reference/default-theme-home-page.md b/docs/en/reference/default-theme-home-page.md
index a0392aa0..3e35a84c 100644
--- a/docs/en/reference/default-theme-home-page.md
+++ b/docs/en/reference/default-theme-home-page.md
@@ -79,7 +79,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 d0a5de70..d7dc1ada 100644
--- a/src/client/theme-default/components/VPButton.vue
+++ b/src/client/theme-default/components/VPButton.vue
@@ -1,7 +1,9 @@