From 1c73ddf3894085c646b55d63e61a2483e03a3b4d Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Fri, 9 Feb 2018 22:03:10 -0500 Subject: 0.24.0 toml or sdlang for configuration --- src/sdp/meta/conf_make_meta_structs.d | 305 ++++++++++++++++++++++++++++++++++ 1 file changed, 305 insertions(+) create mode 100644 src/sdp/meta/conf_make_meta_structs.d (limited to 'src/sdp/meta/conf_make_meta_structs.d') diff --git a/src/sdp/meta/conf_make_meta_structs.d b/src/sdp/meta/conf_make_meta_structs.d new file mode 100644 index 0000000..211d2c0 --- /dev/null +++ b/src/sdp/meta/conf_make_meta_structs.d @@ -0,0 +1,305 @@ +module sdp.meta.conf_make_meta_structs; +import + std.exception, + std.regex, + std.stdio, + std.string, + std.traits, + std.typecons, + std.utf, + std.conv : to; +struct ConfCompositeMakeStr { + string bold = ""; + string breaks = ""; + string cover_image = ""; + string css = ""; + string emphasis = ""; + string footer = ""; + string headings = ""; + string home_button_image = ""; + string home_button_text = ""; + string italics = ""; + string num_top = ""; + string num_depth = ""; + string substitute = ""; + string texpdf_font = ""; +} +struct confCompositeMakeBuild { + auto bold_rgxmatch(string _mk) { + auto _rgxtxt = (_mk.empty) + ? `=NULL` + : `(` ~ _mk.dup ~ `)`; + return (cast(char[]) (_rgxtxt)); + } + auto bold_substitute_abstract() { + return "$1"; + } + auto bold_substitute_html() { + return "$1"; + } + auto breaks(string _mk) { + return _mk; + } + auto cover_image(string _mk) { + return _mk; + } + auto css(string _mk) { + return _mk; + } + auto emphasis_rgxmatch(string _mk) { + auto _rgxtxt = (_mk.empty) + ? `=NULL` + : `(` ~ _mk.dup ~ `)`; + return (cast(char[]) (_rgxtxt)); + } + auto emphasis_substitute_abstract() { + return "$1"; + } + auto emphasis_substitute_html() { + return "$1"; + } + auto footer(string _mk) { + return _mk; + } + auto headings(string _mk) { + return _mk; + } + auto home_button_image(string _mk) { + return _mk; + } + auto home_button_text(string _mk) { + return _mk; + } + auto italics_rgxmatch(string _mk) { + auto _rgxtxt = (_mk.empty) + ? `=NULL` + : `(` ~ _mk.dup ~ `)`; + return (cast(char[]) (_rgxtxt)); + } + auto italics_substitute_abstract() { + return "$1"; + } + auto italics_substitute_html() { + return "$1"; + } + auto num_top(string _mk) { + return _mk; + } + auto num_depth(string _mk) { + return _mk; + } + auto substitute(string _mk) { // TODO this is different from others + return regex(_mk); + } + auto texpdf_font(string _mk) { + return _mk; + } +} +struct ConfCompositeMakeInit { + char[] bold_rgxmatch = `=NULL`.dup; + auto bold_substitute_abstract = "$1"; + auto bold_substitute_html = "$1"; + string breaks = ""; + string cover_image = ""; + string css = ""; + char[] emphasis_rgxmatch = `=NULL`.dup; + auto emphasis_substitute_abstract = "$1"; + auto emphasis_substitute_html = "$1"; + string footer = ""; + string headings = ""; + string home_button_image = ""; + string home_button_text = ""; + char[] italics_rgxmatch = `=NULL`.dup; + auto italics_substitute_abstract = "$1"; + auto italics_substitute_html = "$1"; + string num_top = ""; + string num_depth = ""; + auto substitute = regex(""); // TODO + string texpdf_font = ""; +} +struct ConfCompositeSiteLocal { + string webserv_url_root = ""; + string webserv_path = ""; + string webserv_images = ""; + string webserv_cgi = ""; + string webserv_cgi_host = ""; + string webserv_cgi_host_path = ""; + string webserv_cgi_port = ""; + string webserv_cgi_user = ""; + string webserv_cgi_file_links = ""; + string processing_path = ""; + string processing_dir = ""; + string processing_concord_max = ""; + string flag_act0 = ""; + string flag_act1 = ""; + string flag_act2 = ""; + string flag_act3 = ""; + string flag_act4 = ""; + string flag_act5 = ""; + string flag_act6 = ""; + string flag_act7 = ""; + string flag_act8 = ""; + string flag_act9 = ""; + string default_papersize = ""; + string default_text_wrap = ""; + string default_emphasis = ""; + string default_language = ""; + string default_digest = ""; + string permission_share_source = ""; + string search_flag = ""; + string search_action = ""; + string search_db = ""; + string search_title = ""; +} +struct MetaComposite { + string classify_dewey = ""; + string classify_keywords = ""; + string classify_loc = ""; + string classify_subject = ""; + string classify_topic_register = ""; + string creator_author = ""; + string creator_author_email = ""; + string creator_illustrator = ""; + string creator_translator = ""; + string date_added_to_site = ""; + string date_available = ""; + string date_created = ""; + string date_issued = ""; + string date_modified = ""; + string date_published = ""; + string date_valid = ""; + string identifier_isbn = ""; + string identifier_oclc = ""; + string identifier_pg = ""; + string language_document = ""; + string language_document_char = ""; + string links = ""; + string notes_abstract = ""; + string notes_description = ""; + string original_language = ""; + string original_language_char = ""; + string original_publisher = ""; + string original_source = ""; + string original_title = ""; + string publisher = ""; + string rights_copyright = ""; + string rights_copyright_audio = ""; + string rights_copyright_cover = ""; + string rights_copyright_illustrations = ""; + string rights_copyright_photographs = ""; + string rights_copyright_text = ""; + string rights_copyright_translation = ""; + string rights_copyright_video = ""; + string rights_license = ""; + string title_edition = ""; + string title_full = ""; + string title_language = ""; + string title_main = ""; + string title_note = ""; + string title_short = ""; + string title_sub = ""; + string title_subtitle = ""; +} +struct ConfComposite { + MetaComposite meta; + ConfCompositeMakeInit make; + ConfCompositeSiteLocal conf; +} +struct ConfCompositePlus { + MetaComposite meta; + ConfCompositeMakeInit make; + ConfCompositeMakeStr make_str; + ConfCompositeSiteLocal conf; +} +static auto ptr_head_main + = [ + "classify", + "creator", + "date", + "identifier", + "links", + "make", + "original", + "notes", + "rights", + "title" + ]; +static auto ptr_head_sub_classify + = [ + "dewey", + "keywords", + "loc", + "subject", + "topic_register" + ]; +static auto ptr_head_sub_creator + = [ + "author", + "author_email", + "cover", + "illustrator", + "translator" + ]; +static auto ptr_head_sub_date + = [ + "added_to_site", + "available", + "created", + "issued", + "modified", + "published", + "valid" + ]; +static auto ptr_head_sub_identifier + = [ + "isbn", + "oclc", + "pg" + ]; +/+ make +/ +static auto ptr_head_sub_make + = [ + "cover_image", + "home_button_image", + "home_button_text", + "footer", "headings", + "num_top", "num_depth", + "breaks", + "substitute", + "bold", + "italics", + "emphasis", + "texpdf_font", + "css" + ]; +static auto ptr_head_sub_notes + = [ + "abstract", + "description" + ]; +static auto ptr_head_sub_original + = [ + "language", + "source", + "title" + ]; +static auto ptr_head_sub_publisher + = [ "name" ]; +static auto ptr_head_sub_rights + = [ + "copyright", + "cover", + "illustrations", + "license" + ]; +static auto ptr_head_sub_title + = [ + "edition", + "full", + "language", + "main", + "note", + "sub" + ]; +auto config_jsonstr = `{ +}`; -- cgit v1.2.3