manager: add markdown-ext-tables

This commit is contained in:
YuKongA
2025-11-27 16:14:19 +08:00
committed by shirkneko
parent 8b06df3468
commit f81023246f
5 changed files with 20 additions and 22 deletions

View File

@@ -138,15 +138,14 @@ dependencies {
implementation(libs.kotlinx.coroutines.core)
implementation(libs.markdown)
implementation(libs.markdown.ext.tables)
implementation(libs.androidx.webkit)
implementation(libs.lsposed.cxx)
implementation(libs.miuix)
implementation(libs.haze)
implementation(libs.capsule)
implementation(libs.twain)
}
}

View File

@@ -29,7 +29,6 @@ import androidx.compose.ui.layout.Layout
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import com.colintheshots.twain.MarkdownText
import kotlinx.coroutines.CancellableContinuation
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.async
@@ -418,12 +417,7 @@ private fun ConfirmDialog(
content = {
visuals.content?.let {
if (visuals.isMarkdown) {
MarkdownText(
markdown = visuals.content!!,
color = MiuixTheme.colorScheme.onSurface,
modifier = Modifier
.fillMaxWidth()
)
MarkdownContent(content = visuals.content!!)
} else {
Text(text = visuals.content!!)
}

View File

@@ -15,6 +15,9 @@ import androidx.compose.ui.draw.clipToBounds
import androidx.compose.ui.graphics.toArgb
import androidx.compose.ui.viewinterop.AndroidView
import io.noties.markwon.Markwon
import io.noties.markwon.ext.tables.TableAwareMovementMethod
import io.noties.markwon.ext.tables.TablePlugin
import io.noties.markwon.movement.MovementMethodPlugin
import io.noties.markwon.utils.NoCopySpannableFactory
import top.yukonga.miuix.kmp.theme.MiuixTheme
@@ -45,7 +48,11 @@ fun MarkdownContent(content: String) {
.clipToBounds(),
update = {
val textView = it.getChildAt(0) as TextView
Markwon.create(textView.context).setMarkdown(textView, content)
val markwon = Markwon.builder(textView.context)
.usePlugin(TablePlugin.create(textView.context))
.usePlugin(MovementMethodPlugin.create(TableAwareMovementMethod.create()))
.build()
markwon.setMarkdown(textView, content)
textView.setTextColor(contentColor)
}
)

View File

@@ -49,7 +49,6 @@ import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.lifecycle.viewmodel.compose.viewModel
import com.colintheshots.twain.MarkdownText
import com.ramcosta.composedestinations.annotation.Destination
import com.ramcosta.composedestinations.annotation.RootGraph
import com.ramcosta.composedestinations.generated.destinations.FlashScreenDestination
@@ -67,6 +66,7 @@ import kotlinx.coroutines.withContext
import kotlinx.parcelize.Parcelize
import com.sukisu.ultra.R
import com.sukisu.ultra.ksuApp
import com.sukisu.ultra.ui.component.MarkdownContent
import com.sukisu.ultra.ui.component.SearchBox
import com.sukisu.ultra.ui.component.SearchPager
import com.sukisu.ultra.ui.component.rememberConfirmDialog
@@ -92,7 +92,6 @@ import top.yukonga.miuix.kmp.icon.MiuixIcons
import top.yukonga.miuix.kmp.icon.icons.useful.Back
import top.yukonga.miuix.kmp.icon.icons.useful.NavigatorSwitch
import top.yukonga.miuix.kmp.icon.icons.useful.Save
import top.yukonga.miuix.kmp.theme.MiuixTheme
import top.yukonga.miuix.kmp.theme.MiuixTheme.colorScheme
import top.yukonga.miuix.kmp.utils.PressFeedbackType
import top.yukonga.miuix.kmp.utils.getWindowSize
@@ -622,12 +621,7 @@ fun ModuleRepoDetailScreen(
insideMargin = PaddingValues(16.dp)
) {
Column {
MarkdownText(
markdown = readmeText!!,
color = colorScheme.onSurface,
modifier = Modifier
.fillMaxWidth()
)
MarkdownContent(content = readmeText!!)
}
}
}