From ee81d6e7e3197da96af0c799c2a66481a7909f9b Mon Sep 17 00:00:00 2001 From: Acclorite <140836141+Acclorite@users.noreply.github.com> Date: Sun, 5 Jan 2025 11:02:02 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=80=20Replace=20"http"=20->=20"https"?= =?UTF-8?q?=20for=20all=20Markdown=20links?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * "http://" -> "https://" * Show link in brackets: text (link) --- .../acclorite/book_story/data/parser/DocumentParser.kt | 9 +++++++-- .../acclorite/book_story/data/parser/MarkdownParser.kt | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/DocumentParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/DocumentParser.kt index d082cc46..fe1ab414 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/DocumentParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/DocumentParser.kt @@ -43,10 +43,15 @@ class DocumentParser @Inject constructor( select("strong").append("**").prepend("**") select("em").append("_").prepend("_") select("a").forEach { element -> - val link = element.attr("href") + var link = element.attr("href") if (!link.startsWith("http") || element.wholeText().isBlank()) return@forEach - element.prepend("[")/* text in between */.append("](${element.attr("href")})") + if (link.startsWith("http://")) { + link = link.replace("http://", "https://") + } + + element.prepend("[") + element.append("]($link)") } }.wholeText().lines().forEachIndexed { index, line -> yield() diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/MarkdownParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/MarkdownParser.kt index ecc03c30..9c430e2f 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/MarkdownParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/MarkdownParser.kt @@ -68,6 +68,7 @@ class MarkdownParser @Inject constructor( ) ) { parseChildren(node) + append(" (${node.destination})") } }