When this path fits—and when it does not
| Use Slidesfly when | Choose 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
.htmlor.htmfile. - Inline CSS, JavaScript, fonts, and images when possible. A single-file deck cannot load a remote script.
Publish step by step
Check that the deck is self-contained
Open the file locally and confirm the presentation works without a development server.Install the official CLI
Use the website installer, then verify that the installed version is at least 0.1.1.Publish the file
Give the deck a useful title and request JSON when another tool will parse the result.Verify the reader URL
Open the returnedslidesfly.xyz/d/…URL before sharing it.
curl -fsSL https://slidesfly.com/install.sh | sh
slidesfly --version
slidesfly publish ./deck.html --title "Q4 review" --jsonWhat 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 --jsonCommon publishing failures
| Error or symptom | Cause | Fix |
|---|---|---|
MALICIOUS_CONTENT: remote script rejected | The HTML contains a script loaded from another host. | Bundle the script into the deck instead of using a CDN reference. |
QUOTA_EXCEEDED: file too large | The artifact exceeds the anonymous or account plan limit. | Compress images, remove unused assets, or use the appropriate account plan. |
RATE_LIMITED | The anonymous publish limit was reached too quickly. | Wait about 60 seconds, then retry once. |
INVALID_HTML: deck works locally but not in the reader | The deck relies on browser storage or a real same-origin context. | Avoid localStorage/cookies and test inside the sandboxed reader. |