apiDoc
apiDoc creates a documentation from API descriptions in your source code.
Installation
$ npm install -g apidoc
Usage
Add some apidoc comments anywhere in your source code:
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'),
dryRun: true,
silent: true,
})
if (typeof doc !== 'boolean') {
console.log(doc.data)
console.log(doc.project)
}
Install type definitions (see @types/apidoc):
$ npm install -D @types/apidoc
Docker image
You can use apidoc in Docker like this:
docker build -t apidoc/apidoc .
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):
-
Clojure:
;;;;
;; This is a comment.
;;;;
-
CoffeeScript:
###
This is a comment.
###
-
Elixir:
#{
# This is a comment.
#}
-
Erlang:
%{
% This is a comment.
%}
-
Perl
-
Python
"""
This is a comment.
"""
-
Ruby
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