diff --git a/src/parser.v b/src/parser.v index f6f98af..d6aaec9 100644 --- a/src/parser.v +++ b/src/parser.v @@ -3,11 +3,15 @@ fn replace(text string, start int, len int, repl string) string { } fn parse_header(line string) (int, string) { + if line.len == 0 { + return 0, line + } + mut lvl := 0 for line[lvl] == '!'[0] { // Jestem geniuszem programowania lvl++ } - if line[lvl+1] != ' '[0] { // String to u8 converter xd + if line[lvl + 1] != ' '[0] { // String to u8 converter xd return 0, line } return lvl, line[lvl + 1..] @@ -16,10 +20,20 @@ fn parse_header(line string) (int, string) { fn parse(lines []string) string { mut output := '

' for line in lines { - if idx := line.index('2') { - output += replace(line, idx, 1, 'foferk') + '
\n' + lvl, text := parse_header(line) + if lvl > 0 { + output += '' } - output += line + '
\n' + + if idx := text.index('2') { + output += replace(text, idx, 1, 'foferk') + '
\n' + } + + if lvl > 0 { + output += '
' + } + + output += text + '
\n' } output += '

' return output