Swift Book Builder
Publish books from your Mac or iPad.
Current version: 0.3.2
Formatting Books Is Painful
Formatting books is tedious. You have to worry about things like fonts, line spacing, and margins. You create the file for your book, preview it at Amazon, and things are slightly off. The margins are off. The chapters don’t align. You go back, fix things, and try again. After doing this 5–10 times, you can finally publish your book.
And that’s just print books. If you want to publish a book on the Kindle, you have to dig into HTML and CSS code to correct the mistakes. You have to be a web developer just to publish a book.
Things get so bad you end up paying someone to format the book so you don’t have to deal with the pain anymore.
Swift Book Builder to the Rescue
With Swift Book Builder you don’t have to worry about formatting details. Mark the parts of your book that aren’t body text, such as chapter titles and section headings. Swift Book Builder handles the rest, generating a book you can publish at Amazon, Apple’s Books Store, and other online bookstores. Spend more time writing books and less time formatting them.
The Swift Book Builder User Guide provides an example of an EPUB book that Swift Book Builder generates.
Swift Book Builder requires a Mac running macOS 11 or later or an iPad running iOS 15 or later.
I recommend using an iPad with a physical keyboard. Being familiar with the iOS Files app will also help when adding a cover image or opening the published book in the Books app.
The iOS version is not currently in the App Store because Swift Book builder is in the early stages of development. If you would like to try a pre-release version of the iOS app, request a Test Flight invite by using the form below.
Mac Installation Instructions
- Download Swift Book Builder.
- Double-click the zip file to expand it.
- Drag the Swift Book Builder application to your Applications folder or wherever you want it to reside.
- Double-click the Swift Book Builder application icon to launch Swift Book Builder.
Quick Start Guide
Creating a New Book
On Mac a new book should be created when you launch Swift Book Builder. You can also choose File > New to create a new book.
On iOS tap the Create Document item to create a new book.
Entering a Book Title and Author
Click or tap the Metadata button in the toolbar.
A sheet opens to enter the book’s title, author, and unique identifier. If you have an ISBN number for your book, use that as the unique identifier. Click or tap the Done button when you’re done to save the title and author.
Choosing a Book Cover
Click or tap the Metadata button in the toolbar.
A sheet opens. Click or tap the Choose Cover File button to choose the cover image file. Click or tap the Done button when you’re done to save the cover.
Renaming a Chapter
On Mac select a chapter from the chapter list. Press the Return key. Type the new chapter name.
On iOS tap the Edit button above the chapter list. Tap on the chapter to change its name.
Adding a Chapter
Click or tap the Add button below the chapter list.
On Mac the new chapter appears below the selected chapter. On iOS the new chapter appears at the end of the list. Tap the Edit button to move the chapter to the desired location in the chapter list.
Removing a Chapter
On Mac select the chapter to remove and press the Delete key.
On iOS tap the Edit button above the chapter list. Tap the Delete button next to the chapter you want to remove.
Empty chapters do not appear in the published book so you shouldn’t have to remove chapters often.
On Mac select a chapter from the chapter list and drag it to the desired position in the chapter list.
On iOS tap the Edit button above the chapter list. Next to each chapter is a button with three horizontal lines. Tap the button and drag the chapter to the desired position in the chapter list.
Select a chapter to show its contents in the text view. Type in the text view.
Changing the Look of the Text Editor
Select a theme from the Editor Theme menu.
Select the text you want to tag and choose a tag from the Tags menu.
Text is initially set to be body text (paragraph) so you don’t have to tag every paragraph in your book. Tag only things like chapter titles and section headings.
If you accidentally choose the wrong type of tag, remove the markup text using the text view.
You can also use Markdown syntax to tag text. For code blocks, the Markdown syntax of indenting the code block does not work. Enter three backticks in a line above and below the code block.
Start a line with an asterisk and a space to create an unordered list.
* Apples * Bananas * Coconuts * Grapes
Start a line with a number and a dot to create an ordered list.
1. First 2. Second 3. Third
Publishing a Book
Click or tap the Publish the button in the toolbar. A panel will open for you to choose a name for your book and a location to save it.
Accessing the Image Browser
On Mac the image browser is on the right side of the window.
On iOS tap the Images button in the toolbar to access the image browser.
- Select the chapter where you want to add the image.
- Click or tap on the location in the chapter text where the image should go.
- Click or tap the Add button at the bottom of the image browser.
- Choose the image you want to add.
- Click the Open button on Mac or tap the Done button on iOS.
The new image should look like similar to the following in the chapter text:
To add alt text to the image for people with impaired vision, add the alt text inside the square brackets.
Current Bugs and Limitations
- The only available publishing format is EPUB.
- When adding images on iOS the images must be in Swift Book Builder’s Documents folder.
- Toolbar buttons may randomly disappear on iOS. A workaround to restore the buttons is to tap the Publish button and tap the Cancel button in the sheet.
On Mac when saving a book, you must choose Book from the File Format menu. Book is the initial choice so you shouldn’t have to do anything to save in the Book format. If you save the book as an EPUB, you won’t be able to open it in Swift Book Builder.
Swift Book Builder does not collect any personal data.