From b6fe9fc6a4f31d4fa0ddad7fdfd3324cd1c88d3e Mon Sep 17 00:00:00 2001 From: verdant Date: Sun, 24 May 2026 13:55:39 +0800 Subject: Initial commit --- parser.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 parser.c (limited to 'parser.c') diff --git a/parser.c b/parser.c new file mode 100644 index 0000000..abb8ca6 --- /dev/null +++ b/parser.c @@ -0,0 +1,47 @@ +#include +#include "parser.h" + + +/* Return the level of title */ +int parse_title(struct md_token* mt){ + + int level = 0; + if (mt->idx >= mt->line_len) { + return -1; + } + + if (mt->line[mt->idx] == '\0' || mt->line[mt->idx] == '\n') { + return -1; + } + + while(mt->idx < mt->line_len && mt->line[mt->idx] == '#') { + level++; + mt->idx++; + } + + mt->start_pos = mt->idx + 1; + char tmp[1024] = ""; + size_t mt_idx = mt->start_pos; + int idx = 0; + while (mt_idx < mt->line_len && mt->line[mt_idx] != '\0' && mt->line[mt_idx] != '\n') { + tmp[idx] = mt->line[mt_idx]; + mt_idx++; + idx++; + } + printf("%s", level, tmp, level); + return level; +} + + +int parse_content(struct md_token* mt) { + if (mt->idx >= mt->line_len) { + return -1; + } + + if (mt->line[mt->idx] == '\0' || mt->line[mt->idx] == '\n') { + return -1; + } + + printf("

%s

",mt->line); + return 0; +} -- cgit v1.2.3