HTML publishing

Publish an HTML presentation without setting up a hosting project

Use Slidesfly when you already have a browser-ready, self-contained HTML presentation and need a shareable reader URL without configuring a hosting project. The first single-file publish can be anonymous and unlisted; claim it later to update the same URL, restore versions, or add account-managed sharing controls.

Last tested: July 28, 20265 minute workflow

When this path fits—and when it does not

Use Slidesfly whenChoose another path when
You have finished browser-ready HTML and want a deck-specific reader link.You still need an editor or AI system to generate the presentation.
You want anonymous trial, later claim, or same-URL version updates.You need a general web application host with server-side code.

What you need

  • Node.js 22 or newer.
  • One .html or .htm file.
  • Inline CSS, JavaScript, fonts, and images when possible. A single-file deck cannot load a remote script.

Publish step by step

  1. Check that the deck is self-contained

    Open the file locally and confirm the presentation works without a development server.
  2. Install the official CLI

    Use the website installer, then verify that the installed version is at least 0.1.1.
  3. Publish the file

    Give the deck a useful title and request JSON when another tool will parse the result.
  4. Verify the reader URL

    Open the returned slidesfly.xyz/d/… URL before sharing it.
curl -fsSL https://slidesfly.com/install.sh | sh
slidesfly --version
slidesfly publish ./deck.html --title "Q4 review" --json

What the publish command returns

{
  "ok": true,
  "data": {
    "deck_id": "v0c8Kf3sQ1MnEa7bYj9wHt",
    "url": "https://slidesfly.xyz/d/v0c8Kf3sQ1MnEa7bYj9wHt",
    "visibility": "unlisted",
    "anonymous": true
  }
}

The exact ID is generated for your deck. Keep the full reader URL. Anonymous management credentials stay in ~/.slidesfly/config.json; never paste that file into a prompt, issue, or support message.

Update the same URL later

Sign in and claim the anonymous deck before updating it from another machine. An owned deck can receive a new version while keeping the same reader URL.

slidesfly login --json
slidesfly publish ./deck-v2.html --id v0c8Kf3sQ1MnEa7bYj9wHt --json
slidesfly versions v0c8Kf3sQ1MnEa7bYj9wHt --json

Common publishing failures

Error or symptomCauseFix
MALICIOUS_CONTENT: remote script rejectedThe HTML contains a script loaded from another host.Bundle the script into the deck instead of using a CDN reference.
QUOTA_EXCEEDED: file too largeThe artifact exceeds the anonymous or account plan limit.Compress images, remove unused assets, or use the appropriate account plan.
RATE_LIMITEDThe anonymous publish limit was reached too quickly.Wait about 60 seconds, then retry once.
INVALID_HTML: deck works locally but not in the readerThe deck relies on browser storage or a real same-origin context.Avoid localStorage/cookies and test inside the sandboxed reader.