Refactor project to focus on Markdown parser development. Removed unused database and template-related code, added Markdown parsing functionality, and updated build configuration.

This commit is contained in:
2025-12-02 19:44:45 +01:00
parent a8fcabc571
commit 63c24f6355
19 changed files with 661 additions and 253 deletions

View File

@@ -0,0 +1,50 @@
package nl.astraeus.markdown.parser
import nl.astraeus.wiki.parser.MarkdownPart
import nl.astraeus.wiki.parser.markdown
import kotlin.test.Test
class ParseTest {
@Test
fun testParagraph() {
val input = """
Dit is een **test**, laat ***mij*** maar eens zien!
link: [NOS](www.nos.nl "Nos title") of zo.
- link: [NU](www.nu.nl "Nu site") of zo.
""".trimIndent()
val md = markdown(input)
printMarkdownParts(md)
}
@Test
fun testImage() {
val input = """
[![test2](https://upload.wikimedia.org/wikipedia/commons.png)](https://upload.wikimedia.org/wikipedia/commons.png)
""".trimIndent()
val md = markdown(input)
printMarkdownParts(md)
}
private fun printMarkdownParts(md: List<MarkdownPart>) {
for (part in md) {
if (part is MarkdownPart.Paragraph) {
for (para in part.parts) {
println("PARA: ${para::class.simpleName} - ${para.toString().take(75)}")
}
} else {
println("PART: ${part::class.simpleName} - ${part.toString().take(75)}")
}
}
}
}

View File

@@ -0,0 +1,23 @@
package nl.astraeus.markdown.parser
import nl.astraeus.wiki.parser.MarkdownPart
import nl.astraeus.wiki.parser.parseParagraph
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertTrue
class TestParagraph {
@Test
fun testBold() {
val input = "Text **bold** Text"
val result = parseParagraph(input)
assertEquals(3, result.parts.size)
assertTrue(result.parts[0] is MarkdownPart.ParagraphPart.Text)
assertTrue(result.parts[1] is MarkdownPart.ParagraphPart.Bold)
assertTrue(result.parts[2] is MarkdownPart.ParagraphPart.Text)
}
}