Access & security
Pages
Publish a static HTML file or folder and get a shareable link.
Pages lets you publish a report, prototype or slide deck made of HTML, CSS and JavaScript, without setting up an app. Point the CLI at a file or folder and you get a link.
Publish a page
elula pages publish ./deck.html elula pages publish ./site/ --title "Q3 Review" elula pages publish ./notes.html --random
| Option | What it does |
|---|---|
--title | Title for the page, used in the URL. Defaults to the file or folder name. |
--random | Use an unguessable random URL instead of one based on your handle and title. |
--private | Only people in your workspace, or with an email on its verified team domain, can open the page. They sign in to Elula first. |
--public | Anyone with the link can open the page. |
--handle | Claim this handle on your first publish, for scripts and CI. |
--open | Open the page in your browser after publishing. |
A folder can hold several files, such as index.html, about.html, css/ and img/. Elula serves index.html as the entry page. If there's no index.html, it uses the first .html file by name. Every upload needs at least one .html file.
Hidden files (names starting with .) are skipped when you publish a folder.
You can also publish from the dashboard: open Pages, click Publish a page, and drop in a file or folder.
Private and public pages
A private page asks visitors to sign in to Elula. Workspace members and anyone with an email on the workspace's verified team domain can then open it; everyone else sees "This page is private". A public page opens for anyone with the link.
Without --private or --public, a page follows the workspace's default access for new apps. Private pages need a verified team domain, the same as private apps. See Access control.
Change it later from the Pages screen, or with:
elula pages access <slug> private elula pages access <slug> public
The person who published the page and workspace owners and admins can change it.
Page URLs
There are two kinds of URL:
| Kind | Path |
|---|---|
| Custom (default) | /p/<handle>/<title> |
Random (--random) | a long random token |
Your handle is set once and used in all your custom page URLs. The first time you publish with a custom URL, the CLI asks you to pick one. It can't be changed later.
Publishing again with the same title replaces your existing page at the same URL. If someone else already has that URL, Elula adds a number to yours instead of overwriting theirs.
--private for anything only your team should see. Don't put passwords or keys in a page. Use Sharing secrets instead.Update, list, open and delete
elula pages list # your pages, with URL and view count elula pages update <slug> ./deck.html # replace the content, keep the URL elula pages open <slug> # open in your browser elula pages rm <slug> # delete; the link stops working at once
The slug is everything after /p/ in the URL, for example alice/q3-review or a random token. Only the person who published a page can update or delete it.
Your published pages also appear on the Pages screen in the dashboard.
Limits
| Limit | Value |
|---|---|
| Files per page | 200 |
| Size of one file | 10 MB |
| Total size of a page | 50 MB |
| Title length | 200 characters |
| New pages per person per day | 20 (updates don't count) |
What is blocked
Pages are for web content, not file downloads. Elula rejects:
- Executables and scripts by extension, such as
.exe,.msi,.bat,.ps1,.dmg,.pkg,.sh,.deband.rpm. - Executables and archives detected by their contents, even if renamed, such as Windows, Linux and macOS executables, and ZIP, RAR, 7-Zip, gzip, xz, bzip2 and tar archives.
How pages are served
Pages are served in a sandbox (Content-Security-Policy: sandbox allow-scripts). Scripts run and can load resources from public CDNs, but a page can't read cookies or call Elula on behalf of the person viewing it.
When your workspace's Google Cloud is connected, page files are stored in the elula-pages-<project-id> bucket that the setup command creates in your project. See Connect Google Cloud.