---
title: Publish a presentation
description: Turning a branded HTML deliverable into a live, shareable sherpage url -- the multi-file bundle shape sherpage_publish expects.
---

# Publish a presentation

sherpage doesn't care how a bundle was produced, only what's in it — so
a slide deck, a walkthrough document, or a design-preview gallery
publishes the same way any other static bundle does.

## If you're generating the deck with an agent

An agent building you a branded HTML deliverable (a slide deck, an
explainer document, or a gallery of UI previews) can use the
`shebang-presentation` skill, which produces a single self-contained
`.html` file in the shebang brand system — dark-first, no build step,
ready to hand someone. That skill is about producing the file; getting
it onto a public URL is `sherpage_publish`, described below.

## The bundle shape

`sherpage_publish` takes a `files` array — one entry per file in the
bundle, each with a bundle-relative `path`, its `content`, and an
`encoding` of `utf8` (text) or `base64` (binary):

```
sherpage_publish({
  title: "Q3 walkthrough",
  files: [
    { path: "index.html", content: "<html>…</html>", encoding: "utf8" },
    { path: "assets/diagram.png", content: "<base64 bytes>", encoding: "base64" },
    { path: "assets/app.js", content: "…", encoding: "utf8" },
  ],
  entrypoint: "index.html",
  access: "public",
})
```

A single self-contained HTML file (no separate assets) is just a
one-entry `files` array — the mechanics don't change with the bundle's
size, only its file count. `entrypoint` defaults to `index.html`, and
every path must stay inside the bundle (no leading `/`, no `..`, no
backslash) and use an extension sherpage recognizes — see
[publishing](/sherpage/publishing) for the full list and the size caps
(100 files, 10 MB per file, 50 MB total).

## Sharing it

Set `access: "public"` at publish time (the default is `private`), or
call `sherpage_set_access` afterward. Every publish gets an automatic
`sl.shebang.pro` short link alongside the `p.shebang.pro` address — see
[the p. url](/sherpage/the-p-url) and
[short links and aliases](/sherlink/short-links-and-aliases).

## Next

[Publishing](/sherpage/publishing) — the full tool set for updating,
archiving, and deleting a page after it's live.
