aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sdp/output_html.d
diff options
context:
space:
mode:
Diffstat (limited to 'src/sdp/output_html.d')
-rw-r--r--src/sdp/output_html.d340
1 files changed, 170 insertions, 170 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
- }
- }
}
}