All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.hn.robot.dingtalk.domain.Markdown Maven / Gradle / Ivy

There is a newer version: 1.0.18
Show newest version
package com.hn.robot.dingtalk.domain;

/**
 * 描述: markdown类型
 *  标题
 * # 一级标题
 * ## 二级标题
 * ### 三级标题
 * #### 四级标题
 * ##### 五级标题
 * ###### 六级标题
 *
 * 引用
 *
 * 文字加粗、斜体
 * **bold**
 * *italic*
 *
 * 链接
 * [this is a link](http://name.com)
 *
 * 图片
 * ![](http://name.com/pic.jpg)
 *
 * 无序列表
 * - item1
 * - item2
 *
 * 有序列表
 * 1. item1
 * 2. item2
 *
 * @author fei
 */
public class Markdown {
    /**
     * 标题
     */
    private String title;
    /**
     *  文本内容
     */
    private StringBuilder text=new StringBuilder();

    public Markdown(String title) {
        this.title = title;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public StringBuilder getText() {
        return text;
    }

    public void setText(StringBuilder text) {
        this.text = text;
    }

    /**
     *    标题
     *   # 一级标题
     *   ## 二级标题
     *   ### 三级标题
     *   #### 四级标题
     *   ##### 五级标题
     *   ###### 六级标题
     * @param level 标题级别
     * @param title 标题名称
     * @return  Markdown
     */
    public Markdown title(int level,String title){
        if(level==0){
            level=1;
        }
        for (int i = 0; i < level; i++) {
            text.append("#");
        }
        text.append(" ");
        text.append(title);
        return this;
    }

    /**
     * 引用
     * @param content 内容
     * @return  Markdown
     */
    public Markdown quote(String content){
        text.append("> ").append(content);
        return this;
    }

    /**
     * 文字加粗
     * @param content 内容
     * @return  Markdown
     */
    public Markdown bold(String content){
        text.append("**").append(content).append("**");
        return this;
    }

    /**
     * 斜体
     * @param content 内容
     * @return  Markdown
     */
    public Markdown italic(String content){
        text.append("*").append(content).append("*");
        return this;
    }

    /**
     *   链接
     * [this is a link](http://name.com)
     * @param content 链接名称
     * @param link 链接地址
     * @return   Markdown
     */
    public Markdown link(String content,String link){
        text.append("[").append(content).append("](").append(link).append(")");
        return this;
    }

    /**
     *   图片
     * ![](http://name.com/pic.jpg)
     * @param imgUrl 图片链接
     * @return Markdown
     */
    public Markdown image(String imgUrl){
        text.append("![](").append(imgUrl).append(")");
        return this;
    }

    /**
     * 无序列表
     * - item1
     * - item2
     * @param content 内容
     * @return Markdown
     */
    public Markdown item(String content){
        text.append("-").append(" ").append(content);
        return this;
    }

    /**
     *  换行
     * @return  Markdown
     */
    public Markdown ln(){
        text.append("\n");
        return this;
    }

    private int i = 0;
    /**
     * 有序列表
     * 1. item1
     * 2. item2
     * @param content 内容
     * @return  Markdown
     */
    public Markdown itemNum(String content){
        i++;
        text.append(i).append(".").append(" ").append(content);
        return this;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy