InterJinn

Development Framework For PHP

Using the drop-down lists to your left you can navigation the entire codebase for InterJinn (you will need Javascript enabled). While all of the classes, methods, and functions are currently in the JinnDocs, only a small number currently have full details. This is a new endeavour and the rest of the documentation will follow in time. This will enable me to keep the documentation up to date as the code itself changes, thus facilitating a faster release cycle (something that has suffered due to my shorter amount of free time in which I can write up documentation after the fact). Feel free to visit the site periodically to watch as the documentation takes shape. Currently the following classes have complete documentation and serve to illustrate JinnDoc's capabilities:

InterJinn PHP

InterJinn JavaScript

What is JinnDoc?

JinnDoc is my attempt to facilitate a consistent and clean method of creating API and high level documentation from the source code itself. Those familiar with JavaDoc will recognize a similarity in formatting; however the extraction technique is quite different. The reason for such a format is obvious... it's well recognized and provides a clear route of navigation from one class to other related classes. In addition to the some of the standard things represented in JavaDoc, JinnDoc also extracts service and component information to their own lists. These are essentially the same information found in the class documentation itself but without the full implementation details.

How are JinnDocs created?

JinnDoc uses InterJinn's TemplateJinn technology to allow embedding <jinnDoc:xxx/> tags within comments. This is extremely powerful since TemplateJinn uses a layered XML-like (LXML I call it) parsing approach which allows it to ignore unrecognized tags and markup. This is fundamental for ease of embedding XML-like documentation since only the JinnDoc tags themselves must be well formed. The advantages of this break from standard XML should be obvious, LXML can be embedded almost anywhere with ease and still retain the majority of power and flexibility enjoyed by standard XML.