33#define VERSION_MAJOR 0
34#define VERSION_MINOR 0
35#define VERSION_PATCH 11
36#define VERSION "0.0.11"
39 #define WEBCAPI extern
44#define CLIB_IMPLEMENTATION
45#include "extern/clib.h"
106#define NO_ATTRIBUTES (AttributeList){0}
164 WEBC_UseModifier((Modifier) { .class = cls })
167 WEBC_UseModifier((Modifier) { .style= stl })
170 WEBC_UseModifier((Modifier) { .src= s })
173typedef void (*BlockContents)(
char** buffer);
225#define WEBC_OPENING_TAG(name) clib_format_text("<%s>", name)
226#define WEBC_CLOSING_TAG(name) clib_format_text("</%s>", name)
324#define META_AUTHOR_TAG(author) \
326 WEBC_MakeAttributeList( \
327 WEBC_MakeAttribute(ATTR_NAME, "author"), \
328 WEBC_MakeAttribute(ATTR_CONTENT, author), \
333#define META_DESCRIPTION_TAG(description) \
335 WEBC_MakeAttributeList( \
336 WEBC_MakeAttribute(ATTR_NAME, "description"), \
337 WEBC_MakeAttribute(ATTR_CONTENT, description), \
342#define META_KEYWORDS_TAG(keywords) \
344 WEBC_MakeAttributeList( \
345 WEBC_MakeAttribute(ATTR_NAME, "keywords"), \
346 WEBC_MakeAttribute(ATTR_CONTENT, keywords), \
351#define LINK_STYLESHEET_TAG(file) \
353 WEBC_MakeAttributeList( \
354 WEBC_MakeAttribute(ATTR_REL, "stylesheet"), \
355 WEBC_MakeAttribute(ATTR_HREF, file), \
360#define LINK_ICON_TAG(file) \
362 WEBC_MakeAttributeList( \
363 WEBC_MakeAttribute(ATTR_REL, "icon"), \
364 WEBC_MakeAttribute(ATTR_HREF, file), \
365 WEBC_MakeAttribute(ATTR_TYPE, "image/x-icon"), \
370#define BASE_TAG(prefix) \
372 WEBC_MakeAttributeList( \
373 WEBC_MakeAttribute(ATTR_HREF, prefix), \
402WEBCAPI
void WEBC_TagEnd(
char** buffer, Cstr tag_name);
403WEBCAPI
void WEBC_AbbrStart(
char** buffer,
AttributeList attributes);
404WEBCAPI
void WEBC_AbbrEnd(
char** buffer);
405WEBCAPI
void WEBC_AddressStart(
char** buffer,
AttributeList attributes);
406WEBCAPI
void WEBC_AddressEnd(
char** buffer);
407WEBCAPI
void WEBC_AnchorStart(
char** buffer,
AttributeList attributes);
408WEBCAPI
void WEBC_AnchorEnd(
char** buffer);
409WEBCAPI
void WEBC_BodyStart(
char** buffer,
AttributeList attributes);
410WEBCAPI
void WEBC_BodyEnd(
char** buffer);
411WEBCAPI
void WEBC_AreaStart(
char** buffer,
AttributeList attributes);
412WEBCAPI
void WEBC_AreaEnd(
char** buffer);
413WEBCAPI
void WEBC_ArticleStart(
char** buffer,
AttributeList attributes);
414WEBCAPI
void WEBC_ArticleEnd(
char** buffer);
415WEBCAPI
void WEBC_AsideStart(
char** buffer,
AttributeList attributes);
416WEBCAPI
void WEBC_AsideEnd(
char** buffer);
417WEBCAPI
void WEBC_AudioStart(
char** buffer,
AttributeList attributes);
418WEBCAPI
void WEBC_AudioEnd(
char** buffer);
419WEBCAPI
void WEBC_BStart(
char** buffer,
AttributeList attributes);
420WEBCAPI
void WEBC_BEnd(
char** buffer);
421WEBCAPI
void WEBC_BdiStart(
char** buffer,
AttributeList attributes);
422WEBCAPI
void WEBC_BdiEnd(
char** buffer);
423WEBCAPI
void WEBC_BdoStart(
char** buffer,
AttributeList attributes);
424WEBCAPI
void WEBC_BdoEnd(
char** buffer);
425WEBCAPI
void WEBC_BlockquoteStart(
char** buffer,
AttributeList attributes);
426WEBCAPI
void WEBC_BlockquoteEnd(
char** buffer);
427WEBCAPI
void WEBC_BoldStart(
char** buffer,
AttributeList attributes);
428WEBCAPI
void WEBC_BoldEnd(
char** buffer);
429WEBCAPI
void WEBC_BrStart(
char** buffer,
AttributeList attributes);
430WEBCAPI
void WEBC_BrEnd(
char** buffer);
431WEBCAPI
void WEBC_ButtonStart(
char** buffer,
AttributeList attributes);
432WEBCAPI
void WEBC_ButtonEnd(
char** buffer);
433WEBCAPI
void WEBC_CanvasStart(
char** buffer,
AttributeList attributes);
434WEBCAPI
void WEBC_CanvasEnd(
char** buffer);
435WEBCAPI
void WEBC_CaptionStart(
char** buffer,
AttributeList attributes);
436WEBCAPI
void WEBC_CaptionEnd(
char** buffer);
437WEBCAPI
void WEBC_CiteStart(
char** buffer,
AttributeList attributes);
438WEBCAPI
void WEBC_CiteEnd(
char** buffer);
439WEBCAPI
void WEBC_CodeStart(
char** buffer,
AttributeList attributes);
440WEBCAPI
void WEBC_CodeEnd(
char** buffer);
441WEBCAPI
void WEBC_ColStart(
char** buffer,
AttributeList attributes);
442WEBCAPI
void WEBC_ColEnd(
char** buffer);
443WEBCAPI
void WEBC_ColgroupStart(
char** buffer,
AttributeList attributes);
444WEBCAPI
void WEBC_ColgroupEnd(
char** buffer);
445WEBCAPI
void WEBC_DataStart(
char** buffer,
AttributeList attributes);
446WEBCAPI
void WEBC_DataEnd(
char** buffer);
447WEBCAPI
void WEBC_DatalistStart(
char** buffer,
AttributeList attributes);
448WEBCAPI
void WEBC_DatalistEnd(
char** buffer);
449WEBCAPI
void WEBC_DdStart(
char** buffer,
AttributeList attributes);
450WEBCAPI
void WEBC_DdEnd(
char** buffer);
451WEBCAPI
void WEBC_DelStart(
char** buffer,
AttributeList attributes);
452WEBCAPI
void WEBC_HtmlStart(
char**buffer, Cstr lang);
453WEBCAPI
void WEBC_HtmlEnd(
char**buffer);
454WEBCAPI
void WEBC_DelEnd(
char** buffer);
455WEBCAPI
void WEBC_DetailsStart(
char** buffer,
AttributeList attributes);
456WEBCAPI
void WEBC_DetailsEnd(
char** buffer);
457WEBCAPI
void WEBC_DfnStart(
char** buffer,
AttributeList attributes);
458WEBCAPI
void WEBC_DfnEnd(
char** buffer);
459WEBCAPI
void WEBC_DialogStart(
char** buffer,
AttributeList attributes);
460WEBCAPI
void WEBC_DialogEnd(
char** buffer);
461WEBCAPI
void WEBC_DivStart(
char** buffer,
AttributeList attributes);
462WEBCAPI
void WEBC_DivEnd(
char** buffer);
463WEBCAPI
void WEBC_DlStart(
char** buffer,
AttributeList attributes);
464WEBCAPI
void WEBC_DlEnd(
char** buffer);
465WEBCAPI
void WEBC_DtStart(
char** buffer,
AttributeList attributes);
466WEBCAPI
void WEBC_DtEnd(
char** buffer);
467WEBCAPI
void WEBC_EmStart(
char** buffer,
AttributeList attributes);
468WEBCAPI
void WEBC_EmEnd(
char** buffer);
469WEBCAPI
void WEBC_EmbedStart(
char** buffer,
AttributeList attributes);
470WEBCAPI
void WEBC_EmbedEnd(
char** buffer);
471WEBCAPI
void WEBC_FieldsetStart(
char** buffer,
AttributeList attributes);
472WEBCAPI
void WEBC_FieldsetEnd(
char** buffer);
473WEBCAPI
void WEBC_FigcaptionStart(
char** buffer,
AttributeList attributes);
474WEBCAPI
void WEBC_FigcaptionEnd(
char** buffer);
475WEBCAPI
void WEBC_FigureStart(
char** buffer,
AttributeList attributes);
476WEBCAPI
void WEBC_FigureEnd(
char** buffer);
477WEBCAPI
void WEBC_FooterStart(
char** buffer,
AttributeList attributes);
478WEBCAPI
void WEBC_FooterEnd(
char** buffer);
479WEBCAPI
void WEBC_FormStart(
char** buffer,
AttributeList attributes);
480WEBCAPI
void WEBC_FormEnd(
char** buffer);
481WEBCAPI
void WEBC_HeaderStart(
char** buffer,
AttributeList attributes);
482WEBCAPI
void WEBC_HeaderEnd(
char** buffer);
483WEBCAPI
void WEBC_HeadingStart(
char** buffer,
AttributeList attributes);
484WEBCAPI
void WEBC_HeadingEnd(
char** buffer);
485WEBCAPI
void WEBC_HgroupStart(
char** buffer,
AttributeList attributes);
486WEBCAPI
void WEBC_HgroupEnd(
char** buffer);
487WEBCAPI
void WEBC_HrStart(
char** buffer,
AttributeList attributes);
488WEBCAPI
void WEBC_HrEnd(
char** buffer);
489WEBCAPI
void WEBC_IStart(
char** buffer,
AttributeList attributes);
490WEBCAPI
void WEBC_IEnd(
char** buffer);
491WEBCAPI
void WEBC_IframeStart(
char** buffer,
AttributeList attributes);
492WEBCAPI
void WEBC_IframeEnd(
char** buffer);
493WEBCAPI
void WEBC_ImgStart(
char** buffer,
AttributeList attributes);
494WEBCAPI
void WEBC_ImgEnd(
char** buffer);
495WEBCAPI
void WEBC_InputStart(
char** buffer,
AttributeList attributes);
496WEBCAPI
void WEBC_InputEnd(
char** buffer);
497WEBCAPI
void WEBC_InsStart(
char** buffer,
AttributeList attributes);
498WEBCAPI
void WEBC_InsEnd(
char** buffer);
499WEBCAPI
void WEBC_KbdStart(
char** buffer,
AttributeList attributes);
500WEBCAPI
void WEBC_KbdEnd(
char** buffer);
501WEBCAPI
void WEBC_LabelStart(
char** buffer,
AttributeList attributes);
502WEBCAPI
void WEBC_LabelEnd(
char** buffer);
503WEBCAPI
void WEBC_LegendStart(
char** buffer,
AttributeList attributes);
504WEBCAPI
void WEBC_LegendEnd(
char** buffer);
505WEBCAPI
void WEBC_LiStart(
char** buffer,
AttributeList attributes);
506WEBCAPI
void WEBC_LiEnd(
char** buffer);
507WEBCAPI
void WEBC_LinkStart(
char** buffer,
AttributeList attributes);
508WEBCAPI
void WEBC_LinkEnd(
char** buffer);
509WEBCAPI
void WEBC_MainStart(
char** buffer,
AttributeList attributes);
510WEBCAPI
void WEBC_MainEnd(
char** buffer);
511WEBCAPI
void WEBC_MapStart(
char** buffer,
AttributeList attributes);
512WEBCAPI
void WEBC_MapEnd(
char** buffer);
513WEBCAPI
void WEBC_MarkStart(
char** buffer,
AttributeList attributes);
514WEBCAPI
void WEBC_MarkEnd(
char** buffer);
515WEBCAPI
void WEBC_MenuStart(
char** buffer,
AttributeList attributes);
516WEBCAPI
void WEBC_MenuEnd(
char** buffer);
517WEBCAPI
void WEBC_MeterStart(
char** buffer,
AttributeList attributes);
518WEBCAPI
void WEBC_MeterEnd(
char** buffer);
519WEBCAPI
void WEBC_NavStart(
char** buffer,
AttributeList attributes);
520WEBCAPI
void WEBC_NavEnd(
char** buffer);
521WEBCAPI
void WEBC_NoscriptStart(
char** buffer,
AttributeList attributes);
522WEBCAPI
void WEBC_NoscriptEnd(
char** buffer);
523WEBCAPI
void WEBC_ObjectStart(
char** buffer,
AttributeList attributes);
524WEBCAPI
void WEBC_ObjectEnd(
char** buffer);
525WEBCAPI
void WEBC_OlStart(
char** buffer,
AttributeList attributes);
526WEBCAPI
void WEBC_OlEnd(
char** buffer);
527WEBCAPI
void WEBC_OptgroupStart(
char** buffer,
AttributeList attributes);
528WEBCAPI
void WEBC_OptgroupEnd(
char** buffer);
529WEBCAPI
void WEBC_OptionStart(
char** buffer,
AttributeList attributes);
530WEBCAPI
void WEBC_OptionEnd(
char** buffer);
531WEBCAPI
void WEBC_OutputStart(
char** buffer,
AttributeList attributes);
532WEBCAPI
void WEBC_OutputEnd(
char** buffer);
533WEBCAPI
void WEBC_ParagraphStart(
char** buffer,
AttributeList attributes);
534WEBCAPI
void WEBC_ParagraphEnd(
char** buffer);
535WEBCAPI
void WEBC_ParamStart(
char** buffer,
AttributeList attributes);
536WEBCAPI
void WEBC_ParamEnd(
char** buffer);
537WEBCAPI
void WEBC_PictureStart(
char** buffer,
AttributeList attributes);
538WEBCAPI
void WEBC_PictureEnd(
char** buffer);
539WEBCAPI
void WEBC_PreStart(
char** buffer,
AttributeList attributes);
540WEBCAPI
void WEBC_PreEnd(
char** buffer);
541WEBCAPI
void WEBC_ProgressStart(
char** buffer,
AttributeList attributes);
542WEBCAPI
void WEBC_ProgressEnd(
char** buffer);
543WEBCAPI
void WEBC_QStart(
char** buffer,
AttributeList attributes);
544WEBCAPI
void WEBC_QEnd(
char** buffer);
545WEBCAPI
void WEBC_RpStart(
char** buffer,
AttributeList attributes);
546WEBCAPI
void WEBC_RpEnd(
char** buffer);
547WEBCAPI
void WEBC_RtStart(
char** buffer,
AttributeList attributes);
548WEBCAPI
void WEBC_RtEnd(
char** buffer);
549WEBCAPI
void WEBC_RubyStart(
char** buffer,
AttributeList attributes);
550WEBCAPI
void WEBC_RubyEnd(
char** buffer);
551WEBCAPI
void WEBC_SStart(
char** buffer,
AttributeList attributes);
552WEBCAPI
void WEBC_SEnd(
char** buffer);
553WEBCAPI
void WEBC_SampStart(
char** buffer,
AttributeList attributes);
554WEBCAPI
void WEBC_SampEnd(
char** buffer);
555WEBCAPI
void WEBC_ScriptStart(
char** buffer,
AttributeList attributes);
556WEBCAPI
void WEBC_ScriptEnd(
char** buffer);
557WEBCAPI
void WEBC_SearchStart(
char** buffer,
AttributeList attributes);
558WEBCAPI
void WEBC_SearchEnd(
char** buffer);
559WEBCAPI
void WEBC_SectionStart(
char** buffer,
AttributeList attributes);
560WEBCAPI
void WEBC_SectionEnd(
char** buffer);
561WEBCAPI
void WEBC_SelectStart(
char** buffer,
AttributeList attributes);
562WEBCAPI
void WEBC_SelectEnd(
char** buffer);
563WEBCAPI
void WEBC_SmallStart(
char** buffer,
AttributeList attributes);
564WEBCAPI
void WEBC_SmallEnd(
char** buffer);
565WEBCAPI
void WEBC_SourceStart(
char** buffer,
AttributeList attributes);
566WEBCAPI
void WEBC_SourceEnd(
char** buffer);
567WEBCAPI
void WEBC_SpanStart(
char** buffer,
AttributeList attributes);
568WEBCAPI
void WEBC_SpanEnd(
char** buffer);
569WEBCAPI
void WEBC_StrongStart(
char** buffer,
AttributeList attributes);
570WEBCAPI
void WEBC_StrongEnd(
char** buffer);
571WEBCAPI
void WEBC_StyleStart(
char** buffer,
AttributeList attributes);
572WEBCAPI
void WEBC_StyleEnd(
char** buffer);
573WEBCAPI
void WEBC_SubStart(
char** buffer,
AttributeList attributes);
574WEBCAPI
void WEBC_SubEnd(
char** buffer);
575WEBCAPI
void WEBC_SummaryStart(
char** buffer,
AttributeList attributes);
576WEBCAPI
void WEBC_SummaryEnd(
char** buffer);
577WEBCAPI
void WEBC_SupStart(
char** buffer,
AttributeList attributes);
578WEBCAPI
void WEBC_SupEnd(
char** buffer);
579WEBCAPI
void WEBC_SvgStart(
char** buffer,
AttributeList attributes);
580WEBCAPI
void WEBC_SvgEnd(
char** buffer);
581WEBCAPI
void WEBC_TableStart(
char** buffer,
AttributeList attributes);
582WEBCAPI
void WEBC_TableEnd(
char** buffer);
583WEBCAPI
void WEBC_TbodyStart(
char** buffer,
AttributeList attributes);
584WEBCAPI
void WEBC_TbodyEnd(
char** buffer);
585WEBCAPI
void WEBC_TdStart(
char** buffer,
AttributeList attributes);
586WEBCAPI
void WEBC_TdEnd(
char** buffer);
587WEBCAPI
void WEBC_TemplateStart(
char** buffer,
AttributeList attributes);
588WEBCAPI
void WEBC_TemplateEnd(
char** buffer);
589WEBCAPI
void WEBC_TextareaStart(
char** buffer,
AttributeList attributes);
590WEBCAPI
void WEBC_TextareaEnd(
char** buffer);
591WEBCAPI
void WEBC_TfootStart(
char** buffer,
AttributeList attributes);
592WEBCAPI
void WEBC_TfootEnd(
char** buffer);
593WEBCAPI
void WEBC_ThStart(
char** buffer,
AttributeList attributes);
594WEBCAPI
void WEBC_ThEnd(
char** buffer);
595WEBCAPI
void WEBC_TheadStart(
char** buffer,
AttributeList attributes);
596WEBCAPI
void WEBC_TheadEnd(
char** buffer);
597WEBCAPI
void WEBC_TimeStart(
char** buffer,
AttributeList attributes);
598WEBCAPI
void WEBC_TimeEnd(
char** buffer);
599WEBCAPI
void WEBC_TrStart(
char** buffer,
AttributeList attributes);
600WEBCAPI
void WEBC_TrEnd(
char** buffer);
601WEBCAPI
void WEBC_TrackStart(
char** buffer,
AttributeList attributes);
602WEBCAPI
void WEBC_TrackEnd(
char** buffer);
603WEBCAPI
void WEBC_UStart(
char** buffer,
AttributeList attributes);
604WEBCAPI
void WEBC_UEnd(
char** buffer);
605WEBCAPI
void WEBC_UlStart(
char** buffer,
AttributeList attributes);
606WEBCAPI
void WEBC_UlEnd(
char** buffer);
607WEBCAPI
void WEBC_VarStart(
char** buffer,
AttributeList attributes);
608WEBCAPI
void WEBC_VarEnd(
char** buffer);
609WEBCAPI
void WEBC_VideoStart(
char** buffer,
AttributeList attributes);
610WEBCAPI
void WEBC_VideoEnd(
char** buffer);
611WEBCAPI
void WEBC_WbrStart(
char** buffer,
AttributeList attributes);
612WEBCAPI
void WEBC_WbrEnd(
char** buffer);
618WEBCAPI
void WEBC_Block(
char** buffer,
Tag* tag, BlockContents contents);
619WEBCAPI
void WEBC_BlockAttr(
char** buffer, Cstr name,
AttributeList attributes, BlockContents contents);
620WEBCAPI
void WEBC_InlineBlock(
char** buffer, Cstr name,
AttributeList attributes, Cstr text);
628WEBCAPI
void WEBC_Abbr(
char** buffer,
AttributeList attributes, Cstr text);
629WEBCAPI
void WEBC_Address(
char** buffer,
AttributeList attributes, BlockContents contents);
630WEBCAPI
void WEBC_Anchor(
char** buffer,
AttributeList attributes, Cstr text);
631WEBCAPI
void WEBC_AnchorBlock(
char** buffer,
AttributeList attributes, BlockContents contents);
632WEBCAPI
void WEBC_Area(
char** buffer,
AttributeList attributes, BlockContents contents);
633WEBCAPI
void WEBC_Article(
char** buffer,
AttributeList attributes, BlockContents contents);
634WEBCAPI
void WEBC_Aside(
char** buffer,
AttributeList attributes, BlockContents contents);
635WEBCAPI
void WEBC_Audio(
char** buffer,
AttributeList attributes, BlockContents contents);
636WEBCAPI
void WEBC_B(
char** buffer,
AttributeList attributes, Cstr text);
637WEBCAPI
void WEBC_Bdi(
char** buffer,
AttributeList attributes, Cstr text);
638WEBCAPI
void WEBC_Bdo(
char** buffer,
AttributeList attributes, Cstr text);
639WEBCAPI
void WEBC_Blockquote(
char** buffer,
AttributeList attributes, Cstr text);
640WEBCAPI
void WEBC_Bold(
char** buffer,
AttributeList attributes, Cstr text);
641WEBCAPI
void WEBC_Br(
char** buffer);
642WEBCAPI
void WEBC_Button(
char** buffer,
AttributeList attributes, Cstr text);
643WEBCAPI
void WEBC_ButtonBlock(
char** buffer,
AttributeList attributes, BlockContents contents);
644WEBCAPI
void WEBC_Canvas(
char** buffer,
AttributeList attributes, BlockContents contents);
645WEBCAPI
void WEBC_Caption(
char** buffer,
AttributeList attributes, Cstr text);
646WEBCAPI
void WEBC_Cite(
char** buffer,
AttributeList attributes, Cstr text);
647WEBCAPI
void WEBC_Code(
char** buffer,
AttributeList attributes, Cstr text);
648WEBCAPI
void WEBC_Col(
char** buffer,
AttributeList attributes, BlockContents contents);
649WEBCAPI
void WEBC_Colgroup(
char** buffer,
AttributeList attributes, BlockContents contents);
650WEBCAPI
void WEBC_Data(
char** buffer,
AttributeList attributes, BlockContents contents);
651WEBCAPI
void WEBC_Datalist(
char** buffer,
AttributeList attributes, BlockContents contents);
652WEBCAPI
void WEBC_Dd(
char** buffer,
AttributeList attributes, Cstr text);
653WEBCAPI
void WEBC_Del(
char** buffer,
AttributeList attributes, Cstr text);
654WEBCAPI
void WEBC_Del(
char** buffer,
AttributeList attributes, Cstr text);
655WEBCAPI
void WEBC_Details(
char** buffer,
AttributeList attributes, BlockContents contents);
656WEBCAPI
void WEBC_Dfn(
char** buffer,
AttributeList attributes, Cstr text);
657WEBCAPI
void WEBC_Dialog(
char** buffer,
AttributeList attributes, BlockContents contents);
658WEBCAPI
void WEBC_Div(
char** buffer,
AttributeList attributes, BlockContents contents);
659WEBCAPI
void WEBC_Dl(
char** buffer,
AttributeList attributes, BlockContents contents);
660WEBCAPI
void WEBC_Dt(
char** buffer,
AttributeList attributes, Cstr text);
661WEBCAPI
void WEBC_Em(
char** buffer,
AttributeList attributes, Cstr text);
662WEBCAPI
void WEBC_Embed(
char** buffer,
AttributeList attributes, BlockContents contents);
663WEBCAPI
void WEBC_Fieldset(
char** buffer,
AttributeList attributes, BlockContents contents);
664WEBCAPI
void WEBC_Figcaption(
char** buffer,
AttributeList attributes, Cstr text);
665WEBCAPI
void WEBC_Figure(
char** buffer,
AttributeList attributes, BlockContents contents);
666WEBCAPI
void WEBC_Footer(
char** buffer,
AttributeList attributes, BlockContents contents);
667WEBCAPI
void WEBC_Form (
char** buffer,
AttributeList attributes, BlockContents contents);
668WEBCAPI
void WEBC_Header(
char** buffer,
AttributeList attributes, BlockContents contents);
669WEBCAPI
void WEBC_Heading(
char** buffer,
AttributeList attributes,
size_t size, Cstr text);
670WEBCAPI
void WEBC_Hgroup(
char** buffer,
AttributeList attributes, BlockContents contents);
671WEBCAPI
void WEBC_Hr(
char** buffer);
672WEBCAPI
void WEBC_I(
char** buffer,
AttributeList attributes, Cstr text);
673WEBCAPI
void WEBC_Iframe(
char** buffer,
AttributeList attributes, BlockContents contents);
674WEBCAPI
void WEBC_Img(
char** buffer,
AttributeList attributes);
675WEBCAPI
void WEBC_Input(
char** buffer,
AttributeList attributes);
676WEBCAPI
void WEBC_Ins(
char** buffer,
AttributeList attributes, Cstr text);
677WEBCAPI
void WEBC_Kbd(
char** buffer,
AttributeList attributes, Cstr text);
678WEBCAPI
void WEBC_Label(
char** buffer,
AttributeList attributes, Cstr text);
679WEBCAPI
void WEBC_Legend(
char** buffer,
AttributeList attributes, Cstr text);
680WEBCAPI
void WEBC_Li(
char** buffer,
AttributeList attributes, Cstr text);
681WEBCAPI
void WEBC_LiBlock(
char** buffer,
AttributeList attributes, BlockContents contents);
682WEBCAPI
void WEBC_Link(
char** buffer,
AttributeList attributes);
683WEBCAPI
void WEBC_Main(
char** buffer,
AttributeList attributes, BlockContents contents);
684WEBCAPI
void WEBC_Map(
char** buffer,
AttributeList attributes, BlockContents contents);
685WEBCAPI
void WEBC_Mark(
char** buffer,
AttributeList attributes, Cstr text);
686WEBCAPI
void WEBC_Menu(
char** buffer,
AttributeList attributes, BlockContents contents);
687WEBCAPI
void WEBC_Meter(
char** buffer,
AttributeList attributes, Cstr text);
688WEBCAPI
void WEBC_Nav(
char** buffer,
AttributeList attributes, BlockContents contents);
689WEBCAPI
void WEBC_Noscript(
char** buffer,
AttributeList attributes, BlockContents contents);
690WEBCAPI
void WEBC_Object(
char** buffer,
AttributeList attributes, BlockContents contents);
691WEBCAPI
void WEBC_Ol(
char** buffer,
AttributeList attributes, BlockContents contents);
692WEBCAPI
void WEBC_Optgroup(
char** buffer,
AttributeList attributes, BlockContents contents);
693WEBCAPI
void WEBC_Option(
char** buffer,
AttributeList attributes, Cstr text);
694WEBCAPI
void WEBC_Output(
char** buffer,
AttributeList attributes, Cstr text);
695WEBCAPI
void WEBC_Paragraph(
char** buffer,
AttributeList attributes, Cstr text);
696WEBCAPI
void WEBC_ParagraphBlock(
char** buffer,
AttributeList attributes, BlockContents contents);
697WEBCAPI
void WEBC_Param(
char** buffer,
AttributeList attributes, Cstr text);
698WEBCAPI
void WEBC_Picture(
char** buffer,
AttributeList attributes, BlockContents contents);
699WEBCAPI
void WEBC_Pre(
char** buffer,
AttributeList attributes, Cstr text);
700WEBCAPI
void WEBC_Progress(
char** buffer,
AttributeList attributes, Cstr text);
701WEBCAPI
void WEBC_Q(
char** buffer,
AttributeList attributes, Cstr text);
702WEBCAPI
void WEBC_Rp(
char** buffer,
AttributeList attributes, Cstr text);
703WEBCAPI
void WEBC_Rt(
char** buffer,
AttributeList attributes, Cstr text);
704WEBCAPI
void WEBC_Ruby(
char** buffer,
AttributeList attributes, BlockContents contents);
705WEBCAPI
void WEBC_S(
char** buffer,
AttributeList attributes, Cstr text);
706WEBCAPI
void WEBC_Samp(
char** buffer,
AttributeList attributes, Cstr text);
707WEBCAPI
void WEBC_Script(
char**buffer,
AttributeList attributes, BlockContents contents);
708WEBCAPI
void WEBC_Search(
char** buffer,
AttributeList attributes, BlockContents contents);
709WEBCAPI
void WEBC_Section(
char** buffer,
AttributeList attributes, BlockContents contents);
710WEBCAPI
void WEBC_Select(
char** buffer,
AttributeList attributes, BlockContents contents);
711WEBCAPI
void WEBC_Small(
char** buffer,
AttributeList attributes, Cstr text);
712WEBCAPI
void WEBC_Source(
char** buffer,
AttributeList attributes);
713WEBCAPI
void WEBC_Span(
char** buffer,
AttributeList attributes, Cstr text);
714WEBCAPI
void WEBC_Strong(
char** buffer,
AttributeList attributes, Cstr text);
715WEBCAPI
void WEBC_Style(
char**buffer,
AttributeList attributes, BlockContents contents);
716WEBCAPI
void WEBC_Sub(
char** buffer,
AttributeList attributes, Cstr text);
717WEBCAPI
void WEBC_Summary(
char** buffer,
AttributeList attributes, Cstr text);
718WEBCAPI
void WEBC_Sup(
char** buffer,
AttributeList attributes, Cstr text);
719WEBCAPI
void WEBC_Svg(
char** buffer,
AttributeList attributes, BlockContents contents);
720WEBCAPI
void WEBC_Table(
char** buffer,
AttributeList attributes, BlockContents contents);
721WEBCAPI
void WEBC_Tbody(
char** buffer,
AttributeList attributes, BlockContents contents);
722WEBCAPI
void WEBC_Td(
char** buffer,
AttributeList attributes, Cstr text);
723WEBCAPI
void WEBC_Template(
char** buffer,
AttributeList attributes, BlockContents contents);
724WEBCAPI
void WEBC_Textarea(
char** buffer,
AttributeList attributes, BlockContents contents);
725WEBCAPI
void WEBC_Tfoot(
char** buffer,
AttributeList attributes, BlockContents contents);
726WEBCAPI
void WEBC_Th(
char** buffer,
AttributeList attributes, Cstr text);
727WEBCAPI
void WEBC_Thead(
char** buffer,
AttributeList attributes, BlockContents contents);
728WEBCAPI
void WEBC_Time(
char** buffer,
AttributeList attributes, Cstr text);
729WEBCAPI
void WEBC_Tr(
char** buffer,
AttributeList attributes, BlockContents contents);
730WEBCAPI
void WEBC_Track(
char** buffer,
AttributeList attributes);
731WEBCAPI
void WEBC_U(
char** buffer,
AttributeList attributes, Cstr text);
732WEBCAPI
void WEBC_Ul(
char** buffer,
AttributeList attributes, BlockContents contents);
733WEBCAPI
void WEBC_Var(
char** buffer,
AttributeList attributes, Cstr text);
734WEBCAPI
void WEBC_Video(
char** buffer,
AttributeList attributes, BlockContents contents);
735WEBCAPI
void WEBC_Wbr(
char** buffer,
AttributeList attributes, Cstr text);
741#define WEBC_PlainText(buffer, text) \
742 WEBC_AppendLn(buffer, text)
743#define WEBC_Javascript(buffer, text) \
744 WEBC_PlainText(buffer, text)
745#define WEBC_Comment(buffer, text) \
747 char* comment = clib_format_text("<!--%s-->\n", text); \
748 WEBC_AppendLn(buffer, comment); \
751#define WEBC_LogComment(buffer, tag, text) \
753 char* comment = clib_format_text("<!--[%s] %s-->\n", tag, text); \
754 WEBC_AppendLn(buffer, comment); \
757#define WEBC_InfoComment(buffer, text) \
758 WEBC_LogComment(buffer, "INFO", text);
759#define WEBC_TipComment(buffer, text) \
760 WEBC_LogComment(buffer, "TIP", text);
761#define WEBC_TodoComment(buffer, text) \
762 WEBC_LogComment(buffer, "TODO", text);
769#define WEBC_H1(buffer, attr, text) \
770 WEBC_Heading(buffer, attr, 1, text);
771#define WEBC_H2(buffer, attr, text) \
772 WEBC_Heading(buffer, attr, 2, text);
773#define WEBC_H3(buffer, attr, text) \
774 WEBC_Heading(buffer, attr, 3, text);
775#define WEBC_H4(buffer, attr, text) \
776 WEBC_Heading(buffer, attr, 4, text);
777#define WEBC_H5(buffer, attr, text) \
778 WEBC_Heading(buffer, attr, 5, text);
779#define WEBC_H6(buffer, attr, text) \
780 WEBC_Heading(buffer, attr, 6, text);
Definition webc-core.h:108
Definition webc-core.h:101
Definition webc-core.h:131
Definition webc-core.h:118
Definition webc-core.h:113
WEBCAPI void WEBC_AppendLn(char **buffer, Cstr text)
WEBCAPI void WEBC_CleanTag(Tag **tag)
WEBCAPI char * WEBC_BufferInit()
WEBCAPI void WEBC_Clean(char **buffer)
WEBCAPI Tag * WEBC_MakeTag(Cstr name, AttributeList attributes)
WEBCAPI Attribute * WEBC_MakeAttribute(AttributeName name, Cstr value)
WEBCAPI Cstr WEBC_TagToString(Tag *tag)
WEBCAPI AttributeList WEBC_UseModifier(Modifier modifier)
WEBCAPI void WEBC_Head(char **buffer, Cstr title, Tag *first,...)
WEBCAPI AttributeList WEBC_MakeAttributeList(Attribute *first,...)
WEBCAPI void WEBC_CleanAttributeList(AttributeList list)
WEBCAPI Cstr WEBC_ClosingTag(Tag *tag)
WEBCAPI void WEBC_Append(char **buffer, Cstr text)
WEBCAPI Tag * WEBC_MakeTagAttr(Cstr name, Attribute *first,...)
WEBCAPI Cstr WEBC_AttributeNameToString(AttributeName attr)
WEBCAPI void WEBC_IntegrateFile(char **buffer, Cstr path)
WEBCAPI void WEBC_TagStart(char **buffer, Cstr tag_name, AttributeList attributes)