后台api部分的写法
···
var fs = require('fs')
var path = require('path')
var basePath = 'docs'
let markdown = require('markdown-it')
var md = new markdown({
html: true,
langPrefix: 'code-',
})
function getDirsInDocsFolder() {
var paths = fs.readdirSync(basePath)
return paths
}
function getMdsInFolder(folderName) {
let paths = fs.readdirSync(path.join(basePath, folderName))
return paths
}
function writeMdFile(fileName, folderPath, content) {
fs.writeFile(path.join(basePath, folderPath, fileName), content, function (err) {
console.error(err)
})
}
function readMdFileToHtml(fileName, folderPath) {
var content = fs.readFileSync(path.join(basePath, folderPath, fileName), 'utf-8')
var html = md.render(content)
return html
}
function main() {
console.log('Starting web server')
var express = require('express')
var app = express()
app.use(express.static('.'))
app.get('/', function (req, res, next) {
})
app.get('/cates', function (req, res, next) {
var list = getDirsInDocsFolder()
res.send(list)
})
app.get('/mds', function (req, res, next) {
var folderName = req.query.cate
if (!folderName) res.send([])
var mds = getMdsInFolder(folderName)
res.send(mds)
})
app.get('/md', function (req, res, next) {
let cate = req.query.cate
let fileName = req.query.name
var html = readMdFileToHtml(`${fileName}.md`, cate)
res.send(html)
})
app.post('md', function (req, res, next) {
})
var server = app.listen(8081, function () {
var host = server.address().address
var port = server.address().port
console.log('Listening on http://%s:%s', host, port)
})
}
main();
···