Skip to content
Static generator for and the fancy web pages
Ruby HTML CSS JavaScript
Latest commit 11db1a1 Jun 21, 2016 @orta orta committed on GitHub Merge pull request #453 from CocoaPods/remove_empty_installation
Remove empty installation + updates to Jazzy / CP
Failed to load latest commit information.
appledoc_templates Use HTTPS when linking to CocoaPods Apr 5, 2015
classes Remove empty installation sections Jun 21, 2016
resources remove unused assets, update favicon, added local css assets May 10, 2014
spec Remove empty installation sections Jun 21, 2016
vendor Update headliner to correctly change the title Nov 17, 2015
views Fix show method on GitHub being blurry Jan 22, 2016
.env.sample Make the pinger submit stats data Jul 17, 2015
.gitignore Fixed a bunch more cases of improperly escaped paths, leading to whit… Oct 15, 2014
.rubocop.yml [Rakefile] Add rubocop Oct 15, 2014
.rubocop_todo.yml [Rakefile] Add rubocop Oct 15, 2014
.ruby-version [Gemfile] Remove unused cocoapods-testing dependency Jan 10, 2015
.travis.yml [Travis] Only run for master Nov 30, 2015
Gemfile Updates Jazzy, and ensures that the module_name is set ( to ensure th… Apr 10, 2016
Gemfile.lock Update CocoaPods + Jazzy Jun 21, 2016
LICENSE split server & docs, added license & improved readme May 18, 2014
Procfile use a shell loop Mar 24, 2015 [jazzy] Add support for Jazzy config files Dec 23, 2015
Rakefile Update headliner to not use a screen to render the view Nov 14, 2015
cocoadocs.rb Remove the running stash on each docset, I think it might be making a… Apr 16, 2016
misc.rb add a script to run each doc Jul 1, 2014
ping.rb Sigh, just use HTTParty for the sending to status Jul 17, 2015
server.rb replace the ip check on the API with a token Oct 23, 2015
webpages.rb Fixed a bunch more cases of improperly escaped paths, leading to whit… Oct 15, 2014

Build Status

CocoaDocs is essentially 2 tools, one is a script for generating complex appledoc templates and the other is a server aspect for reacting to webhook notifications.

How it works for the 99% use cases:

CocoaDocs receives webhook notifications from the CocoaPods/Specs repo on GitHub whenever a CocoaPod is updated.

This triggers a process that will generate documentation for objective-c projects via appledoc and host them for the community. This process can take around 15 minutes after your Podspec is published via trunk.

At the minute 404 errors are likely to occur at our end due to work on trying to move to a queuing system. Presuming your library is made out of objc.

What control do I have over CocoaDocs as a library author?
  • You have the ability to edit the styling of CocoaDocs for your own libraries to give some personal branding. This is done by adding a .cocoadocs.yml file to the root of your library, which overwrite these properties:

    highlight-font: '"GT Walsheim", "gt_walsheim_regular", "Avant Garde Gothic ITCW01Dm", "Avant Garde", "Helvetica Neue", "Arial"'
    body: '"Helvetica Neue", "Arial", san-serif'
    code: '"Monaco", "Menlo", "Consolas", "Courier New", monospace'
    highlight-color: '#ED0015'
    highlight-dark-color: '#A90010'
    darker-color: '#C6B7B2'
    darker-dark-color: '#A8A8A8'
    background-color: '#F2F2F2'
    alt-link-color: '#B7233F'
    warning-color: '#B80E3D'

    All defaults are stored in this config file for you to overwite.

  • You can find an example of styling at ARAnalytics's .cocoadocs.yml

  • You can add your own documentation guides, either from remote markdown files or from files locally inside the library. CocoaDocs will automatically convert github wiki pages to the markdown behind it.

     - docs/
  • If you host your own documentation, and/or just prefer to not use CocoaDocs you can use the documentation_url reference in your Podspec.

Previewing my library in CocoaDocs

First, clone this repo: git clone then run bundle install and then run bundle exec rake install_tools to get all pre-requisite apps set up.

To preview your library run:

bundle exec ./cocoadocs.rb preview ARAnalytics

This will get the master version of your library and run it through CocoaDocs, then open the resulting folder, you can open the index.html in a web browser to preview locally.

CocoaDocs Admin

The CocoaPods' CocoaDocs server is hosted on provided by Button. We use RSA public keys to log in. You'll have to get your to an existing admin ( currently orta /segiddins ) to get access.

SSH access is automated via the Rakefile:

  • bundle exec rake deploy - will log in via SSH, stop the API server, update it and then bring the server back up.

  • bundle exec rake doc["pod_name"] - will log in via SSH, and run a re-doc for a pod. Similar to the redeploy API, but you can see the logs.


The creation of CocoaDocs v2 has been made possible with help from the following:

Something went wrong with that request. Please try again.