Skip to content

Publishing

The publish command is the default — any argument that isn’t a subcommand is a file to publish:

Terminal window
hupp <file> [--name=<name>] [--ttl=<duration>] [--raw] [--no-comments]
[--public | --team[=<name>] | --private] [--revises=<id>] [--json]

The file extension picks the input type:

  • .html — served byte-for-byte as you wrote it.
  • .md — rendered to a styled HTML page (GitHub-flavored Markdown). The first heading becomes the page title.

Use - as the file to read from stdin; stdin defaults to HTML unless --name gives it an extension:

Terminal window
generate-report | hupp - --name=report.md

--name (or -n) sets the filename shown in the URL path:

Terminal window
hupp build/index.html --name=launch-plan.html

--ttl (or -t) expires the page after a duration like 30m, 12h, or 7d:

Terminal window
hupp demo.html --ttl=24h

On the Free plan every file expires 30 days after upload regardless of TTL; paid plans keep files for as long as you say — forever, if you never set a TTL.

--raw (or -r) serves the file as text/plain instead of rendering it — useful for sharing source, configs, or logs verbatim:

Terminal window
hupp deploy.log --raw

Pages include a comment widget by default. Publish without one:

Terminal window
hupp final.html --no-comments

Every API-backed command takes --json (or -j) and prints one JSON object on stdout — errors go to stderr as JSON too. Built for scripts and CI.