User guide — all chapters

The composer

Tap + and you get a title field and a blank page. Type. The body is plain text with light formatting. There are no blocks to drag and no panels to open before you can start a sentence.

Once a list holds more than ten posts, a filter field appears at its top. Type a word and the list narrows to posts whose title or text contains it.

Formatting

A formatting bar holds the controls; on iPhone and iPad it sits above the keyboard. Each applies to the selection or, apart from Link, to what you type next if nothing is selected.

ControlWhat it does
Bold · ItalicEmphasis. Both can apply at once. ⌘B and ⌘I do the same on a Mac, or an iPad with a keyboard.
LinkSelect some text first. It asks for a web address, or lets you choose Link to a Post…. Select linked text and press it again to remove the link. ⌘K.
Heading 2 · Heading 3Turn every line the selection touches into a heading. Tap again to turn it back. Return at the end of a heading starts an ordinary paragraph.
QuoteMakes the touched lines a block quote.
AaMore formatting: Code, Strikethrough, Divider, Footnote, Read More Break, Table of Contents and Text Size.

A post’s title is the page’s one main heading, so headings in the body start a level below it.

Footnotes, dividers and breaks

` that Hugo and WordPress use, so imported posts keep theirs.

Lists as you type

Start a line with - for a bulleted list or 1. for a numbered one. Press Return and the next item starts for you, with numbered lists counting on. Press Return on an empty item and the list ends. Long items wrap neatly under their own text.

Markdown, if you want it

Underneath, a post is plain text with a small, familiar subset of Markdown. You can type it instead of using the bar.

Formatting you apply from the bar shows styled as you write. List markers, dividers, footnotes and code blocks stay as you typed them in the editor, and render properly in the preview and on the published page. Nothing is lost when you edit a post again later.

Code in colour

Name the language after a code block’s opening backticks, such as ```swift, and the block is coloured when your site is built: keywords, strings, comments and numbers, in tints of your theme’s own text colour, so it suits light and dark themes alike. No script is added to your site to do it. A block with no language looks as it always did.

Selfish knows Swift, JavaScript and TypeScript, Python, Ruby, Go, Rust, Java, Kotlin, C, C++, Objective-C, C#, PHP, shell, SQL, JSON, YAML, TOML and INI, Dockerfile, HTML and XML, CSS, and diffs.

Select some text, tap the link button and choose Link to a Post…. Pick from the site’s posts and pages; a search field narrows them by title.

The link is kept by the post, not by its address, so it follows the post if you change its slug. A link to a draft shows as plain text on your site until that post is published, so a reader never meets a dead link. Exports write these links as links between the Markdown files, and restoring or duplicating a site keeps them.

Paste

Paste does the sensible thing with what is on the clipboard.

On the Mac, anything else pastes as plain text, so formatting the post couldn’t keep never appears and then vanishes.

Find and replace, and text size

Find and replace is in the composer: Edit → Find (⌘F) on the Mac, and Find in the edit menu that pops up over the text on iPhone and iPad.

Aa → Text Size makes the editor’s text bigger or smaller. On the Mac it is View → Make Text Bigger (⌘+) and Make Text Smaller (⌘−). On iPhone and iPad the editor also follows the system’s text size. Only how the editor looks changes. Your site doesn’t.

Notes

Leave a post’s title empty and it is a note: short, as on a social feed.

Wherever something needs a name for it, such as the browser tab, the archive and the app’s own lists, Selfish uses its opening words. The composer’s preview shows a note under an “Untitled” heading that its published page doesn’t have.

Earlier versions

Details → History → Earlier Versions… lists versions of the post. This device keeps one when you open a post, every ten minutes while you write, and when you close it, up to a hundred for each post.

Open one to read it, and choose Restore This Version to bring it back. What is there now is kept as a version first, so a restore can be undone. Versions stay on the device you wrote on. They don’t sync, and they are never published.

Suggestions, written on your device

Where Apple Intelligence is switched on, Details offers Suggest beside the description and the tags. It writes a description for search results and link previews, and picks which of the site’s existing tags fit the post. Apple’s on-device model does the work. Nothing about the post leaves your device, and you can change whatever it suggests.

Where Apple Intelligence isn’t available, the buttons simply aren’t shown.

On the Mac: a post in its own window

Choose Open in New Window from a post’s menu, or File → Open in New Window (⌘O) for the selected post, to write in one window while you look things up in another. A post is only ever open in one editor, so the main window shows where it is rather than a second copy.