Skip to content
A Swift to Markdown document builder.
Python Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Build Status

Little Hedgehog Docs is a Swift documentation comments to Markdown document builder. It runs off of SourceKitten to parse the documentation comments from Xcode and then builds Markdown files for use in GitHub Wiki.

Note: This is currently still a work in progress. I want to be able to include Obj-C documentation in the future, as well as expand the range of the documents built for Swift.


Before installing LHDocs you will need to install SourceKitten. Goto the link below and follow the install instructions.

Once you have installed SourceKitten successfully, clone or download LHDocs and cd to the package's root directory in the terminal. From there you can call [sudo] python install which will install the LHDocs package.

And that's it!

Note: I am looking to submit LHDocs to PyPI to be able to install with pip around version 0.4.


LHDocs currently runs with 3 options to pass in, 2 of which are required.

  • -project: required The Xcode project file for the project you want to build docs for.
  • -target: required The Xcode target in the project you want to build docs for. This will also be used as the directory name all your documentation files are written to.
  • -output: The location you want to save the docs. By default this is set to ~/.

Note: More options will be introduced for working with Workspaces, specifying the name of the save directory and so on in version 0.4.


lhdocs -project MyAwesomeProject.xcodeproj -scheme MyAwesomeProject


lhdocs -project path/to/my/project/MyAwesomeProject.xcodeproj -scheme MyAwesomeProject -output ../

Sample Documentation

On it's way...


0.1 - Complete
  • Use the command line and parse in options.
  • Basic parsing and building of documentation for classes, functions and parameters.
  • Save markdown files to a directory.
  • Don't parse comments that are not in a class as separate files.
  • Create a working Python package for the project.
0.2 - Current
  • Build all global functions into one file.
  • Build all global parameters into one file.
  • Build all global structs into one file.
  • Build all global enums into one file.
  • Build all global protocols into one file.
  • Build extension classes.
  • Add a table of contents with linking to the correct section at the beginning of each page.
  • Save pages into folders depending on the type (class, struct, etc).
  • Save global functions, etc into a single file (i.e. 1 global functions file, 1 global parameters file, etc).
  • Add more options to set via the command line (clean before save, parse TODO: and/or FIXME:, etc).
  • Only build items for specific accessibility options.
  • Add the ability to build docs for single files.
  • Submit to PyPI.
  • Build Obj-C docs.


MIT Licence


James Barrow

You can’t perform that action at this time.