Package-level declarations

Markdown import/export and configuration: withMarkdown, MarkdownConfiguration, and the AnnotatedString ⇄ Markdown converters.

Types

Link copied to clipboard
data class MarkdownConfiguration(val defaultTextStyle: SpanStyle = SpanStyle(fontSize = 16.sp), val boldStyle: SpanStyle = SpanStyle(fontWeight = FontWeight.Bold), val italicStyle: SpanStyle = SpanStyle(fontStyle = FontStyle.Italic), val codeStyle: SpanStyle = SpanStyle( fontFamily = FontFamily.Monospace, background = Color(0xFFE0E0E0) ), val linkStyle: SpanStyle = SpanStyle( color = Color.Blue, textDecoration = TextDecoration.Underline ), val strikethroughStyle: SpanStyle = SpanStyle( textDecoration = TextDecoration.LineThrough ), val blockquoteStyle: SpanStyle = SpanStyle( color = Color.Gray, fontStyle = FontStyle.Italic ), val header1Style: SpanStyle = SpanStyle(fontSize = 32f.sp, fontWeight = FontWeight.Bold), val header2Style: SpanStyle = SpanStyle(fontSize = 24f.sp, fontWeight = FontWeight.Bold), val header3Style: SpanStyle = SpanStyle(fontSize = 18.72f.sp, fontWeight = FontWeight.Bold), val header4Style: SpanStyle = SpanStyle(fontSize = 16f.sp, fontWeight = FontWeight.Bold), val header5Style: SpanStyle = SpanStyle(fontSize = 13.28f.sp, fontWeight = FontWeight.Bold), val header6Style: SpanStyle = SpanStyle(fontSize = 12f.sp, fontWeight = FontWeight.Bold))

Configurable markdown style settings to customize how markdown elements are rendered and parsed in the text editor.

Link copied to clipboard
class MarkdownExtension(val editorState: TextEditorState, initialConfiguration: MarkdownConfiguration = MarkdownConfiguration.DEFAULT, var imageProvider: ImageProvider? = null)

An extension to TextEditorState that provides markdown functionality. This separates markdown concerns from the core text editor functionality.

Link copied to clipboard
data class MarkdownStyles(config: MarkdownConfiguration = MarkdownConfiguration.DEFAULT)

Functions

Link copied to clipboard
fun String.toAnnotatedStringFromMarkdown(configuration: MarkdownConfiguration = MarkdownConfiguration.DEFAULT): AnnotatedString

Parses this string as GitHub Flavored Markdown and renders it into a styled AnnotatedString.

Link copied to clipboard
fun AnnotatedString.toMarkdown(configuration: MarkdownConfiguration = MarkdownConfiguration.DEFAULT): String

Converts an AnnotatedString to a markdown string, handling supported markdown styles. Only converts styles that match our supported markdown styles, dropping any unsupported styles.

Link copied to clipboard
fun TextEditorState.withMarkdown(initialConfiguration: MarkdownConfiguration = MarkdownConfiguration.DEFAULT, imageProvider: ImageProvider? = null): MarkdownExtension

Wraps this TextEditorState in a MarkdownExtension, the entry point for markdown import/export and block toggles (blockquote, bullet/ordered lists, code fences).