aboutsummaryrefslogtreecommitdiffhomepage
path: root/org/out_cgi_search_sqlite.org
diff options
context:
space:
mode:
Diffstat (limited to 'org/out_cgi_search_sqlite.org')
-rw-r--r--org/out_cgi_search_sqlite.org116
1 files changed, 75 insertions, 41 deletions
diff --git a/org/out_cgi_search_sqlite.org b/org/out_cgi_search_sqlite.org
index 3145870..852b93f 100644
--- a/org/out_cgi_search_sqlite.org
+++ b/org/out_cgi_search_sqlite.org
@@ -115,9 +115,32 @@ void cgi_function_intro(Cgi cgi) {
mixin GenericMain!cgi_function_intro;
≓",
_sqlite_db_fn,
+ (opt_action.css_theme_default) ? "FFFFFF" : "000000",
+ (opt_action.css_theme_default) ? "000000" : "CCCCCC",
+ (opt_action.css_theme_default) ? "FFFFFF" : "000000",
+ (opt_action.css_theme_default) ? "FFFFFF" : "000000",
+ (opt_action.css_theme_default) ? "003399" : "FFFFFF",
+ (opt_action.css_theme_default) ? "003399" : "999999",
+ "000000",
+ (opt_action.css_theme_default) ? "F9F9AA" : "555555",
+ (opt_action.css_theme_default) ? "777777" : "BBBBBB",
+ (opt_action.css_theme_default) ? "32CD32" : "9ACD32",
+ (opt_action.css_theme_default) ? "777777" : "BBBBBB",
+ (opt_action.css_theme_default) ? "FFFFFF" : "000000",
+ (opt_action.css_theme_default) ? "003399" : "888888",
+ (opt_action.css_theme_default) ? "000000" : "FFFFFF",
+ (opt_action.css_theme_default) ? "FFFFFF" : "777777",
+ (opt_action.css_theme_default) ? "000000" : "FFFF48",
+ (opt_action.css_theme_default) ? "FFFF48" : "777748",
+ (opt_action.css_theme_default) ? "222222" : "AAAAAA",
_cgi_search_script,
).strip;
- auto pth_sqlite_cgi = spinePathsSQLiteCGI!()(_cgi_search_script_raw_fn_d, _cgi_search_script, opt_action.output_dir_set); // TODO
+ string _cgi_path = (opt_action.output_dir_set.length > 0)
+ ? opt_action.output_dir_set
+ : (make_and_meta_struct.conf.w_srv_data_root_path.length > 0)
+ ? make_and_meta_struct.conf.w_srv_data_root_path
+ : "";
+ auto pth_sqlite_cgi = spinePathsSQLiteCGI!()(_cgi_search_script_raw_fn_d, _cgi_search_script, _cgi_path);
{ // cgi-bin search form src d
try {
if (!exists(pth_sqlite_cgi.src)) {
@@ -142,6 +165,7 @@ mixin GenericMain!cgi_function_intro;
<<cgi_dub_sdl>>
≓",
"~>0.18.3", // d2sqlite3 dependency version
+ "~>7.2.0", // arsd-official:cgi dependency version
"src/" ~ _cgi_search_script_raw_fn_d,
_cgi_search_script
).strip;
@@ -156,25 +180,27 @@ mixin GenericMain!cgi_function_intro;
// Handle error
}
}
- { // get cgi.d
- import std.net.curl, std.stdio;
- char[] cgi_d;
- try {
- cgi_d = get!HTTP("https://raw.githubusercontent.com/adamdruppe/arsd/master/cgi.d");
- } catch (ErrnoException ex) {
- // Handle error
- // CurlCode perform(ThrowOnError throwOnError = Yes.throwOnError);
- CurlCode perform(ThrowOnError throwOnError = No.throwOnError);
- }
- if (cgi_d && cgi_d.length > 0) {
- try {
- auto f = File(pth_sqlite_cgi.cgi_d_path_out, "w");
- f.write(cgi_d);
- } catch (ErrnoException ex) {
- // Handle error
- }
- }
- }
+ // { // get cgi.d
+ // // import std.net.curl, std.stdio;
+ // // char[] cgi_d;
+ // // if (opt_action.allow_downloads) {
+ // // try {
+ // // cgi_d = get!HTTP("https://raw.githubusercontent.com/adamdruppe/arsd/master/cgi.d");
+ // // } catch (ErrnoException ex) {
+ // // // Handle error
+ // // // CurlCode perform(ThrowOnError throwOnError = Yes.throwOnError);
+ // // CurlCode perform(ThrowOnError throwOnError = No.throwOnError);
+ // // }
+ // // if (cgi_d && cgi_d.length > 0) {
+ // // try {
+ // // auto f = File(pth_sqlite_cgi.cgi_d_path_out, "w");
+ // // f.write(cgi_d);
+ // // } catch (ErrnoException ex) {
+ // // // Handle error
+ // // }
+ // // }
+ // // }
+ // }
}
}
#+END_SRC
@@ -791,44 +817,52 @@ string show_matched_objects (string fn) {
}
body {
height : 100vh;
- background-color : #FFFFFF;
+ background-color : #%s;
}
body {
- color : #000000;
- background : #FFFFFF;
- background-color : #FFFFFF;
+ color : #%s;
+ background : #%s;
+ background-color : #%s;
}
a:link {
- color : #003399;
+ color : #%s;
text-decoration : none;
}
a:visited {
- color : #003399;
+ color : #%s;
text-decoration : none;
}
a:hover {
- color : #000000;
- background-color : #F9F9AA;
+ color : #%s;
+ background-color : #%s;
}
a.lnkocn:link {
- color : #777777;
+ color : #%s;
text-decoration : none;
}
a.lnkocn:visited {
- color : #32CD32;
+ color : #%s;
text-decoration : none;
}
a.lnkocn:hover {
- color : #777777;
+ color : #%s;
font-size : 15px;
}
a:hover img {
- background-color : #FFFFFF;
+ background-color : #%s;
}
a:active {
- color : #003399;
+ color : #%s;
text-decoration : underline;
}
+ textarea {
+ color : #%s;
+ background-color : #%s;
+ }
+ span.match {
+ color : #%s;
+ background-color : #%s;
+ }
p.norm { }
p.i1 { padding-left : 1em; }
p.i2 { padding-left : 2em; }
@@ -1267,7 +1301,7 @@ string show_matched_objects (string fn) {
<table summary="home button / home information" border="0" cellpadding="2" cellspacing="0">
<tr><td align="left">
<br><a href="http://sisudoc.org/" target="_top">
- <b>SiSU</b>
+ <label for="find"><b>≅ SiSU spine</b></label>
</a>
<br><a href="http://git.sisudoc.org/" target="_top">
git
@@ -1276,7 +1310,7 @@ string show_matched_objects (string fn) {
</table>
</td>
<td>
- <label for="find"><b>SiSU spine (generated) search form</b></label>
+ <label for="find">(generated) search form</label>
</td></tr>
</table>
┃");
@@ -1417,7 +1451,7 @@ string show_matched_objects (string fn) {
%%s
</td></tr></table>
<td valign=\"top\"><tr><td>
- <font size="2" color="#222222">
+ <font size="2" color="#%s">
<input type="hidden" name="db" value="%%s">
<input type="submit" value="SiSU search">
<input type="radio" name="rt" id="results_type_index" value="idx" %%s> index
@@ -1552,9 +1586,7 @@ auto db = Database(conf.db_path ~ cv.db_selected);
string highlight_text_matched(string _txt, string search_field) {
string _mark_open = "┤";
string _mark_close = "├";
- string _span_yellow = "<span style=\"background-color: #ffff48\">";
- string _span_red = "<span style=\"background-color: #ff48ff\">";
- string _span_blue = "<span style=\"background-color: #48ffff\">";
+ string _span_match = "<span class=\"match\">";
string _span_close = "</span>";
string _sf_str = search_field.strip.split("%%20").join(" ").strip;
string[] _sf_arr = _sf_str.split(regex(r"\s+AND\s+|\s+OR\s+"));
@@ -1574,13 +1606,13 @@ auto db = Database(conf.db_path ~ cv.db_selected);
)(m.hit, rgx_marked_pair)
)(_txt, rgx_url);
_txt = replaceAll!(m =>
- _span_yellow
+ _span_match
~ m["keep"]
~ _span_close
)(_txt, rgx_marked_pair);
} else {
_txt = replaceAll!(m =>
- _span_yellow
+ _span_match
~ m.captures[0]
~ _span_close
)(_txt, rgx_matched_text);
@@ -1816,6 +1848,8 @@ authors "Ralph Amissah"
copyright "Copyright © 2020, Ralph Amissah"
license "GPL-3.0+"
dependency "d2sqlite3" version="%s"
+dependency "arsd-official:cgi" version="%s"
+ subConfiguration "arsd-official:cgi" "cgi"
targetType "executable"
targetPath "./cgi-bin"
mainSourceFile "%s"