mirror of https://git.sr.ht/~oppen/ariane
35 lines
876 B
Kotlin
35 lines
876 B
Kotlin
package oppen.tva.io
|
|
|
|
import java.lang.StringBuilder
|
|
|
|
object GemtextHelper {
|
|
|
|
|
|
|
|
fun findCodeBlocks(source: List<String>): List<String>{
|
|
val sb = StringBuilder()
|
|
var inCodeBlock = false
|
|
val parsed = mutableListOf<String>()
|
|
source.forEach { line ->
|
|
if (line.contains("```")) {
|
|
if (!inCodeBlock) {
|
|
//New code block starting
|
|
sb.clear()
|
|
sb.append("```")
|
|
} else {
|
|
//End of code block
|
|
parsed.add(sb.toString())
|
|
}
|
|
inCodeBlock = !inCodeBlock
|
|
} else {
|
|
if (inCodeBlock) {
|
|
sb.append("$line\n")
|
|
} else {
|
|
parsed.add(line)
|
|
}
|
|
}
|
|
}
|
|
|
|
return parsed
|
|
}
|
|
} |