Back to docs

Rendering modes

Every GJS page renders on the front end as clean HTML with a single inline style block — and zero platform JavaScript. You choose how that HTML is framed.

Two modes

Theme mode

The page renders inside your active theme's header and footer — it's part of the site, with your navigation, branding and global styles.

Canvas mode

The page renders as a blank, full-bleed canvas — no theme chrome. Ideal for landing pages, campaigns, and microsites.

Setting the mode

Pick a global default in Settings, then override it per page from the page-settings drawer. So you can run a theme-framed site with a handful of full-bleed landing pages.

The output pipeline

On the front end the renderer:

  1. Emits the saved HTML, sanitized with an extended allow-list (iframes limited to trusted video hosts).
  2. Prints one inline <style> block with the page's CSS.
  3. Replays recorded canvas assets and any framework assets the page needs.

Scripts only run if a user with unfiltered_html saved them and the "allow page scripts" setting is on. See Security.

Why zero front-end runtime

Because pages are pre-compiled to HTML + CSS, there's no builder runtime to download on the public side. That keeps pages fast by construction — details in Performance.