1.0.3 • Published 7 years ago

express2md v1.0.3

Weekly downloads
3
License
MIT
Repository
github
Last release
7 years ago

NPM version NPM downloads MIT License js-standard-style Build Status: Linux Build Status: Windows Coverage Status

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

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

all changes

Created by

Dimitry, 2@ivanoff.org.ua

curl -A cv ivanoff.org.ua