Java-Markdown-Generator

Java library to generate markdown
授权协议 MIT License
开发语言 Java
所属分类 应用工具、 文档/文本编辑
软件类型 开源软件
地区 不详
投 递 者 卢健
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Java Markdown Generator

Simple to use Java library to generate beautiful markdown.

Screenshot

Usage

Integration

Gradle

You can get snapshot and release builds from JitPack:

repositories {
    maven { url 'https://jitpack.io' }
}
dependencies {
    compile 'com.github.Steppschuh:Java-Markdown-Generator:master-SNAPSHOT'
}

Alternatively, release builds are also available on Bintray:

repositories {
    maven { url 'http://dl.bintray.com/steppschuh/Markdown-Generator' }
}
dependencies {
    compile 'net.steppschuh.markdowngenerator:markdowngenerator:1.3.2'
}

Maven

<dependency>
  <groupId>net.steppschuh.markdowngenerator</groupId>
  <artifactId>markdowngenerator</artifactId>
  <version>1.3.2</version>
</dependency>

JAR

You can download the latest .jar files from GitHub or Bintray.

Examples

Most Markdown elements have static convenience methods in the Markdown class. You can also use their repesctive constructors, as shown below.

Emphasis

@Test
public void example() throws Exception {
    StringBuilder sb = new StringBuilder()
            .append(new Text("I am normal")).append("\n")
            .append(new BoldText("I am bold")).append("\n")
            .append(new ItalicText("I am italic")).append("\n")
            .append(new StrikeThroughText("I am strike-through"));

    System.out.println(sb);
}

Output:

I am normal
**I am bold**
_I am italic_
~~I am strike-through~~

Headings

@Test
public void example() throws Exception {
    StringBuilder sb = new StringBuilder()
            .append(new Heading("Heading with level 1", 1)).append("\n")
            .append(new Heading("Heading with level 2", 2)).append("\n")
            .append(new Heading("Heading with level 3", 3)).append("\n")
            .append(new Heading("Heading with level 4", 4)).append("\n")
            .append(new Heading("Heading with level 5", 5)).append("\n")
            .append(new Heading("Heading with level 6", 6));

    System.out.println(sb);
}

Output:

Heading with level 1
====================
Heading with level 2
--------------------
### Heading with level 3
#### Heading with level 4
##### Heading with level 5
###### Heading with level 6

Rules

@Test
public void example() throws Exception {
    System.out.println(new HorizontalRule());
    System.out.println(new HorizontalRule(20, HorizontalRule.ASTERISK));
}

Output:

---
********************

Images

@Test
public void example() throws Exception {
    String text = "I am an image";
    String url = "https://dummyimage.com/300";
    System.out.println(new Image(text, url));
}

Output:

![I am an image](https://dummyimage.com/300)

Lists

@Test
public void example() throws Exception {
    List<Object> items = Arrays.asList(
            "Items can be anything",
            new Date(0),
            1337
    );
    System.out.println(new UnorderedList<>(items));
}

Output:

- Items can be anything
- Thu Jan 01 01:00:00 CET 1970
- 1337

Tasks

@Test
public void example() throws Exception {
    List<TaskListItem> items = Arrays.asList(
            new TaskListItem("Task 1", true),
            new TaskListItem("Task 2", false),
            new TaskListItem("Task 3")
    );
    System.out.println(new TaskList(items));
}

Output:

- [x] Task 1
- [ ] Task 2
- [ ] Task 3

Tables

@Test
public void example() throws Exception {
    Table.Builder tableBuilder = new Table.Builder()
            .withAlignments(Table.ALIGN_RIGHT, Table.ALIGN_LEFT)
            .withRowLimit(7)
            .addRow("Index", "Boolean");

    for (int i = 1; i <= 20; i++) {
        tableBuilder.addRow(i, Math.random() > 0.5);
    }

    System.out.println(tableBuilder.build());
}

Output:

| Index | Boolean |
| -----:| ------- |
|     1 | false   |
|     2 | true    |
|     3 | false   |
| ~~~~~ | ~~~~~~~ |
|    18 | false   |
|    19 | true    |
|    20 | false   |

Code

@Test
public void example() throws Exception {
    String code = "// notice this new line\n" +
            "System.out.println(\"Hello\");";
    System.out.println(new CodeBlock(code, "Java"));
}

Output:

    ```Java
    // notice this new line
    System.out.println("Hello");
    ```
  • 设计初衷 节约时间 Java 文档一直是一个大问题。 很多项目不写文档,即使写文档,对于开发人员来说也是非常痛苦的。 不写文档的缺点自不用多少,手动写文档的缺点也显而易见: 非常浪费时间,而且会出错。 无法保证及时更新。代码已经变了,但是文档还要同步修改。需要强制人来维护这一种一致性。这很难。 为什么不是 swagger-ui java 的文档有几类: jdk 自带的 doc 生成。这个以前实践给

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

  • java中markdown语法转换成html 第一步: 引入jar包依赖 <dependency>       <groupId>com.vladsch.flexmark</groupId>       <artifactId>flexmark-all</artifactId>       <version>0.50.42</version>     </dependency> 第二步 写一个类,

  • import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); String line = null; String preline = null;

  • 前言 本人是一名即将毕业的大四学生,还没有编程方面的工作经验,希望从事Java开发的相关工作,但是自身Java基础太过薄弱,将从今天开始重头开始学习java。学习路线采用b站鱼皮大佬的Java学习路线,并会将笔记以博客文章的形式记录下来,方便以后进行查阅。 前期准备 首先需要一款可以记笔记的软件——推荐使用Typora: https://www.typora.io/ 编写语法——推荐使用Markd

  • 标题 一级标题:#+空格+标题名 二级标题:##+空格+标题名 三级标题:###+空格+标题名 字体 斜体:在内容左右两边各加上一个*号 加粗:在内容左右两边各加上两个*号 加粗+斜体:在内容左右两边各加上三个*号 删除:在内容左右两边各加上两个~号 引用 英文格式下的大于号 分割线 三个*号 三个-号 图片 !+[]+() 超链接 []+() 链接一 列表 有序列表 1+.+空格 A B C 无

  • Java自学|Markdown语法详解 写了很久的博客了,但是一直没有总结过Markdown(可能是因为上手很简单的原因?),这里我跟着狂神来总结一下。 1.标题: #加一个空格,1-6个#代表了标题的等级,分别表示1到6级的标题。 一级 二级 。。。。 六级 2.字体: Hello 前别分别两个*表示加粗 Hello 前后分别一个*表示斜体 Hello 前后分别三个*表示斜体加粗 Hello 前

 相关资料
  • Markdown-for-Java 是纯 Java 实现的可扩展的 Markdown 解析器。

  • 问题内容: 有没有一种简单的方法可以使用JAVA将HTML转换为markdown? 我目前正在使用Java MarkdownJ 库将markdown转换为html。 问题答案: 使用此 XSLT 。 如果您需要使用XSLT和Java的帮助,请使用以下代码段:

  • GitBook 預設使用 Markdown 標記語法。 本章內容僅快速呈現 Markdown 的基本語法與呈現,若需要更詳細的解說,英文資源可以看看發明人的說明: John Gruber's original spec 以及 GitHub 的擴充版 Github-flavored Markdown info page。Markdown.tw 有不錯的中文詳解;想看看俗稱 GFM - GitHub

  • 更改历史 * 2017-11-17 高天阳 标准化文档内容 * 2017-09-08 高天阳 初始化文档 1 历史、现状和发展 Markdown 是一个 Web 上使用的文本到HTML的转换工具,可以通过简单、易读易写的文本格式生成结构化的HTML文档。 Markdown 的目标是实现「易读易写」。 Markdown具有一系列衍生版本,用于扩展Markdown的功能(如

  • markdown 在模板中插入Markdown代码。使用{{# markdown}}Helper很简单: <div class="my-div"> {{#markdown}} # My heading Some paragraph text {{/markdown}} </div> 确保你的markdown缩进正确。

  • Markdown 是一个 Web 上使用的文本到HTML的转换工具,可以通过简单、易读易写的文本格式生成结构化的HTML文档。目前 Stackoverflow 网站使用这种格式来提问。 一个文本实例: ### Header 3 > This is a blockquote. > > This is the second paragraph in the blockquote. > > ## Thi