apiDoc

RESTful web API 文档生成器。「RESTful web API Documentation Generator.」

Github星跟蹤圖

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

Live DEMO

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.

Build tools

Integration

Converter

主要指標

概覽
名稱與所有者apidoc/apidoc
主編程語言JavaScript
編程語言HTML (語言數: 4)
平台
許可證Other
所有者活动
創建於2013-04-20 18:08:52
推送於2024-02-16 09:29:16
最后一次提交2024-02-16 10:29:16
發布數56
最新版本名稱1.2.0 (發布於 2023-08-23 14:38:56)
第一版名稱0.2.4 (發布於 )
用户参与
星數9.7k
關注者數223
派生數1.7k
提交數893
已啟用問題?
問題數920
打開的問題數77
拉請求數155
打開的拉請求數8
關閉的拉請求數343
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?