I previously wrote about writing great documentation in Swift. If you haven’t read that post, head there now to catch up. This post is a follow-up with updates for GitHub’s new way to publish docs. This is how I’ve setup all of my Swift open source projects.

Generating docs

As I mentioned before, you’ll want to use Realm’s jazzySoulful docs for Swift and Objective-C. Here’s an example of the docs script that I use for PresenterKit:

jazzy \
    --clean \
    --author 'Jesse Squires' \
    --author_url 'https://twitter.com/jesse_squires' \
    --github_url 'https://github.com/jessesquires/PresenterKit' \
    --module 'PresenterKit' \
    --source-directory . \
    --readme 'README.md' \
    --documentation 'Guides/*.md' \
    --output docs/ \

You need to tell jazzy where your source code is and provide some basic author information. It couldn’t be easier. Run jazzy --help to see all of the possible usage options.

New! With the latest version of jazzy, you can pass --documentation and provide additional, custom markdown docs. In PresenterKit, this is used to generate the Getting Started guide.

Publishing docs

In the previous post, publishing docs with GitHub was a somewhat clunky process where you had to create an orphan branch named gh-pages. Now, all you need to do is put your documentation in a top-level docs/ directory on your master branch. Notice the output directory in the jazzy script above: --output docs/.

Complete workflow

Once you’ve made changes to your code and header docs, run your script to generate the documentation which should dump everything into docs/. Then simply commit your changes and push to GitHub, where your documentation will be rendered automatically.