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.

OptionTypeDefaultDescription
logostring''Logo shown in the top nav. Use a public path such as /favicon.svg.
colors.primarystring'#0078E7'Primary color injected into Press SCSS and Valaxy theme variables.
navNavItem[][]Top navigation links and dropdown groups.
sidebarSidebar[]Left sidebar. Supports category names, explicit trees, and multi-sidebars keyed by path.
editLink.patternstringValaxy docs repository edit URLURL template for the bottom "Edit this page" link. :path is replaced by the page relative path.
editLink.textstringLocale textCustom edit-link label.
footer.messagestringundefinedFooter message. HTML is allowed.
footer.copyrightstringundefinedFooter copyright text. HTML is allowed.
socialLinksSocialLink[][]Icon links rendered in the nav. Icons use UnoCSS icon classes such as i-ri-github-line.
localesRecord<string, LocaleSpecificConfig>undefinedLocale switcher data and per-locale themeConfig overrides.
i18nRoutingbooleanfalsePreserve the current route path when switching locales.

Home Page ​

Use layout: home and configure the hero and features in frontmatter.

pages/index.md
md
---
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.

yaml
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.
OptionDefaultDescription
hero.layoutsplitsplit or center; content is centered automatically without an image.
hero.visualimageimage for a simple image, or orbit for the orbital visual. Requires hero.image.
hero.animationtrueSet 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.

The edit link appears at the bottom of article pages. :path is replaced with the current page relative path.

valaxy.config.ts
ts
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:

LayoutUse case
defaultStandard documentation page
homeLanding page with hero and features
postsPost list page
postBlog post detail page
tagsTag archive page
404Not found page

Example archive pages:

pages/posts/index.md
md
---
title: Posts
layout: posts
---
pages/tags/index.md
md
---
title: Tags
layout: tags
---

Styling ​

Set the theme primary color through themeConfig.colors.primary:

valaxy.config.ts
ts
export default defineValaxyConfig<PressTheme.Config>({
  themeConfig: {
    colors: {
      primary: '#0078E7',
    },
  },
})

You can also override Press CSS variables in your own styles:

styles/index.scss
scss
: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:

ComponentPurpose
PressHomeHero.vueHome hero
PressHomeFeatures.vueHome feature grid
PressNavBar.vueTop navigation bar
PressSidebar.vueLeft sidebar
PressDocFooter.vueEdit link and previous/next footer
PressArticle.vueDocumentation article wrapper

For lower-level theme authoring details, see Write A Theme.

Contributors