User guide — all chapters
See it, then send it
There are two previews, and both are honest. The same code draws the preview and the published page, so what you see is what uploads.
- The post preview is the Preview button in the composer. One post, as it will appear, without leaving what you are writing.
- The site preview is Preview Site on the publish screen. It opens the whole built site, linked pages and all, before anything leaves your device.
The publish screen
Choose Publish Site. On the Mac it is the Publish button in the toolbar, or Site → Publish Site… (⇧⌘P). The screen walks a fixed path.
1. Generate Site
Selfish builds every published post and page into a complete static site on your device. Nothing has been uploaded yet.
When it has finished, the screen says what it built: how many posts, pages and media files, how many drafts were skipped, and how many posts are scheduled for later. Drafts are counted and called out, never included.
2. The site check
The site check lists what is worth fixing before readers see it. It never stops you publishing.
| It notices | Why it matters |
|---|---|
| No site address | Without one there is no feed, no sitemap and no link previews. |
| Links to posts that aren’t online | They show as plain text until those posts are published. |
| Photos with no description | Screen readers can’t say what is in them. |
| Very large files | Anything over 10 MB is slow to upload, and slow to load for a reader on a phone. |
| Posts with no description | Search engines and link previews show the first lines instead. |
| A podcast with no category | Apple Podcasts needs one before it lists a show. |
The privacy report
At the top of the check, Selfish reads the pages it has just built and says what they ask of a reader’s browser. For a site as Selfish makes it, the answer is No scripts, no cookies, nothing from other sites. If you have added search, it says so: one script, on the search page only, reading only your own site.
You can go further and have browsers enforce it. Site Settings → Site → Privacy → Block scripts and other sites’ files adds a tag to every page telling browsers to run no script and load nothing from anywhere else, so the report’s zeros stay zeros even if something were added by mistake. Sites made with New Site start with it on.
3. Review the changes
Before anything is sent, Selfish shows what this publish will do.
- New, Updated and Taken down posts, by title.
- On SFTP, WebDAV, S3 and folders, after the first publish: how many files will upload and how big they are, how many are unchanged, and how many will be removed. Show files lists every one.
- Posts scheduled for a later day, and when they go out.
- Whether a change to your settings or theme means every page is rebuilt.
The first publish to a place uploads everything. After that, only what changed is sent. How publishing works explains how Selfish knows.
Two warnings can appear here, and both are worth reading.
- Newer on your live site. A post changed on another of your devices after this one last synced. Publishing now would replace it with this device’s older version. If iCloud is still catching up, wait a minute and try again. Selfish can tell on SFTP, WebDAV, S3 and folders, where it keeps its record beside the site.
- Not on this device. Your live site has posts this device doesn’t know. Most likely they were published from another device that hasn’t synced here yet. On SFTP, WebDAV, S3 and folders they stay online unless you choose Take them down. On Netlify, Cloudflare Pages and GitHub Pages every publish replaces the whole site, so they would come down: wait for sync first.
On SFTP, WebDAV, S3 and folders there is also Re-upload every file, for when files on the server were changed or deleted by hand.
4. Upload
The main button names where the site is going: Upload to SFTP Server, Upload over WebDAV, Upload to S3 Storage, Deploy to Netlify, Deploy to Cloudflare Pages, Publish to GitHub Pages or Copy to Folder. On SFTP, WebDAV, S3 and folders, where Selfish keeps its record beside the site itself, later publishes read Publish Changes, or Nothing to Publish when your live site is already up to date.
A live log and a count of files run while it works, and Cancel Upload stops it. An interrupted publish does no harm. The next one redoes whatever didn’t finish, and if a connection drops partway Selfish says so in plain words, and that publishing again is safe.
Checking what is live can’t wait for ever: if the destination hasn’t answered within 75 seconds, Selfish says so and offers Try Again. Publishing anyway uploads every file and removes nothing, which is slow but safe.
If the site has nowhere to go yet, the button is Configure Publishing to Upload, which opens the question of where your site should live. You can still build, preview and share the files without it: Share Site Files on iPhone and iPad, Show in Finder and Open in Browser on the Mac.
5. You’re live
After the upload Selfish opens your site’s home page itself and looks for the newest post there, to confirm the new version is showing. It can’t do that for a folder, or a site with no address. If it doesn’t find it, it says why: the address still shows the previous version because the host is switching over, the address doesn’t lead anywhere yet, or the certificate isn’t ready. Check Again looks once more.
From here you can View Live Site, or Share the New Post, which sends the new post’s link. When there is no new post, it shares your site’s.
After your first publish, Selfish asks once whether you would like your site in the directory of sites made with Selfish. It opens a form in your browser with your site’s address, title and theme already filled in, and nothing is submitted for review unless you send it.
Publishing when you leave the app
On iPhone and iPad a publish keeps going if you leave the app. iOS shows its progress and lets it finish in the background.
Scheduled posts
A post marked Published with a later date stays off your site until its day, then goes out at the first publish from that day on. Selfish reminds you that morning with a Publish Now button. Post details has the rest, and Capture shows how a Shortcuts automation can publish for you.
Publish history
Publish → History lists this device’s publishes of a site: when, where to, how much was sent, and which posts went up, changed or came down. Publishes that a Shortcut or a scheduled post’s reminder started are there too. The last hundred are kept, on your device only.
What gets built
The site is plain files: no database, nothing that needs patching. How publishing works lists every file and folder, because it is yours to move anywhere.