I would consider looking for a tool that allows you to both document your plans and generate the current code from documentation within the code such as comments, etc., i.e. can both take more or less free form input and can generate information from the code base.
Personally I would take a look at Sphinx which has the following features:
- Free form text in reStructuredText which is easily version controlled
- Can generate documentation from python and C/C++ code with several other languages supported by extensions
- Multiple styles and themes
- Can generate the documentation in several formats including html for web sites, LaTeX (for printable PDF versions), ePub, Texinfo, manual pages, plain text.
- Syntax highlighting of code fragments in over 300 programming languages thanks to pygments
- Multiple types of diagrams can be embedded using GraphViz either generated from the code or manually added from dot files.
A list of projects using Sphinx, with links to the documentation, can be found here.
Sphinx and GraphViz are both Gratis and Open Source and are cross platform running on Windows, OS-X and Linux.