No Description

index.js 1.7KB

    var express = require('express') var app = express() var get_file = function(req, res){ fs = require('fs') var path = "" var file_type = "" if(req.params['folder'] != undefined){ path = req.params['folder'] + "/" } if(req.params['file'] != undefined){ path = path + req.params['file'] parts = req.params['file'].split(".") extension = parts[parts.length - 1] if(extension == "md"){ file_type = "markdown" } } fs.readFile(path, 'utf8', function (err,data) { if (err) { return console.log(err); } process_file(res, data, file_type) }); } var process_file = function(res, data, file_type){ if(file_type == "markdown"){ res.send(markdown_parser(data)) } else { res.send(data) } } var markdown_parser = function(data){ //var markdown = require( "markdown" ).markdown; // var marked = require('marked'); // marked.setOptions({ // renderer: new marked.Renderer(), // gfm: true, // tables: true, // breaks: true, // pedantic: true, // sanitize: false, // smartLists: true, // smartypants: true // }); //return markdown.toHTML(data) //return marked(data) // var md = require('markdown-it')() // .use(require('markdown-it-mathjax')()); var md = require('markdown-it')() .use(require('markdown-it-math'), { inlineOpen: '\(', inlineClose: '\\)', blockOpen: '\\[', blockClose: '\\]' }) return md.render(data) } app.get('/:folder/:file', function (req, res) { get_file(req, res); }) app.get('/:file', function (req, res) { get_file(req, res); }) app.listen(3000, function () { console.log('Example app listening on port 3000!') })