added/removed some markdown bits
[smdp.git] / include / markdown.h
index 357de78..9c29d86 100644 (file)
 #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_EMPTY
 };
 
 typedef struct _line_t {
     cstring_t *text;
+    struct _line_t *prev;
     struct _line_t *next;
     int bits;
-    int left_white_space;
+    int offset;
 } line_t;
 
 typedef struct _page_t {
-    line_t *lines;
+    line_t *line;
+    struct _page_t *prev;
     struct _page_t *next;
 } page_t;
 
 typedef struct _document_t {
-    line_t *title;
-    line_t *author;
-    line_t *date;
-    page_t *pages;
+    line_t *header;
+    page_t *page;
 } document_t;
 
+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);
+int next_blank(cstring_t *text, int i);
+document_t *markdown_load(FILE *input);
+
 #endif // !defined( MARKDOWN_H )