Host your VitePress site at your own address

VitePress builds to .vitepress/dist. Drag that folder in and your documentation is live over HTTPS in seconds, with search intact.

You can host:
index.html/assetsfolder.zip

Free to use, live at your-name.99helpers.site in about ten seconds.

Why the docs are still on someone's laptop

VitePress is what a lot of libraries now use for their docs: Markdown in, a fast Vue-powered site out, and a build that finishes while you're still reading the log. The output is static, so it belongs on a static host rather than a platform that wants to own the build.

What a VitePress build gives you

  • A .vitepress/dist folder with every page pre-rendered to HTML
  • Hashed JavaScript and CSS assets for the Vue app
  • A local search index, if you've enabled the built-in search
  • Anything from your public folder, copied in as-is

Build it, then upload it

Build command
npm run docs:build
Folder to upload
.vitepress/dist/
Check base in .vitepress/config.js
Leave base at '/' so the built asset paths match the root of your address.

base has to match the address

A sub-path base from a GitHub Pages deployment prefixes every asset URL, so the same build won't load at a root address.

Docs shouldn't wait on infrastructure

Library docs often ship faster than the process for getting them hosted, especially inside a company.

Preview builds have nowhere to go

Reviewing a docs change locally is fine for you, and useless for everyone else on the thread.

Publishing a VitePress site

  1. 1

    Keep base at the root

    In .vitepress/config.js, leave base as '/'. Your site is served from the root of its own address.

  2. 2

    Build the docs

    Run npm run docs:build. VitePress writes the site to .vitepress/dist, pre-rendered as HTML with the Vue app hydrating in the browser.

  3. 3

    Upload dist and publish

    Drag .vitepress/dist in, choose an address, and the docs are live over HTTPS. Publish to the same address on every update and the link never changes.

Worth knowing

  • VitePress writes clean URLs, which are served as pages here, trailing slash or not.
  • The built-in local search builds its index into the site, so it works without any backend.
  • Custom theme components are compiled into the build, so nothing extra has to run on the host.
  • Add a 404.md, or let the default theme's 404 page ship, and missing pages are handled automatically.
  • Publishing again to the same address keeps the link working, and old versions are kept for a rollback.

Questions

Which folder do I upload?
The .vitepress/dist folder, or a zip of its contents, with index.html at the top level.
What should base be?
'/'. A sub-path base is only needed when a site lives inside a folder on someone else's domain, which isn't the case here.
Does the built-in search work?
Yes. VitePress's local search runs in the browser against an index in the build, so there's nothing server-side to run.
Can I password-protect internal docs?
Yes. Set a password when you publish, and readers are asked for it before anything is shown.
Can my CI publish it?
Yes, through the REST API with a revocable token, so each merge can push a fresh build to the same address.

Publish the VitePress build you already have

Drop the folder in at the top of this page and see the link for yourself. You only make an account once it's ready to go live.

Every site gets its own address on 99helpers.site — see static site hosting for every generator, how website hosting works here or free file hosting for any file type.