Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

file 133 lines (98 sloc) 4.053 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133

General Notes:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

--General Notes:

* All comment blocks should have one, and only one, of the following tags:
  module, class, property, method. If one is not supplied, the parser will
  complain and the block will likely be skipped.

* The four block types require a description. This description should appear
  as the first thing in your comment block.

  /**
   * My method description. Like other pieces of your comment blocks,
   * this can span multiple lines.
   * @method methodName
   */

  This might work too, but I have not tried it.. I like the other convention:

  /**
   * @method methodName
   * @description My method description. Like other pieces of your
   * comment blocks, this can span multiple lines.
   */

* It will warn about any tag that does not contain a description, with the
  exception of the following: constructor, public, private, static


Supported Tags:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

@module modulename
    Include one these blocks in one of your files for your util/widget. The
    description will appear on the splash page.

    NOTE: At least one @module is required. Put one of these near the top
    of your source and use it to describe your component. Do not combine
    @module with @class.

@namespace YAHOO.namespace
    While it is optional to provide a namespace, it is recommended. This lets you
    describe your class just with the name: YAHOO.util.Event -> Event. It only
    needs to be included one time as long as this is the first file that is parsed.
    Probably safer to put it in each file.

@class ClassName

@extends YAHOO.namespace.ClassName

@property propertyName

@config configName
    similar to @property, but separates config items from normal properties

@attribute configName
    similar to @config, but also auto-generates the [event]Change and
    the before[Event]Change events

@method methodName

@event
    similar to @method, but no @return, and the @params define the signature
    the listeners are executed with.

@constructor
    Only put this if the class can be instantiated

@static
    For classes, methods, properties, etc ...
    Probably should have either @constructor or @static in the @class block

@final
    for constants (properties and read-only configs)

@param {type} name description -or-
@param name {type} description
    Supported in method blocks or class/constructor blocks.

@for ClassName
    Used to define an inner class:
        /**
         * An inner class
         * @class foo
         * @for OuterClass
         */
    After the class is done, you need to inform the parser to start working on
    the outer class again:
        /**
         * Another method for the outer class
         * @method bar
         * @for OuterClass
         */

@return {type} description
    for methods

@type type
    for properties and configs

@see
    This is barely supported at this point

@deprecated explaination
    The explaination does not need to be provided, but the parser will warn if
    you don't. Usually you'll want to say what to use instead

@public
    Allowed to exist as a singular tag, but does nothing. Everthing is assumed
    public unless marked private

@private
    Use to mark that the method/property should not be accessed by implementers
    (even if it is accessible to them). By default, privates are not present
    in the api docs.

@protected
    Use to indicate the method/property should not be accessed by implementers
    unless they are subclassing.

@requires module1, module2
    Supported in the @module declaration. The comma separated list of module
    short names will eventually be matched against a lookup table when
    cross-linking is supported

@default
    The default value of a property or config

@uses YAHOO.namespace.ClassName [method1, method2]
    For classes that use YAHOO.augment
    The optional method/properties are not supported yet
Something went wrong with that request. Please try again.