aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorRalph Amissah <ralph.amissah@gmail.com>2020-04-24 13:59:28 -0400
committerRalph Amissah <ralph.amissah@gmail.com>2020-05-20 11:27:26 -0400
commit681dd49c3e138942778266cc44210e47eea8b048 (patch)
tree14ba4e94ba6718d3c5a19daca652972706407aa0 /src
parentbackmatter, special sections, heading ocn fix (diff)
html, harvests search form, minor misc
- harvests add search form to db option - dark theme input background color (follows cgi search form) - html tidy html tidy
Diffstat (limited to 'src')
-rw-r--r--src/doc_reform/io_out/metadata.d74
-rw-r--r--src/doc_reform/io_out/xmls.d27
-rw-r--r--src/doc_reform/io_out/xmls_css.d24
-rw-r--r--src/doc_reform/meta/metadoc_harvests_authors.d78
-rw-r--r--src/doc_reform/meta/metadoc_harvests_topics.d78
5 files changed, 262 insertions, 19 deletions
diff --git a/src/doc_reform/io_out/metadata.d b/src/doc_reform/io_out/metadata.d
index 6c059ce..1d366b9 100644
--- a/src/doc_reform/io_out/metadata.d
+++ b/src/doc_reform/io_out/metadata.d
@@ -1,6 +1,39 @@
module doc_reform.io_out.metadata;
template outputMetadata() {
@safe void outputMetadata(T)( T doc_matters) {
+ @safe string inline_search_form(M)(
+ M doc_matters,
+ ) {
+ string o;
+ string _form;
+ if (doc_matters.opt.action.html_search_link) {
+ o = format(q"┃
+ <div class="flex-menu-option">
+ <!-- SiSU Spine Search -->
+ <form action="%s" target="_top" method="POST" accept-charset="UTF-8" id="search">
+ <font size="2">
+ <input type="text" name="sf" size="24" maxlength="255">%s
+ <input type="hidden" name="sml" value="1000">
+ <input type="hidden" name="ec" value="on">
+ <input type="hidden" name="url" value="on">
+ <button type="submit" form="search" name="fn" value="%s">doc</button>
+ <button type="submit" form="search">db</button>
+ </font></form>
+ <!-- SiSU Spine Search -->
+ </div>┃",
+ doc_matters.conf_make_meta.conf.w_srv_cgi_action,
+ (doc_matters.conf_make_meta.conf.w_srv_db_sqlite.empty)
+ ? ""
+ : "\n <input type=\"hidden\" name=\"db\" value=\""
+ ~ doc_matters.conf_make_meta.conf.w_srv_db_sqlite
+ ~ "\">",
+ doc_matters.src.filename_base,
+ );
+ } else {
+ o = "";
+ }
+ return o;
+ }
import
std.file,
std.format;
@@ -32,6 +65,10 @@ string theme_dark_0 = format(q"┃
color : #888888;
text-decoration : underline;
}
+ input {
+ color : #FFFFFF;
+ background-color : #777777;
+ }
┃");
string theme_light_0 = format(q"┃
body {
@@ -58,6 +95,10 @@ string theme_light_0 = format(q"┃
color : #003399;
text-decoration : underline;
}
+ input {
+ color : #000000;
+ background-color : #FFFFFF;
+ }
┃");
string theme_dark_1 = format(q"┃
h1 {
@@ -179,6 +220,35 @@ string theme_light_1 = format(q"┃
font-size : 80%%;
margin-left : 6em;
}%s
+ /* flex */
+ .flex-menu-bar {
+ display : -webkit-flex;
+ display : flex;
+ -webkit-flex-wrap : wrap;
+ -webkit-align-items : center;
+ align-items : center;
+ width : 100%%;
+ margin-left : 0%%;
+ margin-right : 2%%;
+ background-color : inherited;
+ }
+ .flex-menu-option {
+ background-color : inherited;
+ margin-right : 4px;
+ }
+ .flex-list {
+ display : -webkit-flex;
+ display : flex;
+ -webkit-align-items : center;
+ display : block;
+ align-items : center;
+ width : 100%%;
+ background-color : inherited;
+ }
+ .flex-list-item {
+ background-color : inherited;
+ margin : 4px;
+ }
</style>
<link rel="shortcut icon" href="../_sisu/image/rb7.ico" />
</head>
@@ -230,17 +300,17 @@ string theme_light_1 = format(q"┃
<a name="up" id="up"></a>
<a name="start" id="start"></a>
┃");
+ metadata_ ~= "<div class=\"flex-menu-bar\"><div class=\"flex-menu-option\">";
if (doc_matters.opt.action.html_harvest_link) {
metadata_ ~= format(q"┃<p>[<a href="../../index.html">&nbsp;HOME&nbsp;</a>] Metadata Harvest
[<a href="../../authors.html">&nbsp;Authors&nbsp;</a>]
[<a href="../../topics.html">&nbsp;Topics&nbsp;</a>]</p>
- <hr />
┃");
} else {
metadata_ ~= format(q"┃<p>[<a href="../../index.html">&nbsp;HOME&nbsp;</a>]
- <hr />
┃");
}
+ metadata_ ~= "</div>" ~ inline_search_form(doc_matters) ~ "</div><hr />";
if (!(doc_matters.conf_make_meta.meta.title_full.empty)) {
metadata_ ~= "<p class=\"lev0\">Title: <b><a href=\"" ~ doc_matters.src.filename_base ~ "/toc.html\">" ~ doc_matters.conf_make_meta.meta.title_full ~ "</a></b></p>";
} else if (doc_matters.opt.action.debug_do || doc_matters.opt.action.very_verbose) {
diff --git a/src/doc_reform/io_out/xmls.d b/src/doc_reform/io_out/xmls.d
index ffcdcb6..b4c5e56 100644
--- a/src/doc_reform/io_out/xmls.d
+++ b/src/doc_reform/io_out/xmls.d
@@ -109,7 +109,7 @@ template outputXHTMLs() {
<meta name="generator" content="%s" />
<link rel="generator" href="%s" />
<!-- spine DocReform header metadata -->┃",
- doc_matters.conf_make_meta.meta.title_full,
+ doc_matters.conf_make_meta.meta.title_full.replaceAll(regex("\""), "&quot;"),
doc_matters.conf_make_meta.meta.creator_author,
_publisher,
doc_matters.conf_make_meta.meta.date_published,
@@ -158,7 +158,6 @@ template outputXHTMLs() {
o = format(q"┃
<div class="flex-menu-option">
<!-- SiSU Spine Search -->
- <a name="search"></a>
<form action="%s" target="_top" method="POST" accept-charset="UTF-8" id="search">
<font size="2">
<input type="text" name="sf" size="24" maxlength="255">%s
@@ -282,7 +281,7 @@ template outputXHTMLs() {
<body lang="%s">
<a name="top" id="top"></a>┃",
html_simple,
- doc_matters.conf_make_meta.meta.title_full,
+ doc_matters.conf_make_meta.meta.title_full.replaceAll(regex("\""), "&quot;"),
(doc_matters.conf_make_meta.meta.creator_author.empty) ? ""
: ", " ~ doc_matters.conf_make_meta.meta.creator_author,
doc_matters.conf_make_meta.meta.title_full,
@@ -598,7 +597,7 @@ template outputXHTMLs() {
toc = format(q"┃<a href="toc.html" target="_top">
<div class="toc-button menu">
<svg viewbox="0 0 100 100">
- <path d="M4,10h24c1.104,0,2-0.896,2-2s-0.896-2-2-2H4C2.896,6,2,6.896,2,8S2.896,10,4,10z M28,14H4c-1.104,0-2,0.896-2,2 s0.896,2,2,2h24c1.104,0,2-0.896,2-2S29.104,14,28,14z M28,22H4c-1.104,0-2,0.896-2,2s0.896,2,2,2h24c1.104,0,2-0.896,2-2 S29.104,22,28,22z"/>
+ <path d="M4,10h24c1.104,0,2-0.896,2-2s-0.896-2-2-2H4C2.896,6,2,6.896,2,8S2.896,10,4,10z M28,14H4c-1.104,0-2,0.896-2,2 s0.896,2,2,2h24c1.104,0,2-0.896,2-2S29.104,14,28,14z M28,22H4c-1.104,0-2,0.896-2,2s0.896,2,2,2h24c1.104,0,2-0.896,2-2 S29.104,22,28,22z" />
</svg>
</div>
</a>┃",
@@ -610,7 +609,7 @@ template outputXHTMLs() {
prev = format(q"┃<a href="%s.html" target="_top">
<div class="prev-next-button previous">
<svg viewbox="0 0 100 100">
- <path class="arrow" d="M 50,0 L 60,10 L 20,50 L 60,90 L 50,100 L 0,50 Z" transform=" translate(15,0)">
+ <path class="arrow" d="M 50,0 L 60,10 L 20,50 L 60,90 L 50,100 L 0,50 Z" transform=" translate(15,0)" />
</svg>
</div>
</a>┃",
@@ -623,18 +622,17 @@ template outputXHTMLs() {
next = format(q"┃<a href="%s.html" target="_top">
<div class="prev-next-button next">
<svg viewbox="0 0 100 100">
- <path class="arrow" d="M 50,0 L 60,10 L 20,50 L 60,90 L 50,100 L 0,50 Z "transform="translate(85,100) rotate(180) ">
+ <path class="arrow" d="M 50,0 L 60,10 L 20,50 L 60,90 L 50,100 L 0,50 Z" transform="translate(85,100) rotate(180)" />
</svg>
</div>
</a>┃",
obj.tags.segname_next,
);
}
- string _toc_pre_next = format(q"┃ <div class="nav-bar">
- %s
- %s
- %s
- </div>
+ string _toc_pre_next = format(q"┃ <div class="nav-bar">
+ %s
+ %s
+ %s
</div>
</div>
</div>┃",
@@ -642,10 +640,9 @@ template outputXHTMLs() {
prev,
next,
);
- string _pre_next = format(q"┃ <div class="nav-bar">
- %s
- %s
- </div>
+ string _pre_next = format(q"┃ <div class="nav-bar">
+ %s
+ %s
</div>
</div>
</div>┃",
diff --git a/src/doc_reform/io_out/xmls_css.d b/src/doc_reform/io_out/xmls_css.d
index 88af237..e882b4d 100644
--- a/src/doc_reform/io_out/xmls_css.d
+++ b/src/doc_reform/io_out/xmls_css.d
@@ -466,6 +466,10 @@ template spineCss() {
color : #003399;
text-decoration : underline;
}
+ input {
+ color : #000000;
+ background-color : #FFFFFF;
+ }
div {
margin-left : 0;
margin-right : 0;
@@ -1176,6 +1180,10 @@ template spineCss() {
color : #888888;
text-decoration : underline;
}
+ input {
+ color : #FFFFFF;
+ background-color : #777777;
+ }
div {
margin-left : 0;
margin-right : 0;
@@ -1885,6 +1893,10 @@ template spineCss() {
color : #003399;
text-decoration : underline;
}
+ input {
+ color : #000000;
+ background-color : #FFFFFF;
+ }
div {
margin-left : 0;
margin-right : 0;
@@ -2521,6 +2533,10 @@ template spineCss() {
color : #888888;
text-decoration : underline;
}
+ input {
+ color : #FFFFFF;
+ background-color : #777777;
+ }
div {
margin-left : 0;
margin-right : 0;
@@ -3156,6 +3172,10 @@ template spineCss() {
color : #003399;
text-decoration : underline;
}
+ input {
+ color : #000000;
+ background-color : #FFFFFF;
+ }
div {
margin-left : 0;
margin-right : 0;
@@ -3682,6 +3702,10 @@ template spineCss() {
color : #888888;
text-decoration : underline;
}
+ input {
+ color : #FFFFFF;
+ background-color : #777777;
+ }
div {
margin-left : 0;
margin-right : 0;
diff --git a/src/doc_reform/meta/metadoc_harvests_authors.d b/src/doc_reform/meta/metadoc_harvests_authors.d
index 132c0af..5555f9d 100644
--- a/src/doc_reform/meta/metadoc_harvests_authors.d
+++ b/src/doc_reform/meta/metadoc_harvests_authors.d
@@ -19,6 +19,37 @@ template spineMetaDocHarvestsAuthors() {
M _make_and_meta_struct,
O _opt_action,
) {
+ @safe string inline_search_form(M)(
+ M _make_and_meta_truct,
+ ) {
+ string o;
+ string _form;
+ if (_opt_action.html_search_link) {
+ o = format(q"┃
+ <div class="flex-menu-option">
+ <!-- SiSU Spine Search -->
+ <form action="%s" target="_top" method="POST" accept-charset="UTF-8" id="search">
+ <font size="2">
+ <input type="text" name="sf" size="24" maxlength="255">%s
+ <input type="hidden" name="sml" value="1000">
+ <input type="hidden" name="ec" value="on">
+ <input type="hidden" name="url" value="on">
+ <button type="submit" form="search">db</button>
+ </font></form>
+ <!-- SiSU Spine Search -->
+ </div>┃",
+ _make_and_meta_struct.conf.w_srv_cgi_action,
+ (_make_and_meta_struct.conf.w_srv_db_sqlite.empty)
+ ? ""
+ : "\n <input type=\"hidden\" name=\"db\" value=\""
+ ~ _make_and_meta_struct.conf.w_srv_db_sqlite
+ ~ "\">",
+ );
+ } else {
+ o = "";
+ }
+ return o;
+ }
string theme_dark_0 = format(q"┃
body {
color : #CCCCCC;
@@ -60,6 +91,10 @@ string theme_dark_0 = format(q"┃
color : #FFFFFF;
background : #777777;
}
+ input {
+ color : #FFFFFF;
+ background-color : #777777;
+ }
┃");
string theme_light_0 = format(q"┃
body {
@@ -100,6 +135,10 @@ string theme_light_0 = format(q"┃
a.lev3:hover {
background : #BBBBBB;
}
+ input {
+ color : #000000;
+ background-color : #FFFFFF;
+ }
┃");
string theme_dark_1 = format(q"┃
h1 {
@@ -261,6 +300,35 @@ string theme_light_1 = format(q"┃
font-size : 80%%;
margin-left : 6em;
}%s
+ /* flex */
+ .flex-menu-bar {
+ display : -webkit-flex;
+ display : flex;
+ -webkit-flex-wrap : wrap;
+ -webkit-align-items : center;
+ align-items : center;
+ width : 100%%;
+ margin-left : 0%%;
+ margin-right : 2%%;
+ background-color : inherited;
+ }
+ .flex-menu-option {
+ background-color : inherited;
+ margin-right : 4px;
+ }
+ .flex-list {
+ display : -webkit-flex;
+ display : flex;
+ -webkit-align-items : center;
+ display : block;
+ align-items : center;
+ width : 100%%;
+ background-color : inherited;
+ }
+ .flex-list-item {
+ background-color : inherited;
+ margin : 4px;
+ }
</style>
<link rel="shortcut icon" href="../_sisu/image/rb7.ico" />
</head>
@@ -269,13 +337,21 @@ string theme_light_1 = format(q"┃
<a name="up" id="up"></a>
<a name="start" id="start"></a>
<h1>Metadata Harvest - Authors (output organised by language &amp; filetype)</h1>
-<p>[<a href="../../index.html">&nbsp;HOME&nbsp;</a>] [<a href="topics.html">&nbsp;Metadata&nbsp;Harvest&nbsp;-&nbsp;Topics&nbsp;</a>]</p>
+<div class="flex-menu-bar">
+<div class="flex-menu-option">
+<p>[<a href="../../index.html">&nbsp;HOME&nbsp;</a>]
+ [<a href="topics.html">&nbsp;Metadata&nbsp;Harvest&nbsp;-&nbsp;Topics&nbsp;</a>]
+</p>
+</div>
+%s
+</div>
<p></p>
<hr />
<p><a href="#A">A</a>,&nbsp;<a href="#B">B</a>,&nbsp;<a href="#C">C</a>,&nbsp;<a href="#D">D</a>,&nbsp;<a href="#E">E</a>,&nbsp;<a href="#F">F</a>,&nbsp;<a href="#G">G</a>,&nbsp;<a href="#H">H</a>,&nbsp;<a href="#I">I</a>,&nbsp;<a href="#J">J</a>,&nbsp;<a href="#K">K</a>,&nbsp;<a href="#L">L</a>,&nbsp;<a href="#M">M</a>,&nbsp;<a href="#N">N</a>,&nbsp;<a href="#O">O</a>,&nbsp;<a href="#P">P</a>,&nbsp;<a href="#Q">Q</a>,&nbsp;<a href="#R">R</a>,&nbsp;<a href="#S">S</a>,&nbsp;<a href="#T">T</a>,&nbsp;<a href="#U">U</a>,&nbsp;<a href="#V">V</a>,&nbsp;<a href="#W">W</a>,&nbsp;<a href="#X">X</a>,&nbsp;<a href="#Y">Y</a>,&nbsp;<a href="#Z">Z</a>,&nbsp;
┃",
_opt_action.css_theme_default ? theme_light_0 : theme_dark_0,
_opt_action.css_theme_default ? theme_light_1 : theme_dark_1,
+ inline_search_form(_make_and_meta_struct),
) ~ "\n";
string[string] _au;
string[] _auth_date_title;
diff --git a/src/doc_reform/meta/metadoc_harvests_topics.d b/src/doc_reform/meta/metadoc_harvests_topics.d
index aeb7cba..5332659 100644
--- a/src/doc_reform/meta/metadoc_harvests_topics.d
+++ b/src/doc_reform/meta/metadoc_harvests_topics.d
@@ -19,6 +19,37 @@ template spineMetaDocHarvestsTopics() {
M _make_and_meta_struct,
O _opt_action,
) {
+ @safe string inline_search_form(M)(
+ M _make_and_meta_truct,
+ ) {
+ string o;
+ string _form;
+ if (_opt_action.html_search_link) {
+ o = format(q"┃
+ <div class="flex-menu-option">
+ <!-- SiSU Spine Search -->
+ <form action="%s" target="_top" method="POST" accept-charset="UTF-8" id="search">
+ <font size="2">
+ <input type="text" name="sf" size="24" maxlength="255">%s
+ <input type="hidden" name="sml" value="1000">
+ <input type="hidden" name="ec" value="on">
+ <input type="hidden" name="url" value="on">
+ <button type="submit" form="search">db</button>
+ </font></form>
+ <!-- SiSU Spine Search -->
+ </div>┃",
+ _make_and_meta_struct.conf.w_srv_cgi_action,
+ (_make_and_meta_struct.conf.w_srv_db_sqlite.empty)
+ ? ""
+ : "\n <input type=\"hidden\" name=\"db\" value=\""
+ ~ _make_and_meta_struct.conf.w_srv_db_sqlite
+ ~ "\">",
+ );
+ } else {
+ o = "";
+ }
+ return o;
+ }
auto min_repeat_number = 42;
string[] _document_topic_register;
string[] _topic_register;
@@ -103,6 +134,10 @@ string theme_dark_0 = format(q"┃
color : #FFFFFF;
background : #777777;
}
+ input {
+ color : #FFFFFF;
+ background-color : #777777;
+ }
┃");
string theme_light_0 = format(q"┃
body {
@@ -143,6 +178,10 @@ string theme_light_0 = format(q"┃
a.lev3:hover {
background : #BBBBBB;
}
+ input {
+ color : #000000;
+ background-color : #FFFFFF;
+ }
┃");
string theme_dark_1 = format(q"┃
h1 {
@@ -302,6 +341,35 @@ string theme_light_1 = format(q"┃
font-size : 80%%;
margin-left : 6em;
}%s
+ /* flex */
+ .flex-menu-bar {
+ display : -webkit-flex;
+ display : flex;
+ -webkit-flex-wrap : wrap;
+ -webkit-align-items : center;
+ align-items : center;
+ width : 100%%;
+ margin-left : 0%%;
+ margin-right : 2%%;
+ background-color : inherited;
+ }
+ .flex-menu-option {
+ background-color : inherited;
+ margin-right : 4px;
+ }
+ .flex-list {
+ display : -webkit-flex;
+ display : flex;
+ -webkit-align-items : center;
+ display : block;
+ align-items : center;
+ width : 100%%;
+ background-color : inherited;
+ }
+ .flex-list-item {
+ background-color : inherited;
+ margin : 4px;
+ }
</style>
<link rel="shortcut icon" href="../_sisu/image/rb7.ico" />
</head>
@@ -310,13 +378,21 @@ string theme_light_1 = format(q"┃
<a name="up" id="up"></a>
<a name="start" id="start"></a>
<h1>Metadata Harvest - Topics (output organised by language &amp; filetype)</h1>
-<p>[<a href="../../index.html">&nbsp;HOME&nbsp;</a>] [<a href="authors.html">&nbsp;Metadata&nbsp;Harvest&nbsp;-&nbsp;Authors&nbsp;</a>]</p>
+<div class="flex-menu-bar">
+<div class="flex-menu-option">
+<p>[<a href="../../index.html">&nbsp;HOME&nbsp;</a>]
+ [<a href="authors.html">&nbsp;Metadata&nbsp;Harvest&nbsp;-&nbsp;Authors&nbsp;</a>]
+</p>
+</div>
+ %s
+</div>
<p><a href="#A">A</a>,&nbsp;<a href="#B">B</a>,&nbsp;<a href="#C">C</a>,&nbsp;<a href="#D">D</a>,&nbsp;<a href="#E">E</a>,&nbsp;<a href="#F">F</a>,&nbsp;<a href="#G">G</a>,&nbsp;<a href="#H">H</a>,&nbsp;<a href="#I">I</a>,&nbsp;<a href="#J">J</a>,&nbsp;<a href="#K">K</a>,&nbsp;<a href="#L">L</a>,&nbsp;<a href="#M">M</a>,&nbsp;<a href="#N">N</a>,&nbsp;<a href="#O">O</a>,&nbsp;<a href="#P">P</a>,&nbsp;<a href="#Q">Q</a>,&nbsp;<a href="#R">R</a>,&nbsp;<a href="#S">S</a>,&nbsp;<a href="#T">T</a>,&nbsp;<a href="#U">U</a>,&nbsp;<a href="#V">V</a>,&nbsp;<a href="#W">W</a>,&nbsp;<a href="#X">X</a>,&nbsp;<a href="#Y">Y</a>,&nbsp;<a href="#Z">Z</a>,&nbsp;
<p></p>
<hr />
┃",
_opt_action.css_theme_default ? theme_light_0 : theme_dark_0,
_opt_action.css_theme_default ? theme_light_1 : theme_dark_1,
+ inline_search_form(_make_and_meta_struct),
) ~ "\n";
char _prev_k = "_".to!char;
int _kn;