公司的 IM 每天有許多機(jī)器人推送的消息,我也在使用,這個(gè)功能是好的,但是當(dāng)我們想去發(fā)送一些格式優(yōu)美的消息時(shí),卻要費(fèi)許多功夫,主要來(lái)源于字符串拼接,如果要拼接出 Markdown
格式的那就更費(fèi)力了,另外由拼接帶來(lái)的是混亂的代碼,為了解決這個(gè)痛點(diǎn),我寫了一個(gè) Java 代碼生成 Markdown 文本的工具,還給它起了一個(gè)酷名字。
MdKiller —— Markdown 殺手 ??。
MdKiller 是一個(gè)格式化生成 Markdown 文本的工具,支持常用 Markdown 格式生成,例如引用塊、代碼塊、有無(wú)序列表、表格等,內(nèi)容上支持字體樣式(style)和內(nèi)容的嵌套,適用于 IM 消息 Markdown 排版。
以下為 Github 倉(cāng)庫(kù) 介紹頁(yè)內(nèi)容。
一、使用
1、引入依賴,由于是單文件,直接把文件拷貝到項(xiàng)目即可使用。
2、使用,示例如下:
@Test
public void test(){
String md=MdKiller.of()
.title("一個(gè)標(biāo)題")
.text("文本")
.ref()
.text("文本1")
.text("文本2")
.ul()
.text("文本3")
.text("文本4")
.endUl()
.endRef()
.link("鏈接","https://elltor.com")
.build();
System.out.println(md);
}
輸出 Markdown 文本:
### 一個(gè)標(biāo)題
文本
> 文本1
> 文本2
> - 文本3
> - 文本4
[鏈接?](https://elltor.com)
P.S. 更多演示可以參考單元測(cè)試。
二、特性介紹
- 易用性:易于排版文案、支持主流 Markdown 語(yǔ)法內(nèi)容,就像用代碼寫 Markdown。
- 通用性:生成內(nèi)容通用,工具生成標(biāo)準(zhǔn) Markdown 格式并保障最大兼容性。
- 擴(kuò)展性:具備一定擴(kuò)展性,擴(kuò)展 API 簡(jiǎn)單;內(nèi)容多樣,理論上所有輸入的文本均支持樣式。
- 集成:除 JDK 外無(wú)依賴;小巧,單文件約 700+ 行代碼;
- 魯棒性:具備一定容錯(cuò)性,所有接口均經(jīng)過(guò)單元測(cè)試,見(jiàn)目錄
test/java/com/elltor/md
。
三、最佳實(shí)踐
在 IM 中排版消息是痛苦的,這個(gè)工具就是要解決這個(gè)問(wèn)題,通常在 IM 排版消息會(huì)遇到下列問(wèn)題:
- 在程序中直接拼接很難對(duì) Markdown 進(jìn)行排版,拼接使人頭大,維護(hù)更加麻煩。(P.S. 不反對(duì)使用模版,但當(dāng)增加/刪除模版中的參數(shù)時(shí)也是麻煩的)
- 差的 Markdown 消息特點(diǎn):文案沒(méi)有結(jié)構(gòu)、重點(diǎn)不突出、交互差,不能突出主題。
因此,我們改善 IM 消息實(shí)際上就是解決上面兩個(gè)問(wèn)題。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-414092.html
3.1 鏈?zhǔn)秸{(diào)用 vs 普通調(diào)用
用不同的風(fēng)格生成 Markdown 文本。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-414092.html
/**
* 鏈?zhǔn)秸{(diào)用 vs 普通調(diào)用
*/
@Test
public void callByChainShow() {
String md = MdKiller.of()
.title("標(biāo)題")
.text("文本段落 文本段落 文本段落 文本段落 文本段落 文本段落 文本段落 文本段落 文本段落 文本段落")
.ref()
.text("引用中的普通文本")
.text("引用中的普通文本-設(shè)置顏色", MdKiller.Style.RED)
.text("引用中的普通文本-加粗", MdKiller.Style.BOLD)
.text(
到了這里,關(guān)于開(kāi)源|用 Java 實(shí)現(xiàn)一個(gè)生成 Markdown 文本的工具的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!