引入markdown中间件 ,代码块展示有问题
//post文章发表处理程序
exports.formPost = function(req,res,next){
//markdown语法支持
var markdown = require('markdown').markdown;
//获取表单信息
var title = req.body.title,
name = req.body.name,
time = new Date(),
info = req.body.message,
titleSrc = req.body.titleSrc;
//验证字段title是否为空
var info = markdown.toHTML(info);
if(title == null || title == undefined){
req.flash('error','标题不能为空');
return res.redirect('/post');
};
//写入到mongodb
var Article = require('../models/article');
Article.create({
title:title,
name:name,
time:time,
info:info,
titleSrc:titleSrc,
},function(err,data){
if(err){
req.flash('error','文章发表失败,请稍后再试');
return res.redirect('/post');
};
//写入成功
req.flash('success','发表成功');
res.redirect('/');
});
};
在WEB版本的markdown中代码格式没有问题,在现在写的博客项目中格式出现问题 ** END ,帮帮萌新 **
同样的代码在 发布格式就有问题,不知道什么原因
这是数据库的json信息
顶一下
没理解问题,看数据库存储是没问题的,所以是显示有问题吗
来自酷炫的 CNodeMD
我怀疑是md文件的格式问题
@TakWolf 是的展示有问题
@liygheart 不知道欸
代码块经过编译后应该生成 <code>
标签,检查一下
来自酷炫的 CNodeMD
@TakWolf 不行有code标签 就是不自动换行我觉得少了pre标签
markdown语法用的是哪个?代码块用的是一个点还是三个点,一个点是不换行的单行块,三个点是代码段
@TakWolf 用的markdown中间件 三个···的
@TakWolf var markdown = require(‘markdown’).markdown; var info = markdown.toHTML(info);
你看你的截图,最前面
`javascript
最后面也有个点 是不是用了类型注释
你把代码类型javascript去掉,只用三个点编译一下试试,类型注释这个语法可能不兼容
看看是不是这个原因
@TakWolf 还不行 markdown地址
确实,code标签外通常应该有一个 pre 标签,这里没有转换成功
@TakWolf 请问下 还有别的markdown中间件可以使用吗
包用的是这个吗:https://github.com/evilstreak/markdown-js
你试一下这个包:https://github.com/markdown-it/markdown-it cnode用的就是这个,貌似好像没出现问题 https://github.com/cnodejs/nodeclub/blob/master/package.json#L32
@TakWolf 感谢你发表格式正确了不过高亮代码没有
cnode生成的结果是这样的,你可以参考一下