
Parses and renders CommonMark Markdown syntax, transforming Java files to Kotlin. Offers full CommonMark compliance, extensibility, type safety, and support for multiple platforms.
一个用于解析 CommonMark Markdown 语法的 Kotlin 多平台库,基于原始的 commonmark-java 项目改编, 将 Java 文件全部转为 Kotlin 文件。
该库旨在让 commonmark-java 能用于 Kotlin 多平台,提供 CommonMark Markdown 语法的解析和渲染功能。
该库包含多个实用扩展:
将以下内容添加到 settings.gradle.kts:
pluginManagement {
repositories {
mavenCentral() // 或者 maven { url = uri("https://jitpack.io") }
}
}然后,在你的 build.gradle.kts 中添加依赖:
dependencies {
implementation("io.github.darriousliu:commonmark:0.26.0")
// 可选扩展
implementation("io.github.darriousliu:commonmark-ext-autolink:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-footnotes:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-gfm-strikethrough:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-gfm-tables:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-heading-anchor:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-image-attributes:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-ins:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-task-list-items:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-latex:0.26.0")
}kotlin {
sourceSets {
commonMain.dependencies {
implementation("io.github.darriousliu:commonmark:0.26.0")
// 可选扩展
implementation("io.github.darriousliu:commonmark-ext-autolink:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-footnotes:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-gfm-strikethrough:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-gfm-tables:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-heading-anchor:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-image-attributes:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-ins:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-task-list-items:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-latex:0.26.0")
}
}
}val parser = Parser.builder().build()
val document = parser.parse("This is _Sparta_")
val renderer = HtmlRenderer.builder().build()
val html = renderer.render(document) // "This is _Sparta_\n"val extensions = listOf(TablesExtension.create())
val parser = Parser.builder()
.extensions(extensions)
.build()
val renderer = HtmlRenderer.builder()
.extensions(extensions)
.build()
val markdown = """
| Feature | Support |
|---------|---------|
| Tables | ✅ |
| Kotlin | ✅ |
"""
val document = parser.parse(markdown)
val html = renderer.render(document)可参考 commonmark-java 项目的示例
一个用于解析 CommonMark Markdown 语法的 Kotlin 多平台库,基于原始的 commonmark-java 项目改编, 将 Java 文件全部转为 Kotlin 文件。
该库旨在让 commonmark-java 能用于 Kotlin 多平台,提供 CommonMark Markdown 语法的解析和渲染功能。
该库包含多个实用扩展:
将以下内容添加到 settings.gradle.kts:
pluginManagement {
repositories {
mavenCentral() // 或者 maven { url = uri("https://jitpack.io") }
}
}然后,在你的 build.gradle.kts 中添加依赖:
dependencies {
implementation("io.github.darriousliu:commonmark:0.26.0")
// 可选扩展
implementation("io.github.darriousliu:commonmark-ext-autolink:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-footnotes:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-gfm-strikethrough:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-gfm-tables:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-heading-anchor:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-image-attributes:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-ins:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-task-list-items:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-latex:0.26.0")
}kotlin {
sourceSets {
commonMain.dependencies {
implementation("io.github.darriousliu:commonmark:0.26.0")
// 可选扩展
implementation("io.github.darriousliu:commonmark-ext-autolink:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-footnotes:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-gfm-strikethrough:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-gfm-tables:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-heading-anchor:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-image-attributes:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-ins:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-task-list-items:0.26.0")
implementation("io.github.darriousliu:commonmark-ext-latex:0.26.0")
}
}
}val parser = Parser.builder().build()
val document = parser.parse("This is _Sparta_")
val renderer = HtmlRenderer.builder().build()
val html = renderer.render(document) // "This is _Sparta_\n"val extensions = listOf(TablesExtension.create())
val parser = Parser.builder()
.extensions(extensions)
.build()
val renderer = HtmlRenderer.builder()
.extensions(extensions)
.build()
val markdown = """
| Feature | Support |
|---------|---------|
| Tables | ✅ |
| Kotlin | ✅ |
"""
val document = parser.parse(markdown)
val html = renderer.render(document)可参考 commonmark-java 项目的示例