markdown转为html

作者: yonglei_shang | 来源:发表于2018-10-26 11:13 被阅读2次

在一些项目中需要用markdown来写文章并保存到数据库中,从数据库中读取出来需要转换为html格式的代码段才能正确显示文章

markdown 转为html有很多种方法,现在我们在react中用 marked.js 来实现转换

安装依赖

npm install marked --save

marked使用

// test.js
import React, { Component } from 'react'
import marked from 'marked'

const = '### test'

marked.setOptions({ // marked 设置
  renderer: new marked.Renderer(),
  gfm: true,
  tables: true,
  breaks: true,
  pedantic: false,
  sanitize: false,
  smartLists: true,
  smartypants: false
})

class Test extends Component {
  render () {
    const strHtml = marked(const)
    return (
      <div>
        <div>
            {strHtml}
        </div>
      </div>
    )
  }
}

export default Test

执行上面的代码页面显示的结果

image

dangerouslySetInnerHTML

我们看到执行marked(const)返回的是一个字符串,这时我们要用到 react 标签中的一个属性 dangerouslySetInnerHTML 相当于vue中的 v-html

dangerouslySetInnerHTML接收的是一个对象键值对

<div dangerouslySetInnerHTML={{__html: markedHtml}}/>

代码块样式 highlight

当我们在使用markdown中代码块时发现代码块样式并不是我们希望的有背景色。

这时我们要用到 highlight.js

npm install highlight.js --save

引用

import hljs from 'highlight.js/lib/highlight';
import 'highlight.js/styles/github.css'
hljs.initHighlightingOnLoad()

设置marked

marked.setOptions({
    highlight: function (code, lang) {
        if (lang && hljs.getLanguage(lang)) {
          return hljs.highlight(lang, code, true).value;
        } else {
          return hljs.highlightAuto(code).value;
        }
    }
})
image

这时我们发现code标签有类名了

markdown转为html介绍到这里,有错误和更好的方法的大家积极交流,欢迎留言!

相关文章

  • markdown转为html

    在一些项目中需要用markdown来写文章并保存到数据库中,从数据库中读取出来需要转换为html格式的代码段才能正...

  • Markdown---基本语法

    用Markdown写给自己的第一篇博客。 Markdown是可以直接转为HTML的,所以可以直接嵌套HTML的语句...

  • Perl 6 - 正则替换

    想把 Desgin Perl 6 中的 pod/html 转为 Markdown 格式, Perl 6 的 po...

  • Markdown 语法介绍

    markdown简明语法 Markdown是一种极简的『标记语言』,将文本转为HTML,通常为我大码农所用。其不追...

  • Python下将Markdown转为HTML

    用 markdown 包进行转换。 参考文档:https://python-markdown.github.io/...

  • HTML字符串与NSAttributeString互相转换

    html转为NSAttributedString NSAttributedString 转为 html(作为NSA...

  • 发现•分享—2019-01-18~2019-01-21

    工具 这应该是你见过的最全前端下载总结 爬取掘金小册,并将 html 文件转为 markdown 格式文件 910...

  • Markdown

    markdown是一种标记语言,可以将html转化为markdown或者将markdown转化为html。 mar...

  • 控制器传值后UIWbeView一直不加载

    问题描述:A控制器传值给B控制器,B控制器接收到Markdown的字符串后,转为html字符串,然后webView...

  • 支持 markdown

    markdown 方法:将 Markdown 文本转换为 HTML extensions参数:对 Markdown...

网友评论

    本文标题:markdown转为html

    本文链接:https://www.haomeiwen.com/subject/vzjktqtx.html