Novence

Guide · Framework

Deploy VitePress to Novence

vitepress build writes .vitepress/dist. Pass that path — it is not auto-detected.

VitePress is a Vite-powered SSG. Default output is .vitepress/dist (or docs/.vitepress/dist if the source lives under docs/). That folder is not in the CLI auto-detect list.

Configure

Keep base: "/" and cleanUrls: false so generated links are /guide.html (or directory indexes if you configure that). cleanUrls: true expects a host rewrite Novence does not provide.

If your config sits in docs/.vitepress, the output is docs/.vitepress/dist — pass that exact path to deploy.

// .vitepress/config.ts
import { defineConfig } from "vitepress";

export default defineConfig({
  title: "Docs",
  base: "/",
  cleanUrls: false,
});

Build

npx vitepress build

npx vitepress build (add docs as the first arg when the site root is docs/). Confirm index.html inside the dist folder.

Deploy

npx novence deploy .vitepress/dist

npx novence deploy .vitepress/dist (or docs/.vitepress/dist). Omitting the path will not find this directory.

.vitepress/dist is not in the CLI auto-detect list. Pass it every time. Full CLI: /cli.

Caveats

  • Not auto-detected by novence deploy.
  • cleanUrls: true will 404 on refresh without directory index.html files.
  • VitePress Vue SFCs compile at build time; there is no Node SSR after upload.

FAQ

Where is the output if my markdown is in docs/?

docs/.vitepress/dist. Deploy that path: npx novence deploy docs/.vitepress/dist.

Can I enable cleanUrls?

Only if the build emits directory index.html files for each route. Default cleanUrls false is the safe option on Novence.

Is this the same as Vite?

VitePress uses Vite. The deploy folder is .vitepress/dist, not dist/. See /guides/vite for app builds.

Agents ship. Novence hosts.

Copy Prompt or get a key. Then npx novence deploy .vitepress/dist.