aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/doc_reform/io_out
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/doc_reform/io_out
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/doc_reform/io_out')
-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
3 files changed, 108 insertions, 17 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;