Customizing The Landing Page

The Q-Press landing page is the route mounted at /. It is intentionally project-owned, so you can make it a product home page, docs portal, package overview, or a quiet index page without editing generated src/.q-press files.

Route File

Create or edit:

src/markdown/landing-page.md

Q-Press treats landing-page.md as the site root:

src/markdown/landing-page.md
  -> /

Use meta.fullscreen when the page should own the full viewport instead of using the standard article width, table of contents, or page footer.

---
title: My Docs
desc: Documentation and examples for my package.
meta:
  fullscreen: true
---

Keep the route in Markdown, but move complex layout into Vue components:

landing-page.md
LandingHero.vue
LandingFeatureGrid.vue
app.scss
quasar.variables.scss
public
# Optional static images, favicons, or downloadable assets.

This gives content authors an obvious page entry point while keeping responsive layout, animation, images, and stateful behavior in Vue files where they are easier to maintain.

---
title: My Docs
desc: Documentation and examples for my package.
meta:
  fullscreen: true
---

<LandingHero />
<LandingFeatureGrid />

Content Choices

Use Markdown forUse Vue components for
Page metadata, headings, short prose, linksHero layout, responsive grids, custom cards, rich visuals
Simple callouts or code snippetsInteractive demos, animation, state, or computed content
MarkdownCardLink groupsBranded sections that need custom spacing or imagery

Avoid editing generated layout files for landing-page changes. Keep the page in src/markdown, reusable sections in src/components, and route-specific styles in project-owned CSS or component-scoped styles.

Because the landing page route is /, link to it directly from Site Config:

const gettingStartedMenu = {
  name: 'Getting Started',
  children: [
    { name: 'Home', path: '/' },
    { name: 'Introduction', path: '/getting-started/introduction' },
  ],
}

Do not add landing-page to visible URLs. The filename is only the source convention.

Theme And Assets

Landing pages often use the same theme tokens as the rest of Q-Press:

  • use src/css/quasar.variables.scss for brand colors and bundled Q-Press theme imports
  • use runtime --qpress-* variables when a local section needs token-aware styling
  • store project assets in src/assets when they are imported by Vue, or public when they should be copied as static files
  • keep hero images real, inspectable, and responsive

See Themes for the generated tokens used by Q-Press surfaces and landing-page atmosphere.

Checks

Run the Q-Press checker after changing landing-page routes or links:

pnpm check:qpress

The checker validates Markdown routes, related links, navigation paths, and common Q-Press authoring mistakes. It also helps catch stale links when a landing page is renamed, moved, or replaced.