Skip to content

Commit 5dc931d

Browse files
authored
Merge pull request #465 from mikepenz/develop
dev -> main
2 parents ffb00d6 + 5699ba4 commit 5dc931d

File tree

7 files changed

+59
-8
lines changed

7 files changed

+59
-8
lines changed

MIGRATION.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
### Upgrade Notes
22

3+
#### Version 0.38.0
4+
5+
- **Breaking Change**: Removes prior deprecated APIs and functionality (`PlaceholderConfig.animate`)
6+
37
#### Version 0.36.0
48

59
- **Dependency Upgrade**: Kotlin 2.2.x / Compose 1.8.3 / Compose Multiplatform 1.8.2

README.md

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,9 +128,15 @@ Markdown(
128128
)
129129
```
130130

131-
**Note:** Import either `com.mikepenz.markdown.m3.Markdown` for Material 3 or
131+
> [!NOTE]
132+
> Import either `com.mikepenz.markdown.m3.Markdown` for Material 3 or
132133
`com.mikepenz.markdown.m2.Markdown` for Material 2 themed applications.
133134

135+
> [!NOTE]
136+
> By default, when the markdown `content` changes, the component will display a loading state while
137+
> parsing the new content. To keep the previous content visible during updates and avoid showing the
138+
> loading state, set `retainState` to `true`.
139+
134140
<details><summary><b>Advanced Usage</b></summary>
135141
<p>
136142

@@ -158,6 +164,33 @@ val markdownState = rememberMarkdownState(markdown)
158164
val markdownState = rememberMarkdownState(markdown, immediate = true)
159165
```
160166

167+
#### Retaining State During Updates
168+
169+
By default, when the markdown content changes, the component shows a loading state while parsing the
170+
new content. You can use the `retainState` parameter to keep the previous rendered content visible
171+
while the new content is being parsed:
172+
173+
```kotlin
174+
// Retain previous content during updates (avoids showing loading state)
175+
val markdownState = rememberMarkdownState(
176+
markdown,
177+
retainState = true
178+
)
179+
Markdown(markdownState)
180+
181+
// With dynamic content loading
182+
val markdownState = rememberMarkdownState(
183+
key, // key that triggers re-parsing
184+
retainState = true
185+
) {
186+
"# Dynamic content $counter"
187+
}
188+
Markdown(markdownState)
189+
```
190+
191+
This is particularly useful when content updates frequently or when you want to avoid flickering
192+
between the old content and the loading state.
193+
161194
### Lazy Loading for Large Documents
162195

163196
Since version 0.33.0, the library supports rendering large markdown documents efficiently using

gradle.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Maven stuff
22
GROUP=com.mikepenz
3-
VERSION_NAME=0.38.0
4-
VERSION_CODE=3800
3+
VERSION_NAME=0.38.1
4+
VERSION_CODE=3801
55
#
66
POM_URL=https://github.com/mikepenz/multiplatform-markdown-renderer
77
POM_SCM_URL=https://github.com/mikepenz/multiplatform-markdown-renderer

multiplatform-markdown-renderer/api/android/multiplatform-markdown-renderer.api

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,9 @@ public final class com/mikepenz/markdown/annotator/DefaultAnnotatorSettings : co
3737
public final class com/mikepenz/markdown/compose/ComposableSingletons$MarkdownKt {
3838
public static final field INSTANCE Lcom/mikepenz/markdown/compose/ComposableSingletons$MarkdownKt;
3939
public fun <init> ()V
40-
public final fun getLambda$-1129650913$multiplatform_markdown_renderer_release ()Lkotlin/jvm/functions/Function5;
4140
public final fun getLambda$-2063790006$multiplatform_markdown_renderer_release ()Lkotlin/jvm/functions/Function5;
4241
public final fun getLambda$-322200773$multiplatform_markdown_renderer_release ()Lkotlin/jvm/functions/Function5;
42+
public final fun getLambda$-830612685$multiplatform_markdown_renderer_release ()Lkotlin/jvm/functions/Function5;
4343
}
4444

4545
public final class com/mikepenz/markdown/compose/ComposeLocalKt {
@@ -69,7 +69,7 @@ public final class com/mikepenz/markdown/compose/MarkdownExtensionKt {
6969
public final class com/mikepenz/markdown/compose/MarkdownKt {
7070
public static final fun Markdown (Lcom/mikepenz/markdown/model/MarkdownState;Lcom/mikepenz/markdown/model/MarkdownColors;Lcom/mikepenz/markdown/model/MarkdownTypography;Landroidx/compose/ui/Modifier;Lcom/mikepenz/markdown/model/MarkdownPadding;Lcom/mikepenz/markdown/model/MarkdownDimens;Lcom/mikepenz/markdown/model/ImageTransformer;Lcom/mikepenz/markdown/model/MarkdownAnnotator;Lcom/mikepenz/markdown/model/MarkdownExtendedSpans;Lcom/mikepenz/markdown/model/MarkdownInlineContent;Lcom/mikepenz/markdown/compose/components/MarkdownComponents;Lcom/mikepenz/markdown/model/MarkdownAnimations;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function5;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;III)V
7171
public static final fun Markdown (Lcom/mikepenz/markdown/model/State;Lcom/mikepenz/markdown/model/MarkdownColors;Lcom/mikepenz/markdown/model/MarkdownTypography;Landroidx/compose/ui/Modifier;Lcom/mikepenz/markdown/model/MarkdownPadding;Lcom/mikepenz/markdown/model/MarkdownDimens;Lcom/mikepenz/markdown/model/ImageTransformer;Lcom/mikepenz/markdown/model/MarkdownAnnotator;Lcom/mikepenz/markdown/model/MarkdownExtendedSpans;Lcom/mikepenz/markdown/model/MarkdownInlineContent;Lcom/mikepenz/markdown/compose/components/MarkdownComponents;Lcom/mikepenz/markdown/model/MarkdownAnimations;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function5;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;III)V
72-
public static final fun Markdown (Ljava/lang/String;Lcom/mikepenz/markdown/model/MarkdownColors;Lcom/mikepenz/markdown/model/MarkdownTypography;Landroidx/compose/ui/Modifier;Lcom/mikepenz/markdown/model/MarkdownPadding;Lcom/mikepenz/markdown/model/MarkdownDimens;Lorg/intellij/markdown/flavours/MarkdownFlavourDescriptor;Lorg/intellij/markdown/parser/MarkdownParser;Lcom/mikepenz/markdown/model/ImageTransformer;Lcom/mikepenz/markdown/model/MarkdownAnnotator;Lcom/mikepenz/markdown/model/MarkdownExtendedSpans;Lcom/mikepenz/markdown/model/MarkdownInlineContent;Lcom/mikepenz/markdown/compose/components/MarkdownComponents;Lcom/mikepenz/markdown/model/MarkdownAnimations;Lcom/mikepenz/markdown/model/ReferenceLinkHandler;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function5;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;III)V
72+
public static final fun Markdown (Ljava/lang/String;Lcom/mikepenz/markdown/model/MarkdownColors;Lcom/mikepenz/markdown/model/MarkdownTypography;Landroidx/compose/ui/Modifier;Lcom/mikepenz/markdown/model/MarkdownPadding;Lcom/mikepenz/markdown/model/MarkdownDimens;Lorg/intellij/markdown/flavours/MarkdownFlavourDescriptor;Lorg/intellij/markdown/parser/MarkdownParser;Lcom/mikepenz/markdown/model/ImageTransformer;Lcom/mikepenz/markdown/model/MarkdownAnnotator;Lcom/mikepenz/markdown/model/MarkdownExtendedSpans;Lcom/mikepenz/markdown/model/MarkdownInlineContent;Lcom/mikepenz/markdown/compose/components/MarkdownComponents;Lcom/mikepenz/markdown/model/MarkdownAnimations;Lcom/mikepenz/markdown/model/ReferenceLinkHandler;ZZZLkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function5;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;IIII)V
7373
public static final fun MarkdownSuccess (Lcom/mikepenz/markdown/model/State$Success;Lcom/mikepenz/markdown/compose/components/MarkdownComponents;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;II)V
7474
}
7575

multiplatform-markdown-renderer/api/jvm/multiplatform-markdown-renderer.api

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,9 @@ public final class com/mikepenz/markdown/annotator/DefaultAnnotatorSettings : co
3737
public final class com/mikepenz/markdown/compose/ComposableSingletons$MarkdownKt {
3838
public static final field INSTANCE Lcom/mikepenz/markdown/compose/ComposableSingletons$MarkdownKt;
3939
public fun <init> ()V
40-
public final fun getLambda$-1129650913$multiplatform_markdown_renderer ()Lkotlin/jvm/functions/Function5;
4140
public final fun getLambda$-2063790006$multiplatform_markdown_renderer ()Lkotlin/jvm/functions/Function5;
4241
public final fun getLambda$-322200773$multiplatform_markdown_renderer ()Lkotlin/jvm/functions/Function5;
42+
public final fun getLambda$-830612685$multiplatform_markdown_renderer ()Lkotlin/jvm/functions/Function5;
4343
}
4444

4545
public final class com/mikepenz/markdown/compose/ComposeLocalKt {
@@ -69,7 +69,7 @@ public final class com/mikepenz/markdown/compose/MarkdownExtensionKt {
6969
public final class com/mikepenz/markdown/compose/MarkdownKt {
7070
public static final fun Markdown (Lcom/mikepenz/markdown/model/MarkdownState;Lcom/mikepenz/markdown/model/MarkdownColors;Lcom/mikepenz/markdown/model/MarkdownTypography;Landroidx/compose/ui/Modifier;Lcom/mikepenz/markdown/model/MarkdownPadding;Lcom/mikepenz/markdown/model/MarkdownDimens;Lcom/mikepenz/markdown/model/ImageTransformer;Lcom/mikepenz/markdown/model/MarkdownAnnotator;Lcom/mikepenz/markdown/model/MarkdownExtendedSpans;Lcom/mikepenz/markdown/model/MarkdownInlineContent;Lcom/mikepenz/markdown/compose/components/MarkdownComponents;Lcom/mikepenz/markdown/model/MarkdownAnimations;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function5;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;III)V
7171
public static final fun Markdown (Lcom/mikepenz/markdown/model/State;Lcom/mikepenz/markdown/model/MarkdownColors;Lcom/mikepenz/markdown/model/MarkdownTypography;Landroidx/compose/ui/Modifier;Lcom/mikepenz/markdown/model/MarkdownPadding;Lcom/mikepenz/markdown/model/MarkdownDimens;Lcom/mikepenz/markdown/model/ImageTransformer;Lcom/mikepenz/markdown/model/MarkdownAnnotator;Lcom/mikepenz/markdown/model/MarkdownExtendedSpans;Lcom/mikepenz/markdown/model/MarkdownInlineContent;Lcom/mikepenz/markdown/compose/components/MarkdownComponents;Lcom/mikepenz/markdown/model/MarkdownAnimations;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function5;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;III)V
72-
public static final fun Markdown (Ljava/lang/String;Lcom/mikepenz/markdown/model/MarkdownColors;Lcom/mikepenz/markdown/model/MarkdownTypography;Landroidx/compose/ui/Modifier;Lcom/mikepenz/markdown/model/MarkdownPadding;Lcom/mikepenz/markdown/model/MarkdownDimens;Lorg/intellij/markdown/flavours/MarkdownFlavourDescriptor;Lorg/intellij/markdown/parser/MarkdownParser;Lcom/mikepenz/markdown/model/ImageTransformer;Lcom/mikepenz/markdown/model/MarkdownAnnotator;Lcom/mikepenz/markdown/model/MarkdownExtendedSpans;Lcom/mikepenz/markdown/model/MarkdownInlineContent;Lcom/mikepenz/markdown/compose/components/MarkdownComponents;Lcom/mikepenz/markdown/model/MarkdownAnimations;Lcom/mikepenz/markdown/model/ReferenceLinkHandler;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function5;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;III)V
72+
public static final fun Markdown (Ljava/lang/String;Lcom/mikepenz/markdown/model/MarkdownColors;Lcom/mikepenz/markdown/model/MarkdownTypography;Landroidx/compose/ui/Modifier;Lcom/mikepenz/markdown/model/MarkdownPadding;Lcom/mikepenz/markdown/model/MarkdownDimens;Lorg/intellij/markdown/flavours/MarkdownFlavourDescriptor;Lorg/intellij/markdown/parser/MarkdownParser;Lcom/mikepenz/markdown/model/ImageTransformer;Lcom/mikepenz/markdown/model/MarkdownAnnotator;Lcom/mikepenz/markdown/model/MarkdownExtendedSpans;Lcom/mikepenz/markdown/model/MarkdownInlineContent;Lcom/mikepenz/markdown/compose/components/MarkdownComponents;Lcom/mikepenz/markdown/model/MarkdownAnimations;Lcom/mikepenz/markdown/model/ReferenceLinkHandler;ZZZLkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function5;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;IIII)V
7373
public static final fun MarkdownSuccess (Lcom/mikepenz/markdown/model/State$Success;Lcom/mikepenz/markdown/compose/components/MarkdownComponents;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;II)V
7474
}
7575

0 commit comments

Comments
 (0)