diff options
author | Ralph Amissah <ralph@amissah.com> | 2016-06-25 06:37:22 -0400 |
---|---|---|
committer | Ralph Amissah <ralph@amissah.com> | 2019-04-04 14:48:18 -0400 |
commit | f0c845eba3718fd0c732aebf25eb33e689798e03 (patch) | |
tree | c2ea36e199950647b1d3cce153691bb8f4fec378 /src/sdp.d | |
parent | step5.1 headers sdlang (like native headers) converted to json for common int... (diff) |
step6 headers (&config), native & sdlang to json internally
Diffstat (limited to 'src/sdp.d')
-rwxr-xr-x | src/sdp.d | 57 |
1 files changed, 13 insertions, 44 deletions
@@ -9,6 +9,8 @@ import ao_abstract_doc_source, // sdp/ao_abstract_doc_source.d ao_defaults, // sdp/ao_defaults.d ao_header_extract, // sdp/ao_header_extract.d + ao_header_extract_native, // sdp/ao_header_extract_native.d + ao_header_extract_sdlang, // sdp/ao_header_extract_sdlang.d ao_read_config_files, // sdp/ao_read_config_files.d ao_read_source_files, // sdp/ao_read_source_files.d ao_output_debugs, // sdp/ao_output_debugs.d @@ -18,9 +20,6 @@ import // std.conv; /+ sdlang http://sdlang.org +/ import sdlang; // sdlang.d - // sdlang.parser, // sdlang/parser.d - // sdlang.exceptions; // sdp/ao_ansi_colors.d - // // std.conv; /+ sdp sisu document parser +/ private import std.getopt, @@ -98,20 +97,18 @@ mixin CompileTimeInfo; mixin RgxInit; void main(string[] args) { - mixin SiSUheaderSkel; - mixin SiSUheaderExtractNative; - mixin SiSUheaderExtractSDLang; + mixin SiSUheaderRegister; + mixin SiSUheaderExtractHub; mixin SiSUbiblio; mixin SiSUrgxInitFlags; - mixin SiSUconfiguration; + mixin SiSUconfigSDLangHub; mixin SiSUmarkupRaw; mixin SiSUdocAbstraction; mixin SiSUoutputDebugs; mixin SiSUoutputHub; mixin ScreenTxtColors; auto raw = MarkupRaw(); - auto head_native = HeaderDocMetadataAndMakeNativeToJson(); - auto headsdl = HeaderExtractSDL(); + auto head = HeaderDocMetadataAndMake(); auto abs = Abstraction(); auto dbg = SDPoutputDebugs(); auto output = SDPoutput(); @@ -208,34 +205,9 @@ void main(string[] args) { arg_unrecognized ~= " " ~ arg; } } - auto conf = Config(); - auto configuration = conf.readInConfigFile(); - /+ sdlang config +/ - Tag sdl_root_conf; - try { - sdl_root_conf = parseSource(configuration); - } - catch(SDLangParseException e) { - stderr.writeln("SDLang problem with config.sdl content"); - // Error messages of the form: - // myFile.sdl(5:28): Error: Invalid integer suffix. - stderr.writeln(e.msg); - } - debug(sdlang) { - // Value is a std.variant.Algebraic - Value output_dir_structure_by = sdl_root_conf.tags["output_dir_structure_by"][0].values[0]; - assert(output_dir_structure_by.type == typeid(string)); - writeln(output_dir_structure_by); - - // Tag person = sdl_root_conf.namespaces["myNamespace"].tags["person"][0]; - // writeln("Name: ", person.attributes["name"][0].value); - // - // int age = person.tags["age"][0].values[0].get!int(); - // writeln("Age: ", age); - - writeln("config SDL:"); - writeln(sdl_root_conf.toSDLDocument()); - } + auto conf = ConfigHub(); + auto sdl_root_configuration = conf.configSDLang("conf.sdl"); + auto sdl_root_document_make = conf.configSDLang("sisu_document_make"); foreach(fn_src; fns_src) { // foreach(fn_src; fns_src) { if (!empty(fn_src)) { @@ -270,15 +242,12 @@ void main(string[] args) { writeln(header_and_content_tuple.length); writeln(sourcefile_content[0]); } - // Tuple!(JSONValue[string], JSONValue[string]) header_make_and_meta_tuple; - auto header_make_and_meta_tuple = (match(header, rgx.native_header_meta_title)) - ? (head_native.headerContentJSON(header)) - : (headsdl.headerSDLangToJSON(header)); + auto header_make_and_meta_tuple = head.headerContentJSON(header); static assert(!isTypeTuple!(header_make_and_meta_tuple)); JSONValue[string] dochead_make_json = header_make_and_meta_tuple[0]; JSONValue[string] dochead_meta_json = header_make_and_meta_tuple[1]; /+ ↓ process document, return abstraction as tuple +/ - auto t = abs.abstract_doc_source(sourcefile_content); + auto t = abs.abstract_doc_source(sourcefile_content, dochead_make_json, dochead_meta_json); static assert(!isTypeTuple!(t)); auto doc_ao_contents = t[0]; // contents ~ endnotes ~ bookindex; // static assert(!isIterable!(doc_ao_contents)); @@ -291,8 +260,8 @@ void main(string[] args) { doc_ao_contents, doc_ao_bookindex_unordered_hashes, doc_ao_biblio, - // doc_ao_make_json, - // doc_ao_metadata_json, + dochead_make_json, + dochead_meta_json, fn_src, opt_action_bool ); |