Générer de la documentation JavaScript avec Doxygen
J'utilise PHP et JavaScript dans mon projet, que je code entièrement avec netbeans 7.0.1. J'aime vraiment la façon dont netbeans intègre et utilise le style de commentaires JavaDoc, à la fois pour le code PHP et le code JS.
maintenant, je veux générer la documentation du code à partir de PHP aussi bien que du code JS. Je sais qu'il y a plusieurs façons de le faire, mais mon principal objectif est d'avoir la documentation pour les deux parties en documentation.
pour l'expliquer davantage: ainsi, par exemple, je pourrais utiliser Doxygen et traiter les fichiers PHP et JsDoc pour traiter les fichiers JS. Le résultat serait, que j'ai maintenant deux docs dans deux dossiers différents, un résultat qui ne me convient pas. Comme je l'ai mentionné, je veux les deux dans une documentation.
donc, d'abord je suis allé le chemin via l'aide de doxygen js2doxy.pl (http://jsunit.berlios.de/internal.html), mais ce n'était pas assez souple. Il fonctionne bien avec les fonctions définies" normales", mais pas avec les fonctions js anonymes.
après quelques essais j'ai beaucoup pensé pourquoi ne pas modifier L'option FILE_PATTERNS de document à traiter .les fichiers js, comme le style JavaDoc des commentaires sont presque identiques à ceux utilisés avec PHP. Et bien, le résultat semble prometteur, mais certaines fonctions sont manquantes dans la doc.
Voici des exemples:
/**
* Definitions for the languages.
* @memberof Language
*/
Language.Definitions = (function()
{
...
}
Cela fonctionne très bien, je peux voir la documentation. Mais:
**
* Definitions for the languages
* @memberof Language
*/
Language.Definitions = (function()
{
var Translations = {};
/**
* Replaces strings.
* @memberof Language
* @param string translation Translation string
* @param array parameters (optional) List of parameters
*
* @return string replaced string
*/
function replaceStrings(translation, parameters)
{
...
}
dans cet exemple je vois les docs pour la langue.Définitions mais pas pour replaceStrings (). As-tu une idée de ce que je fais de mal? La même construction est très bien traitée par JsDoc.
Aussi (la partie de la Langue.Définition. )..
...
return {
/**
* Initialize translations
*
* @memberof Language
*/
initTranslations: function()
{
...
}
...
}
... n'est pas indiqué dans la documentation.
cela ne me dérangerait pas non plus si quelqu'un me montrait comment fusionner au mieux les deux sorties de doxygen et JsDoc en une seule documentation.
Merci beaucoup d'avance!
Salutations!
1 réponses
Voir la commande \fn pour déclarer explicitement la fonction dans le doxygen, de préférence dans l'en-tête de la source, comme ceci:
/*!
* Language
* Declare the root class
* \Class Language
*/
/*!
* definitions is a property in the Language class
* \property Definitions definitions
*/
/*!
* Document the Definitions static class that used as property in the Language class
* \Class Definitions
*/
/*!
* Replaces strings
* Document the static method for the Definitions class
* \fn string replaceStrings(translation, parameters)
* \memberof Definitions
* \param string translation Translation string
* \param array parameters (optional) List of parameters
* \return string replaced string
*/
Language.definitions = (function()
{
var Translations = {};
function replaceStrings(translation, parameters)
{
...
}