X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=include%2Fmarkdown.h;h=9c29d868f86d0e174d02d994000c87b7f71b3fe0;hb=9f1e6a612e7e9ebb4bc703b8e75a723ed7c8779c;hp=9ed9dbfe3539703366cc4528aae34562569f1a7f;hpb=ab8e567cda085c6cc575082d175790617a3f9fa6;p=smdp.git diff --git a/include/markdown.h b/include/markdown.h index 9ed9dbf..9c29d86 100644 --- a/include/markdown.h +++ b/include/markdown.h @@ -14,13 +14,12 @@ #define CHECK_BIT(var, pos) ((var) & (1<<(pos))) enum line_bitmask { - IS_HEADER, - IS_HEADER2, + IS_H1, + IS_H2, IS_QUOTE, IS_CODE, - IS_LIST, - IS_NUMLIST, - IS_HR + IS_HR, + IS_EMPTY }; typedef struct _line_t { @@ -38,43 +37,18 @@ typedef struct _page_t { } page_t; typedef struct _document_t { - line_t *title; - line_t *author; - line_t *date; + line_t *header; page_t *page; } document_t; -line_t *new_line() { - line_t *x = malloc(sizeof(line_t)); - return x; -} - -line_t *next_line(line_t *prev) { - line_t *x = new_line(); - x->prev = prev; - prev->next = x; - return x; -} - -page_t *new_page() { - page_t *x = malloc(sizeof(page_t)); - return x; -} - -page_t *next_page(page_t *prev) { - page_t *x = new_page(); - x->prev = prev; - prev->next = x; - return x; -} - -document_t *new_document() { - document_t *x = malloc(sizeof(document_t)); - return x; -} - +line_t *new_line(); +line_t *next_line(line_t *prev); +page_t *new_page(); +page_t *next_page(page_t *prev); +document_t *new_document(); int is_utf8(char ch); int next_nonblank(cstring_t *text, int i); -document_t * markdown_load(FILE *input); +int next_blank(cstring_t *text, int i); +document_t *markdown_load(FILE *input); #endif // !defined( MARKDOWN_H )