--- outline: deep --- # Frontmatter Config Frontmatter enables page based configuration. In every markdown file, you can use frontmatter config to override site-level or theme-level config options. Also, there are config options which you can only define in frontmatter. Example usage: ```md --- title: Docs with VitePress editLink: true --- ``` You can access frontmatter data via the `$frontmatter` global in Vue expressions: ```md {{ $frontmatter.title }} ``` ## title - Type: `string` Title for the page. It's same as [config.title](./site-config#title), and it overrides the site-level config. ```yaml --- title: VitePress --- ``` ## titleTemplate - Type: `string | boolean` The suffix for the title. It's same as [config.titleTemplate](./site-config#titletemplate), and it overrides the site-level config. ```yaml --- title: VitePress titleTemplate: Vite & Vue powered static site generator --- ``` ## description - Type: `string` Description for the page. It's same as [config.description](./site-config#description), and it overrides the site-level config. ```yaml --- description: VitePress --- ``` ## head - Type: `HeadConfig[]` Specify extra head tags to be injected for the current page. Will be appended after head tags injected by site-level config. ```yaml --- head: - - meta - name: description content: hello - - meta - name: keywords content: super duper SEO --- ``` ```ts type HeadConfig = | [string, Record] | [string, Record, string] ``` ## Default Theme Only The following frontmatter options are only applicable when using the default theme. ### layout - Type: `doc | home | page` - Default: `doc` Determines the layout of the page. - `doc` - It applies default documentation styles to the markdown content. - `home` - Special layout for "Home Page". You may add extra options such as `hero` and `features` to rapidly create beautiful landing page. - `page` - Behave similar to `doc` but it applies no styles to the content. Useful when you want to create a fully custom page. ```yaml --- layout: doc --- ``` ### 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 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 - Type: `boolean` - Default: `true` Whether to display [navbar](./default-theme-nav). ```yaml --- navbar: false --- ``` ### sidebar - Type: `boolean` - Default: `true` Whether to display [sidebar](./default-theme-sidebar). ```yaml --- sidebar: false --- ``` ### aside - Type: `boolean | 'left'` - Default: `true` Defines the location of the aside component in the `doc` layout. Setting this value to `false` prevents rendering of aside container.\ Setting this value to `true` renders the aside to the right.\ Setting this value to `'left'` renders the aside to the left. ```yaml --- aside: false --- ``` ### 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 - Type: `boolean` - Default: `true` Whether to display [last updated](./default-theme-last-updated) text in the footer of the current page. ```yaml --- lastUpdated: false --- ``` ### editLink - Type: `boolean` - Default: `true` Whether to display [edit link](./default-theme-edit-link) in the footer of the current page. ```yaml --- editLink: false --- ``` ### footer - Type: `boolean` - Default: `true` Whether to display [footer](./default-theme-footer). ```yaml --- footer: false --- ```