module sdp.meta.conf_make_meta_structs;
import
std.exception,
std.json,
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(string _mk) {
string[] _out;
if (_mk) {
_out = [ (cast(string) (`(` ~ _mk.dup ~ `)`)), "*{$1}*", "$1"];
}
return _out;
}
auto breaks(string _mk) {
return _mk;
}
auto cover_image(string _mk) {
return _mk;
}
auto css(string _mk) {
return _mk;
}
auto emphasis(string _mk) {
string[] _out;
if (_mk) {
_out = [ (cast(string) (`(` ~ _mk.dup ~ `)`)), "!{$1}!", "$1" ];
}
return _out;
}
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(string _mk) {
string[] _out;
if (_mk) {
_out = [ (cast(string) (`(` ~ _mk.dup ~ `)`)), "/{$1}/", "$1" ];
}
return _out;
}
auto num_top(string _mk) {
return _mk;
}
auto num_depth(string _mk) {
return _mk;
}
auto substitute(string[][] _mk) {
return _mk;
}
auto texpdf_font(string _mk) {
return _mk;
}
}
struct ConfCompositeMakeInit {
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 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 = `{
}`;