# Vue中Html和Markdown互相转换

## 前言

最近想实现的一个功能,就是将系统中的博客进行导出成Markdown格式,后面经过了调研发现有两种方法能够满足需求,一个是Java后台中将HTML转换成Markdown, 然后导出。第二种方式是在客户端将Html转换成Markdown

## 前台处理

### MarkdownToHtml

#### 安装

前台处理Markdown转换成Html,使用的是一款Vue组件 `showdown`:[点我传送](https://github.com/showdownjs/showdown)

前端处理的好处是不需要占用后端的计算资源,因此首选是让客户端做这种处理的事情

首先我们需要安装依赖

```

npm install showdown --save

```

或者使用CDN

```

https://unpkg.com/showdown/dist/showdown.min.js

```

#### Markdown 转成 Html

```

var showdown = require('showdown'),

converter = new showdown.Converter(),

text = '# hello, markdown!',

html = converter.makeHtml(text);

```

### HtmlToMarkdown

#### 安装

前台处理Html转换成Markdown,使用的是一款Vue组件 `turndown`:[点我传送](https://github.com/domchristie/turndown)

首先安装依赖

```

npm install turndown --save

```

或使用CDN加速

```

```

#### 使用

```

// For Node.js

var TurndownService = require('turndown')

var turndownService = new TurndownService()

var markdown = turndownService.turndown('

Hello world!

')

```

## 后端处理

后端处理使用的是 `flexmark-java` :[点我传送](https://github.com/vsch/flexmark-java)

### 引入依赖

```

com.vladsch.flexmark

flexmark-all

${flexmark.version}

```

### MarkdownToHtml

```

/**

* Markdown转Html

* @param markdown

* @return

*/

public static String markdownToHtml(String markdown) {

MutableDataSet options = new MutableDataSet();

Parser parser = Parser.builder(options).build();

HtmlRenderer renderer = HtmlRenderer.builder(options).build();

Node document = parser.parse(markdown);

String html = renderer.render(document);

return html;

}

```

### HtmlToMarkdown

```

/**

* Html 转 Markdown

* @param html

* @return

*/

public static String htmlToMarkdown(String html) {

MutableDataSet options = new MutableDataSet();

String markdown = FlexmarkHtmlConverter.builder(options).build().convert(html);

System.out.println(markdown);

return markdown;

}

```

一键复制

编辑

Web IDE

原始数据

按行查看

历史

blue html中转换,Vue/Vue中Html和Markdown互相转换/README.md · bluemoon/LearningNotes - Gitee.com...相关推荐

  1. vue 转换成 html,Vue/Vue中Html和Markdown互相转换/README.md · cyh90/LearningNotes - Gitee.com...

    # Vue中Html和Markdown互相转换 ## 前言 最近想实现的一个功能,就是将系统中的博客进行导出成Markdown格式,后面经过了调研发现有两种方法能够满足需求,一个是Java后台中将HT ...

  2. vue中将md转成html,Vue/Vue中Html和Markdown互相转换/README.md · 倚栏听风/LearningNotes - Gitee.com...

    # Vue中Html和Markdown互相转换 ## 前言 最近想实现的一个功能,就是将系统中的博客进行导出成Markdown格式,后面经过了调研发现有两种方法能够满足需求,一个是Java后台中将HT ...

  3. Vue表格中,对数据进行转换、处理

    众所周知,后端从Mysql取出的数据,一般是很难单独处理某一个Key的数据的(需要处理的话,可能会浪费大量的性能.而且对页面加载时间有很大的影响),所以,从数据库取出的数据.只能由前端进行处理.但是在 ...

  4. html markdown 互相转换,Vue/Vue中Html和Markdown互相转换/README.md · 撒欢大魔王/LearningNotes - Gitee.com...

    # Vue中Html和Markdown互相转换 ## 前言 最近想实现的一个功能,就是将系统中的博客进行导出成Markdown格式,后面经过了调研发现有两种方法能够满足需求,一个是Java后台中将HT ...

  5. ant design vue 表格中时间戳转换成时间格式显示

    ant design vue 表格中时间戳转换成时间格式显示 原始数据表格如上图,因为接口传递过来的时间是10位int类型的时间戳格式,所以前端需要我们把时间格式化. step1 安装moment n ...

  6. Vue 项目中各种痛点问题及方案

    作者:愣锤 原文:https://juejin.im/post/6844903632815521799 最近要求使用vue进行前后端分离开发微信公众号,不断摸索踩坑之后,总结出如下几点vue项目开发中 ...

  7. 如何在Vue项目中使用vw实现移动端适配(转)

    有关于移动端的适配布局一直以来都是众说纷纭,对应的解决方案也是有很多种.在<使用Flexible实现手淘H5页面的终端适配>提出了Flexible的布局方案,随着viewport单位越来越 ...

  8. 【全栈项目上线(vue+node+mongodb)】06.nodejs服务上线(生产环境前后分离的vue项目中怎么解决跨域问题)...

    以下操作使用下面项目为案例 https://github.com/itguide/vnshop ## 启动node服务 克隆好项目后记得把依赖包安装好 npm i 使用 node 启动node服务 c ...

  9. vue修改html片段的样式无效,vue 组件中添加样式不生效的解决方法

    如何产生 在开发项目中遇到在组件中添加样式不生效的情况.具体场景如下 vue 组件 //我用js在上面div标签中插入一个 text goes here export default { ... mo ...

最新文章

  1. [蓝桥杯2016初赛]四平方和-数论+枚举
  2. leetcode22. 括号生成
  3. python nums函数_Python中的内置函数
  4. 【kafka】Number of alive brokers 0 does not meet the required replication factor 3
  5. JAVA学习笔记001---认识了解NIO
  6. 抑制过拟合的方法之权值衰减
  7. TP-link路由器设置界面展示
  8. MySQL递归查询 三种实现方式
  9. 电源大师课笔记 1.3
  10. 无限磁力_给力的磁力搜索网站你都知道吗?
  11. 人物-周鸿祎:周鸿祎
  12. Unity 3D学习(一)Unity 3D介绍与安装
  13. android框架xUtils使用介绍
  14. 多向思考者--高敏感人群的内心世界
  15. monkey命令——压力测试——个人总结
  16. 金属非金属如何去毛刺 机器人浮动去毛刺
  17. 小工程结算书范本_工程结算书范本
  18. 简单梳理下git的使用感受,思考git中最重要的是什么
  19. Android Service保活方法总结
  20. 【科研】ET-BERT代码分析

热门文章

  1. StarUML使用说明-指导手册
  2. linux上很方便的上传下载文件工具rz和sz
  3. 电池供电的电容麦_太阳能航空障碍灯供电机制设计
  4. excel连接mysql 数据库
  5. AUTOSAR从入门到精通100讲(二十四)-AUTOSAR通信篇—AUTOSAR COM模块
  6. 产品经理思维模型:传播三大原理
  7. android ios logo原型,iOS关于logo和LaunchImage处理
  8. vue数组变化视图_vue对象数组数据变化,页面不渲染
  9. linux open函数_Linux驱动开发 / 字符设备驱动内幕 (1)
  10. mobx中跟新了数据视图没变化_【第1781期】MobX 简明教程