markdown转html格式
根据业务场景,需要发送不同内容的邮件,如何提供基础服务接口去发送邮件,方便后期扩展和维护,荣哥给我提出了一个想法是,抽象邮件模版内容,不在关心调用方的邮件内容,只需要去实现发送邮件功能即可。
准备工作
目前有很多工具可以在线使markdown转html格式
,很方便,开源的东西也很多,我也尝试了几个,markdownpapers-core markdownj-core pegdown,前两个测试了一下,转化 html后总是有一点点小问题,最后一个转化OK。
<dependency><groupId>org.pegdown</groupId><artifactId>pegdown</artifactId><version>1.6.0</version>
</dependency>
pegdown开源代码详见: https://github.com/sirthias/pegdown/
测试demo
package com.zhj.test.markdown;import org.pegdown.PegDownProcessor;import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.nio.CharBuffer;/*** markdown文件转html格式* 可以使用:Pegdown* @author zhengjie**/public class MarkdownToHtml {public static void main(String[] args) throws IOException {System.out.println(get());}public static String get() throws IOException{//java.io.InputStream in = this.getClass().getResourceAsStream("markdown.md");String html = null;FileReader r = new FileReader("markdown.md");char[] cbuf = new char[1024];while( r.read(cbuf) != -1){html = new String(cbuf);}PegDownProcessor pdp = new PegDownProcessor(Integer.MAX_VALUE);html = pdp.markdownToHtml(html);return html;}
}
markdown.md 代码:
### 服务端测试结果UserSystem_BasicDataService_TestCase_20160415110013 测试完成,共7个测试用例,成功6个,失败1个。| 用例名称 | HTTP请求描述 | URL | 断言类型 | 错误描述 |
| -----|:----:|:----:|:----:|:----:|
| SuiFang_UserSystem_Hospital 1-1 | HttpRequest_getHospital4.2 | [链接](http://dict.xingshulin.com/cdsw/default/data/hospital/1/%e5%8c%97%e4%ba%ac%e4%ba%ac%e5%8c%97/0/100) | jp@gc - JSON Content Assertion | ERROR!!! key:id,expectedValue:294,actualValue:283 ERROR!!! key:name,expectedValue:北京京北医院,actualValue:北京市海淀区北下关医院 |[详细日志](http://www.baidu.com)
发送邮件代码实现省略。。
发送邮件测试结果:
经过样式调试,终于可以看到可以接受的邮件。
注意,此处需加载markdown的样式,参考:https://github.com/huizhong/cnblogs-markdown-css/blob/master/cnblogs-markdown.css
最近看到了一个新的解决方案,提供邮件模版,然后填充不同邮件内容的实现。
总结
解决问题,要发散思维,从不同角度去考虑。不同的逻辑和思想高度,产生不同的处理结果。
markdown转html格式相关推荐
- 如何利用 notedown 完成 ipynb与markdown之间的格式转换?
简 介: 使用Convert IPython Notebooks to markdown (and back)中的downnote可以方便将IPYNB与Markdown格式进行转换.本文对于noted ...
- Atom markdown .md 编写格式技巧
Atom markdown .md 编写格式技巧 使用Atom预览markdown 1.打开任意.md文件(markdown源文件) 菜单栏File->Open file...(ctrl+o)打 ...
- Markdown常用基本格式
Markdown常用基本格式 标题 井号#加空格加题目,enter键成为标题.井号个数表示题目等级: 这是一个一级标题 这是一个二级标题 这是一个三级标题 略略略略 略略略略略 最多到六级标题 文本 ...
- java markdown转word_Markdown 格式如何转换成 Word?
1. 问题描述 用过markdown的朋友都知道,markdown语法简洁,写作效率极高,非常适合网络博客.邮件.笔记等非正式文档的写作.但对于格式复杂的正式报告.论文.项目计划书等正式文档是不适合的 ...
- Markdown 基本语法格式
文末附有高级排版样式,超多有趣 emoji ,让你的文章更易读 标题 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 使用最多6个 # 号实现层级标题 换行 空格1 空格2 空格1 空格3 ...
- Python markdown转epub (格式间转换)
import pypandocdef readme():"""转化文件的格式.convert(source, to, format=None, extra_args=() ...
- 【教程】【技术向】将博客批量导出为markdown或html格式
前言 最近突然想要备份一下自己的blog 但是上百篇博客,手动导出肯定要累死 所以LZ就上网搜索,自己捣鼓了一下 于是就有了这篇教程 注:本文的读者定向是小白,各位dalao如果觉得步骤太罗嗦可以跳过 ...
- swagger导出excel文档_将Swagger2文档导出为HTML或markdown等格式离线阅读
网上有很多<使用swagger2构建API文档>的文章,该文档是一个在线文档,需要使用HTTP访问.但是在我们日常使用swagger接口文档的时候,有的时候需要接口文档离线访问,如将文档导 ...
- markdown格式_第1篇:如何将Markdown笔记转入ANKI复习? | 学习骇客
用技术和心理学改善学习 第128次 摘要:将日常使用的Markdown笔记软件与复习工具ANKI结合起来,于ANKI用户而言可以简化学习过程,于一般的学习者而言可以解决笔记"记而不学&quo ...
- markdown引入代码_将Swagger2文档导出为HTML或markdown等格式离线阅读
网上有很多<使用swagger2构建API文档>的文章,该文档是一个在线文档,需要使用HTTP访问.但是在我们日常使用swagger接口文档的时候,有的时候需要接口文档离线访问,如将文档导 ...
最新文章
- 我的世界最新版本生存服务器ip,我的世界服务器古风小阁IP|纯净生存(1.15.2)
- JSON数据序列化与反序列化实战
- Android layout布局属性、标签属性总结大全
- Linux常用性能分析工具汇总
- SEO切忌犯的9种作弊手段
- SVN Attempted to lock an already-locked dir异常解决方法
- java中说明书/开发文档如何编写?
- Macbook鼠标调节外接显示器亮度 - Shades for Mac(屏幕亮度调节软件) V1.2 苹果电脑版
- Error response from daemon: conflict: unable to delete feb5d9fea6a5 (must be forced) - image is bein
- oracle发生20001,Oracle10g重建EM 报ORA-20001: SYSMAN already exists
- 巾帼亮相申城,群英共筑梦想
- 疫情背后,零售变革正在酝酿,手机行业或迎来线下大洗牌
- 新冠肺炎早期的10个症状 新冠肺炎1-14天症状特征
- English--五大基本句型基本概念
- 计算机夏令营英语自我介绍,保研夏令营英文自我介绍3篇
- 多个DataFream追加写入同一个sheet代码示例
- 在打破传统保险业的“玻璃屋顶” 之前,AI+保险还需跨过几道坎
- Java面试宝典——数据库部分(六)
- 3DS文件在OpenGL的读入和显示
- 实验三 Android生命周期