You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

51 lines
1.1 KiB

var pkg = require('../package');
var markdown = require('markdown').markdown;
var fs = require('fs');
function setup(){
var text = null;
function getText( callback ) {
if( text ) {
process.nextTick( callback.bind( null, null, text ) );
return;
}
fs.readFile( './DOCS.md', 'utf8', function ( err, content ) {
if( err ) {
callback( err );
return;
}
text = '# Pelias API\n';
text += '### Version: ['+ pkg.version+ '](https://github.com/pelias/api/releases)\n';
text += content;
callback( null, text );
});
}
function controller( req, res, next ) {
getText( function ( err, content ) {
if( !err ) {
if( req.accepts( 'html' ) ) {
var style = '<style>html{font-family:monospace}</style>';
res.send( style + markdown.toHTML( content ) );
}
else {
// stats
res.json({
name: pkg.name,
version: {
number: pkg.version
}
});
}
}
});
}
return controller;
}
module.exports = setup;