Подтвердить что ты не робот

Какие инструменты доступны для документирования плагинов jQuery?

Недавно я начал создавать некоторые плагины jQuery, и мне сложно документировать их с помощью инструментов создания документации, которые я нашел. Я пробовал: JSDoc, JSDoc-toolkit, JGrouse и веб-инструмент. Моя самая большая головная боль заключается в том, что мои плагины закодированы как одна большая анонимная функция, и у меня возникают проблемы с тем, чтобы заставить инструменты распознавать то, что я делаю, или вообще игнорировать его, и позволить мне вводить теги документации для методов, объекты и т.д.

Существуют ли какие-либо другие инструменты, которые могут помочь с документированием плагинов jQuery?

Спасибо, Sandro

4b9b3361

Ответ 1

Вы посмотрели Natural Docs? Возможно, он не очень сильно поддерживает JavaScript, но в любом случае он неплохо работает. Конечно, вы можете обмануть его, чтобы не понимать код, но если вы играете с ним хорошо, это может быть чертовски полезным инструментом.

Ответ 2

Инструменты документации Javascript по-прежнему относительно незрелые, поэтому не существует более 50 таких, например JavaDoc, и те, которые существуют, не обрабатывают сложные случаи, такие как плагины jQuery (или, по крайней мере, ни один из которые я когда-либо видел).

Однако Javascript - чрезвычайно гибкий язык, поэтому вы можете просто переписать свои плагины таким образом, чтобы облегчить работу с документацией.

Например, вместо:

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

вы можете сделать:

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

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

или просто:

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

Эти два варианта не идентичны; первая перезапишет любую существующую функцию yourMethod, и последняя не будет иметь "конфиденциальность" стандартного формата плагина. В зависимости от того, на что вы пишете этот плагин, эти проблемы могут или не имеют значения для вас.

Если они этого не сделают, повторный стиль кода может быть жизнеспособным способом анализа JSDoc. Если нет... удачи найти достаточно зрелый инструмент JSDoc (или написать свой собственный): -)

Ответ 3

Я использовал doxygen следующим образом:

/** @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 */