From 4824ef1d26ab1fbb41be4f4978c656ad2784c111 Mon Sep 17 00:00:00 2001 From: Dieguitux Date: Sun, 15 Dec 2024 09:38:54 +0100 Subject: [PATCH] fix: improve HTML to BBCode back-conversion (#642) --- .../composer/converters/DefaultBBCodeConverter.kt | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/feature/composer/src/commonMain/kotlin/com/livefast/eattrash/raccoonforfriendica/feature/composer/converters/DefaultBBCodeConverter.kt b/feature/composer/src/commonMain/kotlin/com/livefast/eattrash/raccoonforfriendica/feature/composer/converters/DefaultBBCodeConverter.kt index 65f16e21e..86956f47a 100644 --- a/feature/composer/src/commonMain/kotlin/com/livefast/eattrash/raccoonforfriendica/feature/composer/converters/DefaultBBCodeConverter.kt +++ b/feature/composer/src/commonMain/kotlin/com/livefast/eattrash/raccoonforfriendica/feature/composer/converters/DefaultBBCodeConverter.kt @@ -58,6 +58,11 @@ internal class DefaultBBCodeConverter : BBCodeConverter { .Builder() .onOpenTag { name, attributes, _ -> when (name) { + "h1" -> builder.append("[h1]") + "h2" -> builder.append("[h2]") + "h3" -> builder.append("[h3]") + "h4" -> builder.append("[h4]") + "h5" -> builder.append("[h5]") "br" -> builder.appendLine() "b", "strong" -> builder.append("[b]") "u" -> builder.append("[u]") @@ -68,6 +73,7 @@ internal class DefaultBBCodeConverter : BBCodeConverter { "li" -> builder.append("[li]") "code" -> builder.append("[code]") "blockquote" -> builder.append("[quote]") + "q" -> builder.append("[quote]") "a" -> { val url = attributes["href"] ?: "" builder.append("[url=$url]") @@ -83,7 +89,13 @@ internal class DefaultBBCodeConverter : BBCodeConverter { } }.onCloseTag { name, _ -> when (name) { - "p", "span", "br" -> Unit + "h1" -> builder.append("[/h1]") + "h2" -> builder.append("[/h2]") + "h3" -> builder.append("[/h3]") + "h4" -> builder.append("[/h4]") + "h5" -> builder.append("[/h5]") + "span" -> Unit + "p", "br" -> builder.append("\n") "img" -> builder.append("[/img]") "b", "strong" -> builder.append("[/b]") "u" -> builder.append("[/u]") @@ -95,6 +107,7 @@ internal class DefaultBBCodeConverter : BBCodeConverter { "ol" -> builder.append("[/ol]") "li" -> builder.append("[/li]") "blockquote" -> builder.append("[/quote]") + "q" -> builder.append("[/quote]") else -> Unit } }.onText { text ->