|
|
|
@@ -1,3 +1,4 @@
|
|
|
|
|
// elhtml_impl.c — El HTML element stubs.
|
|
|
|
|
#include <stdint.h>
|
|
|
|
|
#include <stdlib.h>
|
|
|
|
|
#include "el_runtime.h"
|
|
|
|
@@ -19,11 +20,11 @@ el_val_t el_li(el_val_t attrs, el_val_t children);
|
|
|
|
|
el_val_t el_p(el_val_t attrs, el_val_t children);
|
|
|
|
|
el_val_t el_span(el_val_t attrs, el_val_t children);
|
|
|
|
|
el_val_t el_form(el_val_t attrs, el_val_t children);
|
|
|
|
|
el_val_t el_h1(el_val_t attrs, el_val_t text);
|
|
|
|
|
el_val_t el_h2(el_val_t attrs, el_val_t text);
|
|
|
|
|
el_val_t el_h3(el_val_t attrs, el_val_t text);
|
|
|
|
|
el_val_t el_h4(el_val_t attrs, el_val_t text);
|
|
|
|
|
el_val_t el_button(el_val_t attrs, el_val_t label);
|
|
|
|
|
el_val_t el_h1(el_val_t attrs, el_val_t children);
|
|
|
|
|
el_val_t el_h2(el_val_t attrs, el_val_t children);
|
|
|
|
|
el_val_t el_h3(el_val_t attrs, el_val_t children);
|
|
|
|
|
el_val_t el_h4(el_val_t attrs, el_val_t children);
|
|
|
|
|
el_val_t el_button(el_val_t attrs, el_val_t children);
|
|
|
|
|
el_val_t el_a(el_val_t href, el_val_t attrs, el_val_t children);
|
|
|
|
|
el_val_t el_input(el_val_t type_attr, el_val_t attrs);
|
|
|
|
|
el_val_t el_textarea(el_val_t attrs, el_val_t value);
|
|
|
|
@@ -176,43 +177,43 @@ el_val_t el_form(el_val_t attrs, el_val_t children) {
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
el_val_t el_h1(el_val_t attrs, el_val_t text) {
|
|
|
|
|
el_val_t el_h1(el_val_t attrs, el_val_t children) {
|
|
|
|
|
if (str_eq(attrs, EL_STR(""))) {
|
|
|
|
|
return el_str_concat(el_str_concat(EL_STR("<h1>"), el_escape(text)), EL_STR("</h1>"));
|
|
|
|
|
return el_str_concat(el_str_concat(EL_STR("<h1>"), children), EL_STR("</h1>"));
|
|
|
|
|
}
|
|
|
|
|
return el_str_concat(el_str_concat(el_str_concat(el_str_concat(EL_STR("<h1 "), attrs), EL_STR(">")), el_escape(text)), EL_STR("</h1>"));
|
|
|
|
|
return el_str_concat(el_str_concat(el_str_concat(el_str_concat(EL_STR("<h1 "), attrs), EL_STR(">")), children), EL_STR("</h1>"));
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
el_val_t el_h2(el_val_t attrs, el_val_t text) {
|
|
|
|
|
el_val_t el_h2(el_val_t attrs, el_val_t children) {
|
|
|
|
|
if (str_eq(attrs, EL_STR(""))) {
|
|
|
|
|
return el_str_concat(el_str_concat(EL_STR("<h2>"), el_escape(text)), EL_STR("</h2>"));
|
|
|
|
|
return el_str_concat(el_str_concat(EL_STR("<h2>"), children), EL_STR("</h2>"));
|
|
|
|
|
}
|
|
|
|
|
return el_str_concat(el_str_concat(el_str_concat(el_str_concat(EL_STR("<h2 "), attrs), EL_STR(">")), el_escape(text)), EL_STR("</h2>"));
|
|
|
|
|
return el_str_concat(el_str_concat(el_str_concat(el_str_concat(EL_STR("<h2 "), attrs), EL_STR(">")), children), EL_STR("</h2>"));
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
el_val_t el_h3(el_val_t attrs, el_val_t text) {
|
|
|
|
|
el_val_t el_h3(el_val_t attrs, el_val_t children) {
|
|
|
|
|
if (str_eq(attrs, EL_STR(""))) {
|
|
|
|
|
return el_str_concat(el_str_concat(EL_STR("<h3>"), el_escape(text)), EL_STR("</h3>"));
|
|
|
|
|
return el_str_concat(el_str_concat(EL_STR("<h3>"), children), EL_STR("</h3>"));
|
|
|
|
|
}
|
|
|
|
|
return el_str_concat(el_str_concat(el_str_concat(el_str_concat(EL_STR("<h3 "), attrs), EL_STR(">")), el_escape(text)), EL_STR("</h3>"));
|
|
|
|
|
return el_str_concat(el_str_concat(el_str_concat(el_str_concat(EL_STR("<h3 "), attrs), EL_STR(">")), children), EL_STR("</h3>"));
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
el_val_t el_h4(el_val_t attrs, el_val_t text) {
|
|
|
|
|
el_val_t el_h4(el_val_t attrs, el_val_t children) {
|
|
|
|
|
if (str_eq(attrs, EL_STR(""))) {
|
|
|
|
|
return el_str_concat(el_str_concat(EL_STR("<h4>"), el_escape(text)), EL_STR("</h4>"));
|
|
|
|
|
return el_str_concat(el_str_concat(EL_STR("<h4>"), children), EL_STR("</h4>"));
|
|
|
|
|
}
|
|
|
|
|
return el_str_concat(el_str_concat(el_str_concat(el_str_concat(EL_STR("<h4 "), attrs), EL_STR(">")), el_escape(text)), EL_STR("</h4>"));
|
|
|
|
|
return el_str_concat(el_str_concat(el_str_concat(el_str_concat(EL_STR("<h4 "), attrs), EL_STR(">")), children), EL_STR("</h4>"));
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
el_val_t el_button(el_val_t attrs, el_val_t label) {
|
|
|
|
|
el_val_t el_button(el_val_t attrs, el_val_t children) {
|
|
|
|
|
if (str_eq(attrs, EL_STR(""))) {
|
|
|
|
|
return el_str_concat(el_str_concat(EL_STR("<button type=\"button\">"), el_escape(label)), EL_STR("</button>"));
|
|
|
|
|
return el_str_concat(el_str_concat(EL_STR("<button type=\"button\">"), children), EL_STR("</button>"));
|
|
|
|
|
}
|
|
|
|
|
return el_str_concat(el_str_concat(el_str_concat(el_str_concat(EL_STR("<button type=\"button\" "), attrs), EL_STR(">")), el_escape(label)), EL_STR("</button>"));
|
|
|
|
|
return el_str_concat(el_str_concat(el_str_concat(el_str_concat(EL_STR("<button type=\"button\" "), attrs), EL_STR(">")), children), EL_STR("</button>"));
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|