diff options
author | Ralph Amissah <ralph@amissah.com> | 2016-09-01 13:57:10 -0400 |
---|---|---|
committer | Ralph Amissah <ralph@amissah.com> | 2019-04-10 15:14:13 -0400 |
commit | 2ae1cd2773a8659b3ce06d26aba9e804d77f8260 (patch) | |
tree | 84e1736b52acc71c8e672ffd8ba1763a6e8328aa /src | |
parent | 0.6.7 re-arrange output (diff) |
minor shuffling
Diffstat (limited to 'src')
-rw-r--r-- | src/sdp/output_html.d | 340 | ||||
-rw-r--r-- | src/sdp/output_hub.d | 2 |
2 files changed, 171 insertions, 171 deletions
diff --git a/src/sdp/output_html.d b/src/sdp/output_html.d index 6e4aecf..057ee8c 100644 --- a/src/sdp/output_html.d +++ b/src/sdp/output_html.d @@ -1,5 +1,175 @@ template SiSUoutputHTML() { struct SDPoutputHTML { + auto html_toc(O)( + auto ref const O obj, + ) { + string o; + o = format(q"◎<h%s class="toc"><a href="#%s">%s</a></h%s>◎", + obj.heading_attrib.lev_markup_number, + obj.obj_cite_number, + obj.object, + obj.heading_attrib.lev_markup_number + ); + return o; + } + auto html_heading(O)( + auto ref const O obj, + ) { + string o; + o = format(q"◎<br><hr /><br> + <div class="substance"> + <label class="ocn"><a href="#%s" class="lnkocn">%s</a></label> + <h%s class="norm" id="%s"><a name="%s"></a> + %s + </h%s> + </div> + ◎", + obj.obj_cite_number, + obj.obj_cite_number, + obj.heading_attrib.lev_markup_number, + obj.obj_cite_number, + obj.obj_cite_number, + obj.object, + obj.heading_attrib.lev_markup_number + ); + return o; + } + auto html_para(O)( + auto ref const O obj, + ) { + string o; + o = format(q"◎<div class="substance"> + <label class="ocn"><a href="#%s" class="lnkocn">%s</a></label> + <p class="h%si%s" id="%s"> + %s + </p> + </div> + ◎", + obj.obj_cite_number, + obj.obj_cite_number, + obj.para_attrib.indent_first, + obj.para_attrib.indent_second, + obj.obj_cite_number, + obj.object + ); + return o; + } + auto scroll_head() { + string o; + o = format(q"◎ + <!DOCTYPE html> + <html> + <head> + <meta charset="utf-8"> + <title> + Title + </title> + <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> + <meta name="dc.title" content="Title" /> + <meta name="dc.author" content="Author" /> + <meta name="dc.publisher" content="SiSU http://www.jus.uio.no/sisu (this copy)" /> + <meta name="dc.date" content="year" /> + <meta name="dc.date.created" content="year" /> + <meta name="dc.date.issued" content="year" /> + <meta name="dc.date.available" content="year" /> + <meta name="dc.date.valid" content="year" /> + <meta name="dc.date.modified" content="year" /> + <meta name="dc.language" content="US" /> + <meta name="dc.rights" content="Copyright: Copyright (C) year holder /> + <meta name="generator" content="sdp [SiSU 7.1.8 of 2016w08/5 (2016-02-26)] (n*x and D)" /> + <link rel="generator" href="http://www.sisudoc.org/" /> + <link rel="shortcut icon" href="../_sisu/image/rb7.ico" /> + <link href="../../_sisu/css/html.css" rel="stylesheet"> + <link href="../../../_sisu/css/html.css" rel="stylesheet"> + </head> + <body lang="en"> + <a name="top" id="top"></a> + ◎"); + return o; + } + auto scroll_tail() { + string o; + o = format(q"◎ + <a name="bottom" id="bottom"></a> + <a name="end" id="end"></a> + </div> + </body> + </html> + ◎"); + return o; + } + void scroll(C)( + auto ref const C contents, + string[][string][string] bookindex_unordered_hashes, + JSONValue[] biblio, + string[string][string] dochead_make, + string[string][string] dochead_meta, + string fn_src, + bool[string] opt_action_bool + ) { + auto rgx = Rgx(); + string[] toc; + string[] body_; + string[] doc; + foreach (obj; contents) { + if (obj.use == "content") { + switch (obj.is_a) { + case "heading": + toc ~= html_toc(obj); + body_ ~= html_heading(obj); + break; + case "para": + body_ ~= html_para(obj); + break; + case "verse": + body_ ~= html_para(obj); + // body_ ~= html_verse(obj); + break; + case "group": + body_ ~= html_para(obj); + // body_ ~= html_group(obj); + break; + case "block": + body_ ~= html_para(obj); + // body_ ~= html_block(obj); + break; + case "quote": + body_ ~= html_para(obj); + // body_ ~= html_quote(obj); + break; + case "table": + body_ ~= html_para(obj); + // body_ ~= html_table(obj); + break; + case "code": + body_ ~= html_para(obj); + // body_ ~= html_code(obj); + break; + default: + body_ ~= html_para(obj); + break; + } + } + } + doc = scroll_head ~ toc ~ body_ ~ scroll_tail; + auto m = matchFirst(fn_src, rgx.src_fn); + auto fn = m["fn_base"] ~ ".html"; + auto pth_html = "en/html"; + auto pth_seg = pth_html ~ "/" ~ m["fn_base"]; + auto pth_html_fn = pth_html ~ "/" ~ fn; + // auto pth_css= "_sisu/css"; + // auto pth_css_fn= pth_css ~ "/html.css"; + try { + mkdirRecurse(pth_seg); + auto f = File(pth_html_fn, "w"); + foreach (o; doc) { + f.writeln(o); + } + } + catch (ErrnoException ex) { + // Handle error + } + } auto html_css() { string css; css="/* SiSU css default stylesheet */ @@ -1304,175 +1474,5 @@ template SiSUoutputHTML() { // Handle error } } - auto html_toc(O)( - auto ref const O obj, - ) { - string o; - o = format(q"◎<h%s class="toc"><a href="#%s">%s</a></h%s>◎", - obj.heading_attrib.lev_markup_number, - obj.obj_cite_number, - obj.object, - obj.heading_attrib.lev_markup_number - ); - return o; - } - auto html_heading(O)( - auto ref const O obj, - ) { - string o; - o = format(q"◎<br><hr /><br> - <div class="substance"> - <label class="ocn"><a href="#%s" class="lnkocn">%s</a></label> - <h%s class="norm" id="%s"><a name="%s"></a> - %s - </h%s> - </div> - ◎", - obj.obj_cite_number, - obj.obj_cite_number, - obj.heading_attrib.lev_markup_number, - obj.obj_cite_number, - obj.obj_cite_number, - obj.object, - obj.heading_attrib.lev_markup_number - ); - return o; - } - auto html_para(O)( - auto ref const O obj, - ) { - string o; - o = format(q"◎<div class="substance"> - <label class="ocn"><a href="#%s" class="lnkocn">%s</a></label> - <p class="h%si%s" id="%s"> - %s - </p> - </div> - ◎", - obj.obj_cite_number, - obj.obj_cite_number, - obj.para_attrib.indent_first, - obj.para_attrib.indent_second, - obj.obj_cite_number, - obj.object - ); - return o; - } - auto scroll_head() { - string o; - o = format(q"◎ - <!DOCTYPE html> - <html> - <head> - <meta charset="utf-8"> - <title> - Title - </title> - <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> - <meta name="dc.title" content="Title" /> - <meta name="dc.author" content="Author" /> - <meta name="dc.publisher" content="SiSU http://www.jus.uio.no/sisu (this copy)" /> - <meta name="dc.date" content="year" /> - <meta name="dc.date.created" content="year" /> - <meta name="dc.date.issued" content="year" /> - <meta name="dc.date.available" content="year" /> - <meta name="dc.date.valid" content="year" /> - <meta name="dc.date.modified" content="year" /> - <meta name="dc.language" content="US" /> - <meta name="dc.rights" content="Copyright: Copyright (C) year holder /> - <meta name="generator" content="sdp [SiSU 7.1.8 of 2016w08/5 (2016-02-26)] (n*x and D)" /> - <link rel="generator" href="http://www.sisudoc.org/" /> - <link rel="shortcut icon" href="../_sisu/image/rb7.ico" /> - <link href="../../_sisu/css/html.css" rel="stylesheet"> - <link href="../../../_sisu/css/html.css" rel="stylesheet"> - </head> - <body lang="en"> - <a name="top" id="top"></a> - ◎"); - return o; - } - auto scroll_tail() { - string o; - o = format(q"◎ - <a name="bottom" id="bottom"></a> - <a name="end" id="end"></a> - </div> - </body> - </html> - ◎"); - return o; - } - void scroll(C)( - auto ref const C contents, - string[][string][string] bookindex_unordered_hashes, - JSONValue[] biblio, - string[string][string] dochead_make, - string[string][string] dochead_meta, - string fn_src, - bool[string] opt_action_bool - ) { - auto rgx = Rgx(); - string[] toc; - string[] body_; - string[] doc; - foreach (obj; contents) { - if (obj.use == "content") { - switch (obj.is_a) { - case "heading": - toc ~= html_toc(obj); - body_ ~= html_heading(obj); - break; - case "para": - body_ ~= html_para(obj); - break; - case "verse": - body_ ~= html_para(obj); - // body_ ~= html_verse(obj); - break; - case "group": - body_ ~= html_para(obj); - // body_ ~= html_group(obj); - break; - case "block": - body_ ~= html_para(obj); - // body_ ~= html_block(obj); - break; - case "quote": - body_ ~= html_para(obj); - // body_ ~= html_quote(obj); - break; - case "table": - body_ ~= html_para(obj); - // body_ ~= html_table(obj); - break; - case "code": - body_ ~= html_para(obj); - // body_ ~= html_code(obj); - break; - default: - body_ ~= html_para(obj); - break; - } - } - } - doc = scroll_head ~ toc ~ body_ ~ scroll_tail; - auto m = matchFirst(fn_src, rgx.src_fn); - auto fn = m["fn_base"] ~ ".html"; - auto pth_html = "en/html"; - auto pth_seg = pth_html ~ "/" ~ m["fn_base"]; - auto pth_html_fn = pth_html ~ "/" ~ fn; - // auto pth_css= "_sisu/css"; - // auto pth_css_fn= pth_css ~ "/html.css"; - try { - mkdirRecurse(pth_seg); - auto f = File(pth_html_fn, "w"); - foreach (o; doc) { - f.writeln(o); - } - } - catch (ErrnoException ex) { - // Handle error - } - } } } diff --git a/src/sdp/output_hub.d b/src/sdp/output_hub.d index 8c21fa9..0206bf5 100644 --- a/src/sdp/output_hub.d +++ b/src/sdp/output_hub.d @@ -1,6 +1,6 @@ /+ - output hub output_hub.d + output_html.d +/ template SiSUoutputHub() { struct SDPoutput { |