views:

309

answers:

3

Hi,

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

+4  A: 

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) :-)

machineghost
Hi, I've noticed how other developers change the style of their JavaScript code and the docs come out nicely. Of note is: http://www.jenitennison.com/rdfquery/index.html has nice documentation for her jQuery plugin.I may just need to study the syntax for that plugin and try to emulate the style.. Thanks!
Sandro
+3  A: 

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.

Johan
I just took another look at NaturalDocs. It looks like it's free now. So far it's nice. Looks like you may get the bounty, although, I was kinda hoping for coding examples like the first response below. Oh well, I can figure out the rest. :)
Sandro
@Sandro Code examples come with a greater bounty. ;)
Johan
@Johan Great find! I was looking for such a tool too. +1
naikus