introspection helper docs; remove redundant node-sibling helper; ensure that any of the introspection APIs doing string matching take match flags

This commit is contained in:
ryanfleury
2021-06-30 22:54:56 -06:00
parent 0045b05a04
commit f15fc77bfa
8 changed files with 196 additions and 104 deletions
+1 -1
View File
@@ -27,7 +27,7 @@ int main(int argument_count, char **arguments)
printf("Generated C Code:\n");
for(MD_EachNode(node, code->first_child))
{
if(MD_NodeHasTag(node, MD_S8Lit("struct")))
if(MD_NodeHasTag(node, MD_S8Lit("struct"), 0))
{
MD_C_Generate_Struct(stdout, node);
}
@@ -382,17 +382,17 @@ GeneratePageContent(MD_Map *index_table, SiteInfo *site_info, PageInfo *page_inf
{
char *html_tag = "p";
char *style = "paragraph";
if(MD_NodeHasTag(node, MD_S8Lit("title")))
if(MD_NodeHasTag(node, MD_S8Lit("title"), 0))
{
html_tag = "h1";
style = "title";
}
else if(MD_NodeHasTag(node, MD_S8Lit("subtitle")))
else if(MD_NodeHasTag(node, MD_S8Lit("subtitle"), 0))
{
html_tag = "h2";
style = "subtitle";
}
else if(MD_NodeHasTag(node, MD_S8Lit("code")))
else if(MD_NodeHasTag(node, MD_S8Lit("code"), 0))
{
html_tag = "pre";
style = "code";
@@ -414,19 +414,19 @@ GeneratePageContent(MD_Map *index_table, SiteInfo *site_info, PageInfo *page_inf
MD_ParseResult parse = MD_ParseOneNode(MD_StringSubstring(strnode->string, i, strnode->string.size), 0);
if(!MD_NodeIsNil(parse.node))
{
if(MD_NodeHasTag(node, MD_S8Lit("i")))
if(MD_NodeHasTag(node, MD_S8Lit("i"), 0))
{
fprintf(file, "<i>%.*s</i>", MD_StringExpand(parse.node->string));
}
else if(MD_NodeHasTag(node, MD_S8Lit("b")))
else if(MD_NodeHasTag(node, MD_S8Lit("b"), 0))
{
fprintf(file, "<strong>%.*s</strong>", MD_StringExpand(parse.node->string));
}
else if(MD_NodeHasTag(node, MD_S8Lit("code")))
else if(MD_NodeHasTag(node, MD_S8Lit("code"), 0))
{
fprintf(file, "<span class=\"inline_code\">%.*s</span>", MD_StringExpand(parse.node->string));
}
else if(MD_NodeHasTag(node, MD_S8Lit("link")))
else if(MD_NodeHasTag(node, MD_S8Lit("link"), 0))
{
MD_Node *text = MD_ChildFromIndex(parse.node, 0);
MD_Node *link = MD_ChildFromIndex(parse.node, 1);
@@ -474,7 +474,7 @@ GeneratePageContent(MD_Map *index_table, SiteInfo *site_info, PageInfo *page_inf
if(!MD_NodeIsNil(node->first_child))
{
if(MD_NodeHasTag(node, MD_S8Lit("list")))
if(MD_NodeHasTag(node, MD_S8Lit("list"), 0))
{
fprintf(file, "<ul class=\"list\">\n");
for(MD_EachNode(child, node->first_child))
@@ -491,19 +491,19 @@ GeneratePageContent(MD_Map *index_table, SiteInfo *site_info, PageInfo *page_inf
}
fprintf(file, "</ul>\n");
}
else if(MD_NodeHasTag(node, MD_S8Lit("img")))
else if(MD_NodeHasTag(node, MD_S8Lit("img"), 0))
{
MD_Node *src = MD_ChildFromIndex(node, 0);
MD_Node *alt = MD_ChildFromIndex(node, 1);
fprintf(file, "<div class=\"img_container\"><img class=\"img\" src=\"%.*s\"></img></div>\n", MD_StringExpand(src->string));
}
else if(MD_NodeHasTag(node, MD_S8Lit("youtube")))
else if(MD_NodeHasTag(node, MD_S8Lit("youtube"), 0))
{
MD_Node *id = MD_ChildFromIndex(node, 0);
fprintf(file, "<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/%.*s\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\n",
MD_StringExpand(id->string));
}
else if(MD_NodeHasTag(node, MD_S8Lit("lister")))
else if(MD_NodeHasTag(node, MD_S8Lit("lister"), 0))
{
static int lister_idx = 0;
fprintf(file, "<input autofocus id=\"lister_search_%i\" class=\"lister_search\" oninput=\"SearchInput(event, %i)\" onkeydown=\"SearchKeyDown(event, %i)\" placeholder=\"Filter...\"></input>", lister_idx, lister_idx, lister_idx);
+1 -1
View File
@@ -194,7 +194,7 @@ int main(int argument_count, char **arguments)
MD_Node *file = MD_Deref(file_ref);
for(MD_EachNode(top_level, file->first_child))
{
if(MD_NodeHasTag(top_level, MD_S8Lit("proc")))
if(MD_NodeHasTag(top_level, MD_S8Lit("proc"), 0))
{
InsertValueToNamespace(&global_ns_node, top_level->string, MakeValue_Procedure(top_level));
}