From 9ca589e2f14dc160476f01fb158df692bb328ba5 Mon Sep 17 00:00:00 2001 From: Vitaly Puzrin Date: Sun, 4 Dec 2016 23:47:23 +0300 Subject: [PATCH] babelmark responder + heroku config --- Procfile | 1 + package.json | 4 +++- support/babelmark-responder.js | 43 ++++++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 Procfile create mode 100644 support/babelmark-responder.js diff --git a/Procfile b/Procfile new file mode 100644 index 0000000..678637d --- /dev/null +++ b/Procfile @@ -0,0 +1 @@ +web: node support/babelmark-responder.js diff --git a/package.json b/package.json index 5fc3c33..98d783e 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,8 @@ "markdown-it": "bin/markdown-it.js" }, "scripts": { - "test": "make test" + "test": "make test", + "heroku-postbuild": "npm install express" }, "files": [ "index.js", @@ -39,6 +40,7 @@ "chai": "^3.4.1", "coveralls": "~2.11.9", "eslint": "^3.5.0", + "express": "^4.14.0", "highlight.js": "^9.2.0", "istanbul": "^0.4.5", "jade": "~1.11.0", diff --git a/support/babelmark-responder.js b/support/babelmark-responder.js new file mode 100644 index 0000000..5a4cd2e --- /dev/null +++ b/support/babelmark-responder.js @@ -0,0 +1,43 @@ +#!/usr/bin/env node + +/* eslint-env es6 */ +/* eslint-disable no-console */ +'use strict'; + +const md = require('../')('commonmark'); +const app = require('express')(); + +const version = require('../package.json').version; + +const banner = ` + + + + markdown-it responder for babelmark + + +

markdown-it + responder for Babelmark2

+

Usage: /?text=...

+ + +`; + +app.set('port', (process.env.PORT || 5000)); + +app.get('/', function (req, res) { + if (typeof req.query.text === 'string') { + res.json({ + name: 'markdown-it', + html: md.render(req.query.text.slice(0, 1000)), + version + }); + return; + } + res.setHeader('Content-Type', 'text/html'); + res.send(banner); +}); + +app.listen(app.get('port'), function () { + console.log(`Node app is running on port ${app.get('port')}`); +});