feat: Add Markdown preprocessing utility to standardize rendering across all views
- Create MarkdownUtils.preprocessMarkdown() for consistent Markdown normalization - Apply preprocessing to LinkDetailsView description rendering - Apply preprocessing to MarkdownPreview and MarkdownReader components - Bump version to 1.4.0 (VERSION_CODE 13)
This commit is contained in:
parent
aa32ff1c2b
commit
fc0fe3b30b
19
app/src/main/java/com/shaarit/core/util/MarkdownUtils.kt
Normal file
19
app/src/main/java/com/shaarit/core/util/MarkdownUtils.kt
Normal file
@ -0,0 +1,19 @@
|
||||
package com.shaarit.core.util
|
||||
|
||||
/**
|
||||
* Prétraitement du Markdown pour corriger l'affichage des éléments
|
||||
* non supportés nativement par compose-markdown (checkboxes, etc.)
|
||||
*/
|
||||
object MarkdownUtils {
|
||||
|
||||
/**
|
||||
* Convertit les checkboxes Markdown (- [ ] et - [x]) en caractères Unicode visuels.
|
||||
* Gère aussi les variantes avec * au lieu de -.
|
||||
*/
|
||||
fun preprocessMarkdown(markdown: String): String {
|
||||
return markdown
|
||||
.replace(Regex("""^(\s*[-*])\s+\[x]\s""", RegexOption.MULTILINE), "$1 ☑ ")
|
||||
.replace(Regex("""^(\s*[-*])\s+\[X]\s""", RegexOption.MULTILINE), "$1 ☑ ")
|
||||
.replace(Regex("""^(\s*[-*])\s+\[ ]\s""", RegexOption.MULTILINE), "$1 ☐ ")
|
||||
}
|
||||
}
|
||||
@ -44,6 +44,7 @@ import com.shaarit.ui.components.GlassCard
|
||||
import com.shaarit.ui.components.TagChip
|
||||
import com.shaarit.ui.theme.Typography
|
||||
import dev.jeziellago.compose.markdowntext.MarkdownText
|
||||
import com.shaarit.core.util.MarkdownUtils
|
||||
import coil.compose.AsyncImage
|
||||
import coil.request.ImageRequest
|
||||
import androidx.compose.ui.layout.ContentScale
|
||||
@ -960,7 +961,7 @@ fun LinkDetailsView(
|
||||
// Description
|
||||
if (link.description.isNotBlank()) {
|
||||
MarkdownText(
|
||||
markdown = link.description,
|
||||
markdown = MarkdownUtils.preprocessMarkdown(link.description),
|
||||
style = MaterialTheme.typography.bodyMedium.copy(color = MaterialTheme.colorScheme.onBackground),
|
||||
modifier = Modifier.fillMaxWidth()
|
||||
)
|
||||
|
||||
@ -42,6 +42,7 @@ import androidx.compose.ui.unit.sp
|
||||
import androidx.compose.ui.zIndex
|
||||
import com.shaarit.ui.theme.Typography
|
||||
import dev.jeziellago.compose.markdowntext.MarkdownText
|
||||
import com.shaarit.core.util.MarkdownUtils
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
|
||||
@ -657,7 +658,7 @@ fun MarkdownPreview(
|
||||
)
|
||||
} else {
|
||||
MarkdownText(
|
||||
markdown = markdown,
|
||||
markdown = MarkdownUtils.preprocessMarkdown(markdown),
|
||||
color = MaterialTheme.colorScheme.onBackground,
|
||||
modifier = Modifier.fillMaxWidth()
|
||||
)
|
||||
@ -901,7 +902,7 @@ fun MarkdownReader(
|
||||
.verticalScroll(rememberScrollState())
|
||||
) {
|
||||
MarkdownText(
|
||||
markdown = markdown,
|
||||
markdown = MarkdownUtils.preprocessMarkdown(markdown),
|
||||
color = androidx.compose.ui.graphics.Color.White,
|
||||
modifier = Modifier.fillMaxWidth()
|
||||
)
|
||||
|
||||
@ -1,3 +1,3 @@
|
||||
#Thu Feb 12 12:09:07 2026
|
||||
VERSION_NAME=1.3.0
|
||||
VERSION_CODE=12
|
||||
#Thu Feb 12 20:32:53 2026
|
||||
VERSION_NAME=1.4.0
|
||||
VERSION_CODE=13
|
||||
Loading…
x
Reference in New Issue
Block a user