基本的な使い方
次のコードは flexmark-java を使った簡単な例です。Markdown をパースするために Parser
のインスタンスを、HTML に変換するために HtmlRenderer
のインスタンスを生成して使っています。
package com.example;
import com.vladsch.flexmark.html.HtmlRenderer;
import com.vladsch.flexmark.parser.Parser;
import com.vladsch.flexmark.util.ast.Document;
public class Example {
public static void main(String[] args) {
String md = "# Header1\n" +
"\n" +
"- List1\n" +
"- List2\n" +
"- List3\n";
Parser parser = Parser.builder().build();
HtmlRenderer renderer = HtmlRenderer.builder().build();
Document document = parser.parse(md);
String html = renderer.render(document);
System.out.println(html);
}
}
出力結果:
<h1>Header1</h1>
<ul>
<li>List1</li>
<li>List2</li>
<li>List3</li>
</ul>
拡張の追加
次のコードは URL を自動的にリンクに変換(AutoLink)する拡張を追加する例です。
package com.example;
import com.vladsch.flexmark.ext.autolink.AutolinkExtension;
import com.vladsch.flexmark.html.HtmlRenderer;
import com.vladsch.flexmark.parser.Parser;
import com.vladsch.flexmark.util.ast.Document;
import com.vladsch.flexmark.util.builder.Extension;
import com.vladsch.flexmark.util.options.MutableDataSet;
import java.util.ArrayList;
import java.util.List;
public class Example {
public static void main(String[] args) {
String md = "http://example.com";
MutableDataSet options = new MutableDataSet();
List<Extension> extensions = new ArrayList<>();
extensions.add(AutolinkExtension.create());
options.set(Parser.EXTENSIONS, extensions);
Parser parser = Parser.builder(options).build();
HtmlRenderer renderer = HtmlRenderer.builder(options).build();
Document document = parser.parse(md);
String html = renderer.render(document);
System.out.println(html);
}
}
出力結果:
<p><a href="http://example.com">http://example.com</a></p>