From 0386ce998a32d2e92c57885fc7310310e4ffe231 Mon Sep 17 00:00:00 2001 From: Secozzi <49240133+Secozzi@users.noreply.github.com> Date: Sat, 19 Apr 2025 18:13:05 +0000 Subject: [PATCH] Update markdown to 0.33.0 and tweak visuals (#2024) - Update markdown to 0.33.0 - Use github flavour for github changelog - Fix bullet list alignment (cherry picked from commit e2915a1f69340cad515962de8a0b9d11ecff8d42) # Conflicts: # CHANGELOG.md --- .../manga/components/MarkdownRender.kt | 22 +++++++++++++++---- .../presentation/more/NewUpdateScreen.kt | 6 ++++- gradle/libs.versions.toml | 2 +- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/eu/kanade/presentation/manga/components/MarkdownRender.kt b/app/src/main/java/eu/kanade/presentation/manga/components/MarkdownRender.kt index 6b50855d8..0db04b8ef 100644 --- a/app/src/main/java/eu/kanade/presentation/manga/components/MarkdownRender.kt +++ b/app/src/main/java/eu/kanade/presentation/manga/components/MarkdownRender.kt @@ -26,7 +26,9 @@ import com.mikepenz.markdown.m3.markdownTypography import com.mikepenz.markdown.model.MarkdownAnnotator import com.mikepenz.markdown.model.markdownAnnotator import com.mikepenz.markdown.model.markdownPadding +import com.mikepenz.markdown.model.rememberMarkdownState import org.intellij.markdown.MarkdownTokenTypes.Companion.HTML_TAG +import org.intellij.markdown.flavours.MarkdownFlavourDescriptor import org.intellij.markdown.flavours.commonmark.CommonMarkFlavourDescriptor import org.intellij.markdown.flavours.commonmark.CommonMarkMarkerProcessor import org.intellij.markdown.flavours.gfm.table.GitHubTableMarkerProvider @@ -49,12 +51,18 @@ import tachiyomi.presentation.core.components.material.padding fun MarkdownRender( content: String, modifier: Modifier = Modifier, + flavour: MarkdownFlavourDescriptor = SimpleMarkdownFlavourDescriptor, annotator: MarkdownAnnotator = markdownAnnotator(), ) { - Markdown( + val markdownState = rememberMarkdownState( content = content, + flavour = flavour, + immediate = true, + ) + + Markdown( + markdownState = markdownState, annotator = annotator, - flavour = SimpleMarkdownFlavourDescriptor, typography = mihonMarkdownTypography(), padding = mihonMarkdownPadding(), components = mihonMarkdownComponents(), @@ -114,10 +122,16 @@ private fun mihonMarkdownComponents() = markdownComponents( val markers = listOf("•", "◦", "▸", "▹") CompositionLocalProvider( - LocalBulletListHandler provides { _, _, _, _ -> "${markers[ul.listDepth % markers.size]} " }, + LocalBulletListHandler provides { _, _, _, _, _ -> "${markers[ul.listDepth % markers.size]} " }, ) { Column(modifier = Modifier.padding(start = MaterialTheme.padding.small)) { - MarkdownBulletList(ul.content, ul.node, style = ul.typography.bullet) + MarkdownBulletList( + content = ul.content, + node = ul.node, + style = ul.typography.bullet, + markerModifier = { Modifier.alignBy(FirstBaseline) }, + listModifier = { Modifier.alignBy(FirstBaseline) }, + ) } } }, diff --git a/app/src/main/java/eu/kanade/presentation/more/NewUpdateScreen.kt b/app/src/main/java/eu/kanade/presentation/more/NewUpdateScreen.kt index 2fa1dbcdd..f6b5f4b0b 100644 --- a/app/src/main/java/eu/kanade/presentation/more/NewUpdateScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/NewUpdateScreen.kt @@ -17,6 +17,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.PreviewLightDark import eu.kanade.presentation.manga.components.MarkdownRender import eu.kanade.presentation.theme.TachiyomiPreviewTheme +import org.intellij.markdown.flavours.gfm.GFMFlavourDescriptor import tachiyomi.i18n.MR import tachiyomi.presentation.core.components.material.padding import tachiyomi.presentation.core.i18n.stringResource @@ -44,7 +45,10 @@ fun NewUpdateScreen( .fillMaxWidth() .padding(vertical = MaterialTheme.padding.large), ) { - MarkdownRender(content = changelogInfo) + MarkdownRender( + content = changelogInfo, + flavour = GFMFlavourDescriptor(), + ) TextButton( onClick = onOpenInBrowser, diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ca43a6bfd..e48d5d9f5 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -10,7 +10,7 @@ voyager = "1.0.1" spotless = "7.0.3" ktlint-core = "1.5.0" firebase-bom = "33.11.0" -markdown = "0.33.0-rc01" +markdown = "0.33.0" [libraries] desugar = "com.android.tools:desugar_jdk_libs:2.1.5"