diff options
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 { | 
