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 = `{
}`;