Have ideas to improve npm?Join in the discussion! »

    apidoc
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/apidoc package

    0.27.1 • Public • Published

    apiDoc

    apiDoc creates a documentation from API descriptions in your source code.

    validate Dependency Status NPM version Join the chat at https://gitter.im/apidoc/talk

    Documentation: apidocjs.com

    Example output.

    Installation

    $ npm install -g apidoc

    Usage

    Add some apidoc comments anywhere in your source code:

    /**
     * @api {get} /user/:id Request User information
     * @apiName GetUser
     * @apiGroup User
     *
     * @apiParam {Number} id User's unique ID.
     *
     * @apiSuccess {String} firstname Firstname of the User.
     * @apiSuccess {String} lastname  Lastname of the User.
     */

    Now generate the documentation from src/ into doc/.

    $ apidoc -i src/ -o doc/

    This repository contains and example folder from which you can generate a very complete documentation on an example api endpoint. It also contains best practice hints (in the footer.md file).

    $ git clone https://github.com/apidoc/apidoc && cd apidoc
    $ npm install --prod
    $ ./bin/apidoc -i example -o /tmp/doc
    $ $BROWSER /tmp/doc

    Programmatic usage

    You can generate the documentation programmatically:

    import path from 'path'
    import { createDoc } from 'apidoc'
    
    const doc = createDoc({
      src: path.resolve(__dirname, 'src'),
      dest: path.resolve(__dirname, 'doc')
    })
    
    if (typeof doc !== 'boolean') {
      // Documentation was generated!
      console.log(doc.data) // `api_data.json` file content
      console.log(doc.project) // `api_project.json` file content
    }

    Install type definitions (see @types/apidoc):

    $ npm install -D @types/apidoc

    Docker image

    You can use apidoc in Docker like this:

    # first build the image after cloning this repository
    docker build -t apidoc/apidoc .
    # run it
    docker run --rm -v $(pwd):/home/node/apidoc apidoc/apidoc -o outputdir -i inputdir

    Supported programming languages

    • C#, Go, Dart, Java, JavaScript, PHP, Scala (all DocStyle capable languages):

      /**
        * This is a comment.
        */
    • Clojure:

      ;;;;
      ;; This is a comment.
      ;;;;
    • CoffeeScript:

      ###
      This is a comment.
      ###
    • Elixir:

      #{
      # This is a comment.
      #}
    • Erlang:

      %{
      % This is a comment.
      %}
    • Perl

      #**
      # This is a comment.
      #*
      =pod
      This is a comment.
      =cut
    • Python

      """
      This is a comment.
      """
    • Ruby

      =begin
      This is a comment.
      =end

    Plugins (extend apiDoc)

    apiDoc will auto include installed plugins.

    • apidoc-plugin-schema Generates and inject apidoc elements from api schemas. npm install apidoc-plugin-schema

    For details and an example on how to implement your own plugin, please view apidoc-plugin-test.

    Support

    Please create a new issue if you have a suggestion/question or if you found a problem/bug.

    Contributing

    apiDoc is a collaborative project. Pull requests are welcome. Please see the CONTRIBUTING file.

    FAQ

    Build tools

    Integration

    Converter

    Install

    npm i apidoc

    DownloadsWeekly Downloads

    64,993

    Version

    0.27.1

    License

    MIT

    Unpacked Size

    1.56 MB

    Total Files

    74

    Homepage

    apidocjs.com

    Last publish

    Collaborators

    • avatar