# `@doc DocTypes`

## @doc DocTypes are the Default DocTypes `@doc` documentation plugin contain the default docTypes that all plugins inherit from. Unless they are overriden, they will be available for every documentation plugin.

## DocTypes

- ### @doc overview ( example )

  The `overview` docType is meant to simply render whatever is within the "@description". Note, this page was rendered as an overview.

  #### Expected Params

  - `id` : Must be provided, or "@name" must be provided.

        @id <id>

  - `name` : Optional, unless "@id" is not provided. Value displays in menus and as the titles.

        @name <name>

  - `description` :

        @description <multi-line description>

- ### @doc module ( example )

  The `modular` docType generates a bit of a 'splash' page where you can talk generally about the module. It will print out the "@name" attribute which should match the "@id" of the module. You can then use the "@description" to provide more information and quick links.

  #### Expected Params

  - `id` : Must be provided, or "@name" must be provided.

        @id <id>

  - `name` : Optional, unless "@id" is not provided. Value displays in menus and as the titles.

        @name <name>

  - `description` :

        @description <multi-line description>

- ### @doc function ( example )

  The `function` docType is used as a single function or method

  #### Expected Params

  - `id` : Must be provided, or "@name" must be provided.

        @id <id>

  - `name` : Optional, unless "@id" is not provided. Value displays in menus and as the titles.

        @name <name>

  #### Optional Params

  - `returns` :

        @returns {<type>} <description of return value>

  - `param` : Provide one param for each param that the function accepts

        @param {<type>} <description of param>

  - `description` :

        @description <multi-line description>

- ### @doc method ( example )

  SEE `@doc function`

- ### @doc interface ( example )

  #### Expected Params

  - `id` : Must be provided, or "@name" must be provided.

        @id <id>

  - `name` : Optional, unless "@id" is not provided. Value displays in menus and as the titles.

        @name <name>

  #### Optional Params

  - `property` : Provide as many as necessary

        @property {<type>} <property name> <description> <id>

  - `description` :

        @description <multi-line description>

- ### @doc object ( example )

  SEE `@doc interface`