/++ extract native/orig header return associative array
the header is passed as text (lopped off top of a sisu markup file until the required first heading ^A~), determine whether is a native header or sdlang one with a regex check if whether it contains the "native header" required tag/field @title: then process accordingly as a "native header" or "sdlang header" converting the metadata and make instructions to a common json format used by program internally. Moved to associative array. +/ module sdp.meta.conf_make_meta; static template docHeaderMakeAndMetaTupExtractAndConvertToStruct() { import std.exception, std.regex, std.stdio, std.traits, std.typecons, std.utf, std.conv : to; import sdlang; import sdp.meta.conf_make_meta_sdlang, sdp.meta.rgx; mixin SiSUrgxInit; mixin SiSUextractSDLang; static auto rgx = Rgx(); auto docHeaderMakeAndMetaTupExtractAndConvertToStruct(CCm, Src)( CCm conf_composite_make, Src header_src, ) { auto header_sdlang_tag = (!(header_src.match(rgx.native_header_meta_title))) ? extractSDL().docHeaderSDLtagGet(header_src) // sdlang.ast.Tag : null; auto header_make_and_meta_struct = extractSDL().docSDLtoStruct(conf_composite_make, header_sdlang_tag); return header_make_and_meta_struct; } }