diff --git a/docs/reference/frontmatter-config.md b/docs/reference/frontmatter-config.md
index 4bbf65d5..10297687 100644
--- a/docs/reference/frontmatter-config.md
+++ b/docs/reference/frontmatter-config.md
@@ -86,7 +86,7 @@ type HeadConfig =
The following frontmatter options are only applicable when using the default theme.
-### layout
+### layout
- Type: `doc | home | page`
- Default: `doc`
@@ -103,15 +103,15 @@ layout: doc
---
```
-### hero
+### hero
Defines contents of home hero section when `layout` is set to `home`. More details in [Default Theme: Home Page](./default-theme-home-page).
-### features
+### features
Defines items to display in features section when `layout` is set to `home`. More details in [Default Theme: Home Page](./default-theme-home-page).
-### navbar
+### navbar
- Type: `boolean`
- Default: `true`
@@ -124,7 +124,7 @@ navbar: false
---
```
-### sidebar
+### sidebar
- Type: `boolean`
- Default: `true`
@@ -137,7 +137,7 @@ sidebar: false
---
```
-### aside
+### aside
- Type: `boolean | 'left'`
- Default: `true`
@@ -154,14 +154,14 @@ aside: false
---
```
-### outline
+### outline
- Type: `number | [number, number] | 'deep' | false`
- Default: `2`
The levels of header in the outline to display for the page. It's same as [config.themeConfig.outline](./default-theme-config#outline), and it overrides the theme config.
-### lastUpdated
+### lastUpdated
- Type: `boolean`
- Default: `true`
@@ -174,7 +174,7 @@ lastUpdated: false
---
```
-### editLink
+### editLink
- Type: `boolean`
- Default: `true`
@@ -187,15 +187,35 @@ editLink: false
---
```
-### footer
+### footer
- Type: `boolean`
- Default: `true`
-Whether to display [footer](./default-theme-footer).
+Whether to display [footer](./default-theme-footer).
```yaml
---
footer: false
---
```
+
+### pageClass
+
+- Type: `string`
+
+Add extra class name to a specific page.
+
+```yaml
+---
+pageClass: custom-page-class
+---
+```
+
+Then you can customize styles of this specific page in `.vitepress/theme/custom.css` file:
+
+```css
+.custom-page-class {
+ /* page-specific styles */
+}
+```
diff --git a/src/client/theme-default/Layout.vue b/src/client/theme-default/Layout.vue
index 7afba576..80f298b5 100644
--- a/src/client/theme-default/Layout.vue
+++ b/src/client/theme-default/Layout.vue
@@ -34,7 +34,7 @@ provide('hero-image-slot-exists', heroImageSlotExists)
-