Custom Websites

Simple Page is markdown-first, but the network can also stage and publish any static website that can be served from IPFS: HTML, CSS, JavaScript, images, media, and single-page app builds.

The current CLI flow stores static output as a signed raw draft. The ENS owner then reviews and publishes that draft from the browser.

What You Can Publish

  • Static HTML, CSS, and JavaScript.
  • Single-page applications built with React, Vue, Svelte, Astro, or similar tools.
  • Static site generator output from tools like Hugo, Jekyll, or Eleventy.
  • Images, media, downloadable files, and documentation sites.

If it runs in a browser without a server, it can be staged as a draft.

Install the CLI

pnpm add -g @simplepg/cli

Publish Flow

Build your site locally:

pnpm run build

Authorize the CLI agent for your ENS name. This prints a URL; open it, connect the ENS owner wallet, and sign the capability:

simplepage auth myapp.eth --name build-agent

Push the static output directory as a raw draft:

simplepage drafts push-raw myapp.eth release-2026-07 ./dist

Open the draft review page:

simplepage drafts review myapp.eth --open

The browser page lets the ENS owner preview the CID and publish it by signing the ENS contenthash transaction.

How This Differs From The Browser Editor

The browser editor creates and updates markdown pages. The raw draft workflow publishes your built output exactly as a static directory.

Both flows use the same core infrastructure: a CAR is uploaded to a Simple Page Node, the content is staged on IPFS, and publishing updates the ENS contenthash.

Requirements

  • An ENS name with an active Simple Page subscription.
  • A wallet that owns or manages the ENS name.
  • A static output directory, usually dist/ or build/.
  • A CLI agent authorized through simplepage auth.

For the full command reference, see CLI Reference.