v1.0.3
npm i -S express2md
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 )
curl 127.0.0.1:3000/api.md
- extended Express API example - movies database API example ( GET, POST, DELETE methods; RAM data storage ). Result example as md: Movies Database API documentation
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
# Methods ## Brief - [//api.md](#methods./api.md) - get - [//movies](#methods./movies) - get - post - [//movies/:id](#methods./movies/:id) - get - delete ## /api.md Method | Description -------|------------ get | get /api.md ## /movies Method | Description -------|------------ get | get /movies post | post /movies ## /movies/{id} Method | Description -------|------------ get | get /movies/:id delete | delete /movies/:id ``` ## Create API documentation from object ```javascript 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); });
# Testing v3.1.0 BaseUri: [http://localhost:3000](http://localhost:3000) # Types ## books ``` { "name": { "type": "string", "required": true }, "numberOfPages": { "type": "integer" } } ``` # Methods ## Brief - [/books](#methods.books) - [get](#methods.books.get) ## /books Method | Description -------|------------ get | Get information about all books ### 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"}```
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
npm test
Dimitry, 2@ivanoff.org.ua
curl -A cv ivanoff.org.ua