Theme Press Config
Theme Config Reference
The table below lists the Press-specific themeConfig options. Site-wide options such as title, url, search, and lastUpdated still live under siteConfig.
| Option | Type | Default | Description |
|---|---|---|---|
logo | string | '' | Logo shown in the top nav. Use a public path such as /favicon.svg. |
colors.primary | string | '#0078E7' | Primary color injected into Press SCSS and Valaxy theme variables. |
nav | NavItem[] | [] | Top navigation links and dropdown groups. |
sidebar | Sidebar | [] | Left sidebar. Supports category names, explicit trees, and multi-sidebars keyed by path. |
editLink.pattern | string | Valaxy docs repository edit URL | URL template for the bottom "Edit this page" link. :path is replaced by the page relative path. |
editLink.text | string | Locale text | Custom edit-link label. |
footer.message | string | undefined | Footer message. HTML is allowed. |
footer.copyright | string | undefined | Footer copyright text. HTML is allowed. |
socialLinks | SocialLink[] | [] | Icon links rendered in the nav. Icons use UnoCSS icon classes such as i-ri-github-line. |
locales | Record<string, LocaleSpecificConfig> | undefined | Locale switcher data and per-locale themeConfig overrides. |
i18nRouting | boolean | false | Preserve the current route path when switching locales. |
Home Page
Use layout: home and configure the hero and features in frontmatter.
---
layout: home
title: Acme Docs
hero:
name: Acme
text: Build faster with Acme
tagline: Everything you need to install, configure, and extend Acme.
image:
src: /logo.png
alt: Acme Logo
actions:
- theme: brand
text: Get Started
link: /guide/getting-started
type: fly
- theme: alt
text: View on GitHub
link: https://github.com/acme/project
features:
- icon: i-logos:vitejs
title: Fast
details: Powered by Vite and Valaxy.
- icon: i-logos:vue
title: Extensible
details: Use Vue components directly in Markdown.
---hero.image follows VitePress’s ThemeableImage format. It accepts a string, a { src, alt } object, or a { light, dark, alt } object. Press does not inject a default Valaxy logo: when hero.image is omitted, the home page has no hero image. Root-absolute image paths are adjusted using the configured Vite base.
The fly action uses siteConfig.favicon for its hover icon instead of a theme-hardcoded asset.
Internal action links are adjusted automatically when i18nRouting is enabled.
Home layout and orbital visual
The home page uses a split layout by default, with the heading and actions on the left and hero.image on the right. Without an image, it automatically centers the content. Set hero.layout: center to explicitly choose the centered layout.
The optional orbit visual takes inspiration from Valaxy’s “V + Galaxy” identity, surrounding your logo with orbital paths and moving lights. It always uses the configured hero.image.
hero:
name: VALAXY
text: Next Generation Static Blog Framework
tagline: Simple, powerful, and performant.
layout: split
visual: orbit
animation: true
image:
src: /valaxy-logo.png
alt: Valaxy Logo
imageCaption: V + Galaxy
command: pnpm create valaxy
actions:
- theme: brand
text: Get started
link: /guide/getting-started
featuresTitle: From a spark to your own universe.
featuresDescription: Focus on your words. Make it yours.| Option | Default | Description |
|---|---|---|
hero.layout | split | split or center; content is centered automatically without an image. |
hero.visual | image | image for a simple image, or orbit for the orbital visual. Requires hero.image. |
hero.animation | true | Set to false for static orbital artwork. |
hero.eyebrow | — | Short label above the heading. |
hero.imageCaption | — | Caption below the visual. |
hero.command | — | Copyable quick-start command. Omit to hide. |
featuresTitle | — | Optional feature section heading. |
featuresDescription | — | Optional feature section description. |
The CSS animation requires no video or WebGL. It supports manual pausing, pauses outside the viewport, and respects prefers-reduced-motion. Light and dark image variants continue to work with { light, dark, alt }.
Existing hero and features configurations require no migration. PressHome retains the home-hero-before, home-hero-after, home-features-before, home-features-after, and default slots. Override PressHomeOrbit.vue or PressHomeCommand.vue for custom visuals or command UI.
Customize the design with --pr-home-max-width, --pr-font-display, --pr-c-accent, --pr-c-orbit-glow, and --pr-c-orbit-line. The primary color still follows themeConfig.colors.primary.
Footer And Edit Link
The edit link appears at the bottom of article pages. :path is replaced with the current page relative path.
export default defineValaxyConfig<PressTheme.Config>({
siteConfig: {
lastUpdated: true,
},
themeConfig: {
editLink: {
pattern: 'https://github.com/acme/project/edit/main/docs/:path',
text: 'Edit this page',
},
footer: {
message: 'Released under the MIT License.',
copyright: 'Copyright (c) 2026 Acme.',
},
},
})Set nav: false in page frontmatter to hide previous/next page navigation for that page.
Page Layouts
Press provides these common layouts:
| Layout | Use case |
|---|---|
default | Standard documentation page |
home | Landing page with hero and features |
posts | Post list page |
post | Blog post detail page |
tags | Tag archive page |
404 | Not found page |
Example archive pages:
---
title: Posts
layout: posts
------
title: Tags
layout: tags
---Styling
Set the theme primary color through themeConfig.colors.primary:
export default defineValaxyConfig<PressTheme.Config>({
themeConfig: {
colors: {
primary: '#0078E7',
},
},
})You can also override Press CSS variables in your own styles:
:root {
--pr-nav-height-mobile: 56px;
--pr-nav-text: var(--va-c-text-1);
}Component Customization
Like other Valaxy themes, Press components can be overridden by creating a component with the same name in your site. Common extension points include:
| Component | Purpose |
|---|---|
PressHomeHero.vue | Home hero |
PressHomeFeatures.vue | Home feature grid |
PressNavBar.vue | Top navigation bar |
PressSidebar.vue | Left sidebar |
PressDocFooter.vue | Edit link and previous/next footer |
PressArticle.vue | Documentation article wrapper |
For lower-level theme authoring details, see Write A Theme.