开源|用 Java 实现一个生成 Markdown 文本的工具

这篇具有很好参考价值的文章主要介绍了开源|用 Java 实现一个生成 Markdown 文本的工具。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

公司的 IM 每天有许多机器人推送的消息,我也在使用,这个功能是好的,但是当我们想去发送一些格式优美的消息时,却要费许多功夫,主要来源于字符串拼接,如果要拼接出 Markdown 格式的那就更费力了,另外由拼接带来的是混乱的代码,为了解决这个痛点,我写了一个 Java 代码生成 Markdown 文本的工具,还给它起了一个酷名字。

MdKiller —— Markdown 杀手 🥷。

MdKiller 是一个格式化生成 Markdown 文本的工具,支持常用 Markdown 格式生成,例如引用块、代码块、有无序列表、表格等,内容上支持字体样式(style)和内容的嵌套,适用于 IM 消息 Markdown 排版。

以下为 Github 仓库 介绍页内容。

一、使用

1、引入依赖,由于是单文件,直接把文件拷贝到项目即可使用。

2、使用,示例如下:

@Test
public void test(){
   
    String md=MdKiller.of()
    .title("一个标题")
    .text("文本")
    .ref()
        .text("文本1")
        .text("文本2")
        .ul()
            .text("文本3")
            .text("文本4")
        .endUl()
    .endRef()
    .link("链接","https://elltor.com")
    .build();
    System.out.println(md);
}

输出 Markdown 文本:

### 一个标题
文本
> 文本1
> 文本2
> - 文本3
> - 文本4

[链接▸](https://elltor.com)

P.S. 更多演示可以参考单元测试。

二、特性介绍

  • 易用性:易于排版文案、支持主流 Markdown 语法内容,就像用代码写 Markdown。
  • 通用性:生成内容通用,工具生成标准 Markdown 格式并保障最大兼容性。
  • 扩展性:具备一定扩展性,扩展 API 简单;内容多样,理论上所有输入的文本均支持样式。
  • 集成:除 JDK 外无依赖;小巧,单文件约 700+ 行代码;
  • 鲁棒性:具备一定容错性,所有接口均经过单元测试,见目录 test/java/com/elltor/md

三、最佳实践

在 IM 中排版消息是痛苦的,这个工具就是要解决这个问题,通常在 IM 排版消息会遇到下列问题:

  1. 在程序中直接拼接很难对 Markdown 进行排版,拼接使人头大,维护更加麻烦。(P.S. 不反对使用模版,但当增加/删除模版中的参数时也是麻烦的)
  2. 差的 Markdown 消息特点:文案没有结构、重点不突出、交互差,不能突出主题。

因此,我们改善 IM 消息实际上就是解决上面两个问题。

3.1 链式调用 vs 普通调用

用不同的风格生成 Markdown 文本。文章来源地址https://www.toymoban.com/news/detail-414092.html

/**
  * 链式调用 vs 普通调用
  */
@Test
public void callByChainShow() {
   
    String md = MdKiller.of()
            .title("标题")
            .text("文本段落 文本段落 文本段落 文本段落 文本段落 文本段落 文本段落 文本段落 文本段落 文本段落")
            .ref()
                .text("引用中的普通文本")
                .text("引用中的普通文本-设置颜色", MdKiller.Style.RED)
                .text("引用中的普通文本-加粗", MdKiller.Style.BOLD)
                .text(

到了这里,关于开源|用 Java 实现一个生成 Markdown 文本的工具的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【html】制作一个能生成图片的markdown在线编辑器

    markdown是什么,为什么大家都会用它呢,如果你想写文章,写文档,写作,用markdown是最好的选择,它是一个很好用的文档排版工具,觉得好用,何不尝试把它弄下来做成自己的呢,接下来给讲一讲如何制作一个纯网页的markdown在线编辑器,可随时随地用它写稿件。 新建一个

    2024年02月06日
    浏览(45)
  • AI新工具 又一个开源大模型DBRX击败GPT3.5;根据音频和图像输入生成会说话、唱歌的动态视频

    ✨ 1: AniPortrait 腾讯开源:根据音频和图像输入生成会说话、唱歌的动态视频 AniPortrait 是个先进的框架,专门用来生成高质量的、由音频和参考肖像图片驱动的动画。如果你有视频,也可以用来实现面部的再现(Face reenactment)。 地址:https://github.com/Zejun-Yang/AniPortrait ✨ 2: D

    2024年04月17日
    浏览(42)
  • Java模拟实现一个基于文本界面的《记账软件》

    /* *@author: Noiimplant *@version: 1.0 */ 根据尚硅谷java教程进行练习 记录家庭支出、收入,打印收支明细表 使用分级菜单的方式 原文链接: 尚硅谷java教程链接

    2023年04月25日
    浏览(38)
  • 去哪儿网开源的一个对应用透明,无侵入的Java应用诊断工具

    今天 V 哥给大家带来一款开源工具Bistoury,Bistoury 是去哪儿网开源的一个对应用透明,无侵入的java应用诊断工具,用于提升开发人员的诊断效率和能力。 Bistoury 的目标是一站式java应用诊断解决方案,让开发人员无需登录机器或修改系统,就可以从日志、内存、线程、类信息

    2024年04月25日
    浏览(40)
  • 推荐一个日历转换开源工具库,支持C#、Java、PHP等主流的语言

    日历对我们来说,最熟悉的就是阳历和农历,在中国每年都有固定的节日、节气、中国特有传统节日,有些节日是固定的,但是节气这些都需要我们经过一定规则换算出来。 所以,今天给大家推荐一个开源库,它支持阳历、阴历、佛历和道历的日历转换,可以满足我们的所有

    2024年02月06日
    浏览(73)
  • 跨平台的开源Java生成PPT文件工具包,PPTShowV1.3更新啦

    项目官网:https://pptshow.cc/ 参考文档:https://pptshow.cc/book/(GitPage制作,打不开请科学冲浪) 开源地址:https://github.com/qrpcode/pptshow(有帮助记得点star呀~) 国内镜像:中文版本(Gitee)     Github镜像(Gitcode) PPTShow是一个开源的Java生成PPT文档工具包,支持2010版PPTX新特性。

    2024年02月09日
    浏览(48)
  • 自制java工具实现 ctrl+c+c 翻译鼠标选中文本

    本功能的实现基于这篇笔记 ,本文阅读过程中有疑惑都可以查看此笔记 实现思路:检测到按压ctrl +c +c 后,获取当前剪切板文字,调用百度翻译api。 实现结果: 完整代码在最后 在当前demo的功能中我们可以看到,当按压键盘时会调用 nativeKeyPressed 方法,并会打印当前按下的

    2024年02月02日
    浏览(57)
  • uni-app-微信小程序实现markdown文本解析、数学公式解析超详细教程

    在做AI问答功能,文本返回的是markdown形式,如果没有对Markdown文本进行转换很难看,如下图,转换后是不是很好了很多,特别是代码内容阅读起来舒服多了。 下面来介绍下,我在开发小程序 软件聚导航 AI助手对实现Markdown文本解析,看到两款较好的组件,其中第二款towxml组件

    2024年02月03日
    浏览(81)
  • 【离线文本转语音文件】java spring boot jacob实现文字转语音文件,离线文本转化语音,中英文生成语音,文字朗读,中文生成声音,文字生成声音文件,文字转语音文件,文字变声音。

    输入文字(支持中英文),点击转换生成***.wav文件,点击下载到本地就可。  生成后的音频文件播放,时长1分8秒          这次采用jacob实现,相比百度AI需要联网,本项目定位内网环境实现。所以最终采jacob。 1.环境配置: 本次采用版本jacob-1.19,我们需要下载jacob.jar和dll

    2024年02月16日
    浏览(86)
  • 使用开源工具ProGuard实现Java代码混淆

    参考文档: ProGuard官网 ProGuardMaven插件文档 ProGuard官方配置文档 ProGuard配置中文文档 CSDN-ProGuard使用演示 知乎-ProGuard使用演示 代码混淆是将计算机程序的代码转换成一种功能上等价,但是难以阅读和理解的形式。 符号混淆 将函数的符号,如函数名、变量名去除或混淆。 控制

    2024年02月07日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包