【问题标题】:How to render Markdown using Node.js Express, Mongo and Markdown-it?如何使用 Node.js Express、Mongo 和 Markdown-it 渲染 Markdown?
【发布时间】:2017-09-11 20:46:39
【问题描述】:

我对降价的世界完全陌生,并试图理解它。

我编写了一个基本的 node Express 应用程序。它正在从 mongodb 数据库中读取一些示例 markdown 文本,然后使用 markdown-it 中间件来处理 markdown。

var express = require('express');
var MongoClient = require('mongodb').MongoClient;
var fs = require('fs');
var path = require('path');

var md = require('markdown-it')({
  html: true,
  linkify: true,
  typographer: true
});

var app = express();

app.set('views', path.resolve(__dirname, 'views'));
app.set('view engine','ejs');

// Connect to the db
MongoClient.connect("mongodb://localhost:27017/mdtest1", function(err, db) {
  if(!err) {
    console.log("We are connected");
  }
});

app.use('/2',function(req,res){
    MongoClient.connect("mongodb://localhost:27017/mdtest1", function(err, db) {
        var collection2 = db.collection('mdcol');
        var ObjectId = require('mongodb').ObjectId;
        var o_id = new ObjectId('58f273ae624c4d435c632fa0');
        collection2.findOne({}, function(err, document) {
            //console.log(document.body);
            console.log('--------------------------------------------------')
            var result = md.render(document.body);
            console.log(result);
            res.render('md', {
                'main': result
            });
        });
    });
});

app.listen(3000);

我的问题是:如何在模板中呈现它?我正在使用 ejs 模板,其中显示以下变量:

<%= main %>

但这会将 HTML 显示为页面上的文本。

我做错了什么?谢谢!

【问题讨论】:

    标签: javascript node.js markdown


    【解决方案1】:

    &lt;%= main %&gt; 会转义 html。

    使用 &lt;%- main %&gt; 也会解析变量中的 html。

    【讨论】:

    • 谢谢迪云!做到了。好像我需要阅读 ejs 文档..
    猜你喜欢
    • 1970-01-01
    • 2021-05-09
    • 1970-01-01
    • 2016-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多