翻译:English
HtmlAnnotator 是基于Kotlin Multiplatform和Compose Multiplatform上的一个HTML渲染库,而且支持解析CSS样式。也支持Android的View系统。
- 支持自定义标签和CSS解析器
- 可自由替换默认解析器
- 支持多种CSS样式来源:内联、内部样式表、甚至是外部样式表
- 支持转换结果缓存
- 支持 Jetpack Compose
- 基于 Kotlin Multiplatform 及 Kotlin 协程编写
- i
- em
- cite
- dfn
- b
- strong
- blockquote
- ul
- ol
- li
- br
- p
- div
- h1
- h2
- h3
- h4
- h5
- h6
- tt
- pre
- big
- small
- sub
- sup
- center
- a
- img
- span
-
text-align
-
font-size
-
font-weight
-
font-style
-
color
-
background-color
-
text-indent
-
text-decoration
- i
- em
- cite
- dfn
- b
- strong
- blockquote
- ul
- ol
- li
- br
- p
- div
- h1
- h2
- h3
- h4
- h5
- h6
- tt
- pre
- big
- small
- sub
- sup
- center
- a
- span
- text-align
- font-size
- font-style
- color
- background-color
- text-indent
- text-decoration
已发布到 mavenCentral
dependencies {
//Jetpack Compose 扩展支持, 提供开箱即用的显示组件与缓存机制
implementation("io.github.ravenliao.htmlannotator:htmlAnnotator-compose-ext:${LAST_VERSION}")
// Jetpack Compose 基础支持
implementation("io.github.ravenliao.htmlannotator:htmlAnnotator-compose:${LAST_VERSION}")
// View
implementation("io.github.ravenliao.htmlannotator:htmlAnnotator-view:${LAST_VERSION}")
}
该库不需要配置任何混淆规则,但你可能需要为间接依赖的 Kotlin Coroutines和ksoup添加混淆配置
引入htmlAnnotator-compose-ext
与sketch
//实现对带图片的HTML文档的解析
BasicHtmlImageText(
html = srcHtml,
imageContent = { imgUrl ->
AsyncImage(
uri = it,
contentDescription = "photo",
Modifier
.fillMaxWidth()
.wrapContentHeight(),
contentScale = ContentScale.FillWidth
)
}
)
更多请查看DemoScreen
Android的View部分请查看MainActivity
- NightWhistler/HtmlSpanner: HtmlAnnotator参考了来自HtmlSpanner的部分代码,包括解析转换、解析器部分
- ksoup: HtmlAnnotator借助ksoup解析HTML,以及选出最终的CSS
- panpf/sketch: 参考了该项目的构建发布部分配置
Apache 2.0. 有关详细信息,请参阅 LICENSE 文件.