express2md
v1.0.3
Published
Create markdown API documentation from Express
Downloads
3
Maintainers
Readme
express2md
Create API documentation from object or Express.js application
v1.0.3
Installation
npm i -S express2md
Create API documentation based on Express.js
Simple express example
var express = require('express');
var Markdown = require('express2md');
var app = express();
var md = new Markdown({ express: app });
// regular app express workflow ( app.get, app.post, app.listen... etc )
Get created md
curl 127.0.0.1:3000/api.md
Extended express example
- extended Express API example - movies database API example ( GET, POST, DELETE methods; RAM data storage ). Result example as md: Movies Database API documentation
Simple example
var express = require('express');
var Markdown = require('express2md');
var app = express();
var md = new Markdown({ express: app });
app.get('/movies', function (req, res) { res.send('List of all movies'); });
app.post('/movies', function (req, res) { res.send('Add new movie'); });
app.get('/movies/:id', function (req, res) { res.send('Get movie by id'); });
app.delete('/movies/:id', function (req, res) { res.send('Delete movie by id'); });
app.listen(3000, function () { console.log('Example app listening on port 3000!'); });
curl 127.0.0.1:3000/api.md
Result
# Methods
## Brief
- [//api.md](#methods./api.md)
- get
- [//movies](#methods./movies)
- get
- post
- [//movies/:id](#methods./movies/:id)
- get
- delete
## <a name="methods./api.md"></a> /api.md
Method | Description
-------|------------
get | get /api.md
## <a name="methods./movies"></a> /movies
Method | Description
-------|------------
get | get /movies
post | post /movies
## <a name="methods./movies/:id"></a> /movies/{id}
Method | Description
-------|------------
get | get /movies/:id
delete | delete /movies/:id
Create API documentation from object
var Markdown = require('express2md');
var md = new Markdown({
title: 'Testing',
baseUri: 'http://localhost:3000',
version: '3.1.0',
});
md.type('books', {
name: { type: 'string', required: true },
numberOfPages: { type: 'integer' },
});
md.methods('books', 'get', {
description: 'Get information about all books',
responses: {
200: { 'application/json': [{ name: 'one', author: { name: 'Art' } }] },
404: { 'application/json': { code: '120', message: 'Books not found' } },
},
});
md.generate(function (err, mdText) {
console.log(mdText);
});
Result
# Testing
v3.1.0
BaseUri: [http://localhost:3000](http://localhost:3000)
# Types
## <a name="types.books"></a> books
{
"name": {
"type": "string",
"required": true
},
"numberOfPages": {
"type": "integer"
}
}
# Methods
## Brief
- [/books](#methods.books)
- [get](#methods.books.get)
## <a name="methods.books"></a> /books
Method | Description
-------|------------
get | Get information about all books
### <a name="methods.books.get"></a> get
Get information about all books
**Responses**
code | type | example
-----|------|--------
200 |application/json | ```[{"name":"one", "author":{"name":"Art"}}]```
404 |application/json | ```{"code":"120", "message":"Books not found"}```
Options parameters
var md = new Markdown(options);
- version - version of API documentation ( default: 1.0 )
- express - an Express application
- path - path to get API API documentation ( default: /api.md )
- storeResponses - store first response as example ( default: false )
- guessAll - make description quite pretty ( default: false )
- title - title of API in document
- baseUri - URI of API in document
- versionAPI - version of API in document
- templateFileName - path to template
Tests
npm test
Change Log
Created by
Dimitry, [email protected]
curl -A cv ivanoff.org.ua