Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What tools are available for documenting jQuery plugins? [closed]

I've recently started creating some jQuery plugins and I'm finding it difficult to document them with the documentation generating tools that I've found. I've tried: JSDoc, JSDoc-toolkit, JGrouse and a web-based tool also. My biggest headache is that my plug-ins are coded as one big anonymous function, and I'm having trouble getting the tools to either recognize what I'm doing, or ignore it altogether and let me type in the documentation tags for the methods, objects, etc..

Are there any other tools that might help with documenting jQuery plugins?

Thanks, Sandro

like image 523
Sandro Avatar asked Oct 28 '09 18:10

Sandro


3 Answers

Have you had a look at Natural Docs? It might not have very much of explicit support for JavaScript, however it does a quite good job anyway. Of course you can trick it not to understand the code, but if you play nice with it, it can be a hell of a tool.

like image 68
Johan Avatar answered Nov 19 '22 21:11

Johan


Javascript documentation tools are still relatively immature, so there aren't 50+ ones like there are for say JavaDoc, and the ones that do exist don't handle complex cases like jQuery plug-ins (or at least none of the ones I've ever seen).

However, Javascript is an extremely flexible language, so you could just rewrite your plug-ins in a way that makes your documentation tool happy.

For instance, instead of:

(function($) {
    $.yourMethod = function() {/* do something */}
})(jQuery);

you could do:

function yourMethod = function() {
    /* do something */
}

(function($) {
    $.yourMethod = yourMethod;
})(jQuery);
delete yourMethod

or just:

jQuery.yourMethod = function() {
    /* do something */
}

Those two options aren't truly identical; the first one will overwrite any existing yourMethod function, and the latter will not have the nice "privacy" of the standard plug-in format. Depending on what you're writing this plug-in for, those issues may or may not matter to you.

If they don't, re-styling your code may be a viable way of making your JSDoc parsable. If not ... good luck finding a mature enough JSDoc tool (or writing your own) :-)

like image 43
machineghost Avatar answered Nov 19 '22 20:11

machineghost


I used doxygen this way:

/** @cond */

jQuery(function($){

    $.fn.TestFunction = function(){ testvar="test1";test("test2");alert(testvar); }

/** @endcond */

    /** DoSth Function */
    function test(testvar)
    {
       alert(testvar);
       var testvar="test3";
       alert(testvar);
    }

/** @cond */

    delete test;
});

/** @endcond */
like image 3
anonymous Avatar answered Nov 19 '22 19:11

anonymous