bunkum

an old and silly c99 web server with some fun features
Log | Files | Refs | README

html.h (800B)


      1 #ifndef HTML_H
      2 #define HTML_H
      3 
      4 #include "vec.h"
      5 
      6 enum html_fc_type {
      7     HTML_TEXT,
      8     HTML_A,
      9     HTML_P,
     10     HTML_BR,
     11     HTML_H1,
     12 };
     13 
     14 typedef struct html_fc {
     15     enum html_fc_type type;
     16     union {
     17         char* text;
     18         struct { char* href; char* content; } a;
     19     } value;
     20 } html_fc_t;
     21 
     22 typedef struct title {
     23     char* text;
     24 } html_title_t;
     25 
     26 typedef struct base {
     27     char* href;
     28     char* target;
     29 } html_base_t;
     30 
     31 typedef struct head {
     32     vec_t meta;
     33 } html_head_t;
     34 
     35 typedef struct body {
     36     vec_t content;
     37 } html_body_t;
     38 
     39 typedef struct html {
     40     vec_t _buf;
     41     html_body_t body;   
     42 } html_t;
     43 
     44 html_t html_new();
     45 html_fc_t html_p_new(char* content);
     46 html_fc_t html_h1_new(char* content);
     47 void html_body_add(html_body_t* body, html_fc_t fc);
     48 char* html_render(html_t* html);
     49 
     50 #endif