- Notifications
You must be signed in to change notification settings - Fork1.7k
RESTful web API Documentation Generator.
License
apidoc/apidoc
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This project is currently not active maintained!See discussion#1436
apiDoc creates a documentation from API descriptions in your source code.
Documentation:apidocjs.com
$ npm install -g apidoc
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 fromsrc/
intodoc/
.
$ apidoc -i src/ -o doc/
This repository contains andexample
folder from which you can generate a very complete documentation on an example api endpoint. It also contains best practice hints (in thefooter.md
file).
$ git clone https://github.com/apidoc/apidoc&&cd apidoc$ npm install --prod$ ./bin/apidoc -i example -o /tmp/doc$$BROWSER /tmp/doc
You can generate the documentation programmatically:
importpathfrom'path'import{createDoc}from'apidoc'constdoc=createDoc({src:path.resolve(__dirname,'src'),dest:path.resolve(__dirname,'doc'),// can be omitted if dryRun is true// if you don't want to generate the output files:dryRun:true,// if you don't want to see any log output:silent:true,})if(typeofdoc!=='boolean'){// Documentation was generated!console.log(doc.data)// the parsed api documentation objectconsole.log(doc.project)// the project information}
Install type definitions (see@types/apidoc):
$ npm install -D @types/apidoc
You can use apidoc in Docker like this:
# first build the image after cloning this repositorydocker build -t apidoc/apidoc.# run itdocker run --rm -v$(pwd):/home/node/apidoc apidoc/apidoc -o outputdir -i inputdir
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.#*
=podThis is a comment.=cut
Python
"""This is a comment."""
Ruby
=beginThis is a comment.=end
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 viewapidoc-plugin-test.
Pleasecreate a new issue if you have a suggestion/question or if you found a problem/bug.
apiDoc is a collaborative project. Pull requests are welcome. Please see theCONTRIBUTING file.
- flask-apidoc
pip install flask-apidoc
- grunt-apidoc
npm install grunt-apidoc
. - gapidoc (gulp)
npm install gapidoc
. - webpack-apidoc
npm install --save-dev webpack-apidoc
.
About
RESTful web API Documentation Generator.