Here is a list of features which are already availabled.
- support of many javadoc tags or phpdocumentor tags in doc comments.
- A script to run from the command line, to parse all the source code of your project, and it stores the result of the parsing in a database, so you could create your own doc generator from this data.
- A web interface which will allow you to:
- navigate in the source code
- display details on a class/interface : description, list of properties, list of methods, list of inheriting classes, etc..
- list of global variables, list of constants etc..
- display details on function etc
- Since it is an application based on jelix:
- you can create your own theme for the web interface or the generated static html files
- you can localize the web interface and the generator
- you can choice the type of the database (sqlite, mysql, postgresql...)
- you can include easily modules of rarangi into an other jelix application
in the future
- web interface
- 'semantic' search engine, which allow you to search by class identifier, by file name, full text search, etc
- A script to generate the documentation in static html files
- support of plugins for tags, to support your own tags
- support of plugins to parse other files than PHP
- support of namespaces and all new features provided by PHP 5.3.
Differences with phpdocumentor
phpdocumentor is a widely used documents generator. However, Rarangi has some advantages over it:
- Rarangi will have a built-in search engine. Most of time, when you want to read something in a reference documentation, you need to do a search. Rarangi fits this need.
- Rarangi needs much less memory than phpdocumentor. More the source code is huge, more phpdocumentor needs memory. This is not the case of Rarangi.
- Rarangi doesn't need to parse the source code, each time you want to generate the documentation in different formats. This is because Rarangi stores data in a database (sqlite, mysql or postgresql..)
- Rarangi is based on an efficient framework, Jelix, which allows Rarangi to be highly extensible and reusable into other Jelix applications.