diff options
| author | Ralph Amissah <ralph@amissah.com> | 2017-04-26 10:58:57 -0400 | 
|---|---|---|
| committer | Ralph Amissah <ralph@amissah.com> | 2019-04-10 15:14:14 -0400 | 
| commit | 9d171f94a491efdd68c9557c52914d48ccd33a28 (patch) | |
| tree | 5cb50365db213472f52a064da43a9bf081813588 /src | |
| parent | 0.14.0 reorganized files, and paths (diff) | |
xml family css
Diffstat (limited to 'src')
| -rw-r--r-- | src/sdp/output_epub3.d | 45 | ||||
| -rw-r--r-- | src/sdp/output_html.d | 859 | ||||
| -rw-r--r-- | src/sdp/output_hub.d | 11 | ||||
| -rw-r--r-- | src/sdp/output_rgx.d | 1 | ||||
| -rw-r--r-- | src/sdp/output_xmls.d (renamed from src/sdp/output_xhtmls.d) | 76 | ||||
| -rw-r--r-- | src/sdp/output_xmls_css.d | 864 | ||||
| -rw-r--r-- | src/sdp/source_sisupod.d | 2 | 
7 files changed, 980 insertions, 878 deletions
| diff --git a/src/sdp/output_epub3.d b/src/sdp/output_epub3.d index f16b25b..ea33f2e 100644 --- a/src/sdp/output_epub3.d +++ b/src/sdp/output_epub3.d @@ -25,7 +25,8 @@ template outputEPub3() {      create_zip_file,      defaults,      output_rgx, -    output_xhtmls, +    output_xmls, +    output_xmls_css,      paths_output;    mixin InternalMarkup;    mixin outputXHTMLs; @@ -186,7 +187,7 @@ template outputEPub3() {        <!-- four required metadata items (for all NCX documents,          (including the relaxed constraints of OPS 2.0) -->        <title>%s%s</title> -      <link href="css/xhtml.css" rel="stylesheet" type="text/css" id="main-css" /> +      <link rel="stylesheet" href="css/epub.css" type="text/css" id="main-css" />        <meta name="dtb:uid" content="urn:uuid:%s" />        <!-- <meta name="epub-creator" content="SiSU http://www.jus.uio.no/sisu (this copy)" /> -->        <meta name="dtb:depth" content="%s" /> @@ -303,7 +304,7 @@ template outputEPub3() {              break;            case 4:              segment_filename = obj.segment_anchor_tag; -            doc_epub3[segment_filename] ~= xhtml_format.seg_head(doc_matters.dochead_meta); +            doc_epub3[segment_filename] ~= xhtml_format.epub3_seg_head(doc_matters.dochead_meta);              foreach (top_level_heading; top_level_headings) {                doc_epub3[segment_filename] ~= top_level_heading;              } @@ -531,6 +532,7 @@ template outputEPub3() {      Otn  oebps_toc_ncx,      Oc   oebps_content_opf,    ) { +    auto css = SiSUcss();      debug(asserts) {        static assert(is(typeof(doc_epub3)              == string[][string]));        static assert(is(typeof(mimetypes)              == string)); @@ -682,17 +684,21 @@ template outputEPub3() {        }        { /+ OEBPS/_sisu/image (images) +/          foreach (image; doc_matters.image_list) { -          if (exists(doc_matters.src_path_info.image_root ~ "/" ~ image)) { -            (doc_matters.src_path_info.image_root ~ "/" ~ image) -            .copy((pth_epub3.dbg_doc_oebps_image(doc_matters.source_filename)) ~ "/" ~ image); +          debug(epub_output) { +            if (exists(doc_matters.src_path_info.image_root ~ "/" ~ image)) { +              (doc_matters.src_path_info.image_root ~ "/" ~ image) +              .copy((pth_epub3.dbg_doc_oebps_image(doc_matters.source_filename)) ~ "/" ~ image); +            }            }          }          foreach (image; doc_matters.image_list) { -          debug(epub_images) { -            writeln( -              doc_matters.src_path_info.image_root, image, " -> ", -              pth_epub3.dbg_doc_oebps_image(doc_matters.source_filename), "/", image -            ); +          debug(epub_output) { +            debug(epub_images) { +              writeln( +                doc_matters.src_path_info.image_root, image, " -> ", +                pth_epub3.dbg_doc_oebps_image(doc_matters.source_filename), "/", image +              ); +            }            }            auto fn_src = doc_matters.src_path_info.image_root ~ image;            auto fn_out =  pth_epub3.doc_oebps_image(doc_matters.source_filename).to!string ~ "/" ~ image; @@ -709,6 +715,23 @@ template outputEPub3() {            }          }        } +      { /+ OEBPS/epub.css +/ +        debug(epub_output) { +          fn_dbg = pth_epub3.dbg_fn_oebps_css(doc_matters.source_filename); +          File(fn_dbg, "w").writeln(css.epub_css); +        } +        fn = pth_epub3.fn_oebps_css(doc_matters.source_filename); +        /+ add zip archive file members (with their content) +/ +        auto zip_arc_member_file = new ArchiveMember(); +        // add OEBPS/content.opf to zip archive +        zip_arc_member_file.name = fn; +        auto zip_data = new OutBuffer(); +        zip_data.write(oebps_content_opf.dup); // cast as: char[] +        zip_arc_member_file.expandedData = zip_data.toBytes(); +        zip.addMember(zip_arc_member_file); +        /+ create the zip file +/ +        createZipFile!()(fn_epub, zip.build()); +      }      }      catch (ErrnoException ex) {        // Handle error diff --git a/src/sdp/output_html.d b/src/sdp/output_html.d index d5b1a22..155ad48 100644 --- a/src/sdp/output_html.d +++ b/src/sdp/output_html.d @@ -25,7 +25,8 @@ template outputHTML() {      create_zip_file,      defaults,      output_rgx, -    output_xhtmls, +    output_xmls, +    output_xmls_css,      paths_output;    mixin outputXHTMLs; @@ -167,7 +168,7 @@ template outputHTML() {          }        }      } -    doc = xhtml_format.scroll_head(doc_matters.dochead_meta) ~ doc_html ~ xhtml_format.tail; +    doc = xhtml_format.html_scroll_head(doc_matters.dochead_meta) ~ doc_html ~ xhtml_format.tail;      scroll_write_output(doc_matters, doc);    }    void scroll_write_output(M,C)( @@ -241,7 +242,7 @@ template outputHTML() {              break;            case 4:              segment_filename = obj.segment_anchor_tag; -            doc_html[segment_filename] ~= xhtml_format.seg_head(doc_matters.dochead_meta); +            doc_html[segment_filename] ~= xhtml_format.html_seg_head(doc_matters.dochead_meta);              foreach (top_level_heading; top_level_headings) {                // writeln(top_level_heading);                doc_html[segment_filename] ~= top_level_heading; @@ -442,851 +443,17 @@ template outputHTML() {        // handle error      }    } -  auto html_css() { -    string css; -    css="/* SiSU css default stylesheet */ -    body { -      color: black; -      background: #ffffff; -      background-color: #ffffff; -    } -    a:link { -      color: #003399; -      text-decoration: none; -    } -    a:visited { -      color: #003399; -      text-decoration: none; -    } -    a:hover { -      color: #000000; -      background-color: #f9f9aa; -    } -    a.lnkocn:link { -      color: #777777; -      text-decoration: none; -    } -    a:hover img { -      background-color: #ffffff; -    } -    a:active { -      color: #003399; -      text-decoration: underline; -    } -    div { -      margin-left: 0; -      margin-right: 0; -    } -    div.p { -      margin-left: 5%; -      margin-right: 1%; -    } -    .norm, .bold, .verse, .group, .block, .alt { -      line-height: 133%; -      margin-left: 0em; -      margin-right: 2em; -      margin-top: 12px; -      margin-bottom: 0px; -      padding-left: 0em; -      text-indent: 0em; -    } -    p, h0, h1, h2, h3, h4, h5, h6, h7 { -      display: block; -      font-family: verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman; -      font-size: 100%; -      font-weight: normal; -      line-height: 133%; -      text-align: justify; -      margin-left: 0em; -      margin-right: 2em; -      text-indent: 0mm; -      margin-top: 0.8em; -      margin-bottom: 0.8em; -    } -    /* indent */ -    p.norm { } -    p.i1 {padding-left: 1em;} -    p.i2 {padding-left: 2em;} -    p.i3 {padding-left: 3em;} -    p.i4 {padding-left: 4em;} -    p.i5 {padding-left: 5em;} -    p.i6 {padding-left: 6em;} -    p.i7 {padding-left: 7em;} -    p.i8 {padding-left: 8em;} -    p.i9 {padding-left: 9em;} -    /* hanging indent */ -    p[indent=\"h0i0\"] { -      padding-left: 0em; -      text-indent:  0em; -    } -    p[indent=\"h0i1\"] { -      padding-left: 1em; -      text-indent: -1em; -    } -    p[indent=\"h0i2\"] { -      padding-left: 2em; -      text-indent: -2em; -    } -    p[indent=\"h0i3\"] { -      padding-left: 3em; -      text-indent: -3em; -    } -    p[indent=\"h0i4\"] { -      padding-left: 4em; -      text-indent: -4em; -    } -    p[indent=\"h0i5\"] { -      padding-left: 5em; -      text-indent: -5em; -    } -    p[indent=\"h0i6\"] { -      padding-left: 6em; -      text-indent: -6em; -    } -    p[indent=\"h0i7\"] { -      padding-left: 7em; -      text-indent: -7em; -    } -    p[indent=\"h0i8\"] { -      padding-left: 8em; -      text-indent: -8em; -    } -    p[indent=\"h0i9\"] { -      padding-left: 9em; -      text-indent: -9em; -    } -    p[indent=\"h1i0\"] { -      padding-left: 0em; -      text-indent:  1em; -    } -    p[indent=\"h1i1\"] { -      padding-left: 1em; -      text-indent:  0em; -    } -    p[indent=\"h1i2\"] { -      padding-left: 2em; -      text-indent: -1em; -    } -    p[indent=\"h1i3\"] { -      padding-left: 3em; -      text-indent: -2em; -    } -    p[indent=\"h1i4\"] { -      padding-left: 4em; -      text-indent: -3em; -    } -    p[indent=\"h1i5\"] { -      padding-left: 5em; -      text-indent: -4em; -    } -    p[indent=\"h1i6\"] { -      padding-left: 6em; -      text-indent: -5em; -    } -    p[indent=\"h1i7\"] { -      padding-left: 7em; -      text-indent: -6em; -    } -    p[indent=\"h1i8\"] { -      padding-left: 8em; -      text-indent: -7em; -    } -    p[indent=\"h1i9\"] { -      padding-left: 9em; -      text-indent: -8em; -    } -    p[indent=\"h2i0\"] { -      padding-left: 0em; -      text-indent:  2em; -    } -    p[indent=\"h2i1\"] { -      padding-left: 1em; -      text-indent:  1em; -    } -    p[indent=\"h2i2\"] { -      padding-left: 2em; -      text-indent:  0em; -    } -    p[indent=\"h2i3\"] { -      padding-left: 3em; -      text-indent: -1em; -    } -    p[indent=\"h2i4\"] { -      padding-left: 4em; -      text-indent: -2em; -    } -    p[indent=\"h2i5\"] { -      padding-left: 5em; -      text-indent: -3em; -    } -    p[indent=\"h2i6\"] { -      padding-left: 6em; -      text-indent: -4em; -    } -    p[indent=\"h2i7\"] { -      padding-left: 7em; -      text-indent: -5em; -    } -    p[indent=\"h2i8\"] { -      padding-left: 8em; -      text-indent: -6em; -    } -    p[indent=\"h2i9\"] { -      padding-left: 9em; -      text-indent: -7em; -    } -    p[indent=\"h3i0\"] { -      padding-left: 0em; -      text-indent:  3em; -    } -    p[indent=\"h3i1\"] { -      padding-left: 1em; -      text-indent:  2em; -    } -    p[indent=\"h3i2\"] { -      padding-left: 2em; -      text-indent:  1em; -    } -    p[indent=\"h3i3\"] { -      padding-left: 3em; -      text-indent:  0em; -    } -    p[indent=\"h3i4\"] { -      padding-left: 4em; -      text-indent: -1em; -    } -    p[indent=\"h3i5\"] { -      padding-left: 5em; -      text-indent: -2em; -    } -    p[indent=\"h3i6\"] { -      padding-left: 6em; -      text-indent: -3em; -    } -    p[indent=\"h3i7\"] { -      padding-left: 7em; -      text-indent: -4em; -    } -    p[indent=\"h3i8\"] { -      padding-left: 8em; -      text-indent: -5em; -    } -    p[indent=\"h3i9\"] { -      padding-left: 9em; -      text-indent: -6em; -    } -    p[indent=\"h4i0\"] { -      padding-left: 0em; -      text-indent:  4em; -    } -    p[indent=\"h4i1\"] { -      padding-left: 1em; -      text-indent:  3em; -    } -    p[indent=\"h4i2\"] { -      padding-left: 2em; -      text-indent:  2em; -    } -    p[indent=\"h4i3\"] { -      padding-left: 3em; -      text-indent:  1em; -    } -    p[indent=\"h4i4\"] { -      padding-left: 4em; -      text-indent:  0em; -    } -    p[indent=\"h4i5\"] { -      padding-left: 5em; -      text-indent: -1em; -    } -    p[indent=\"h4i6\"] { -      padding-left: 6em; -      text-indent: -2em; -    } -    p[indent=\"h4i7\"] { -      padding-left: 7em; -      text-indent: -3em; -    } -    p[indent=\"h4i8\"] { -      padding-left: 8em; -      text-indent: -4em; -    } -    p[indent=\"h4i9\"] { -      padding-left: 9em; -      text-indent: -5em; -    } -    p[indent=\"h5i0\"] { -      padding-left: 0em; -      text-indent:  5em; -    } -    p[indent=\"h5i1\"] { -      padding-left: 1em; -      text-indent:  4em; -    } -    p[indent=\"h5i2\"] { -      padding-left: 2em; -      text-indent:  3em; -    } -    p[indent=\"h5i3\"] { -      padding-left: 3em; -      text-indent:  2em; -    } -    p[indent=\"h5i4\"] { -      padding-left: 4em; -      text-indent:  1em; -    } -    p[indent=\"h5i5\"] { -      padding-left: 5em; -      text-indent:  0em; -    } -    p[indent=\"h5i6\"] { -      padding-left: 6em; -      text-indent: -1em; -    } -    p[indent=\"h5i7\"] { -      padding-left: 7em; -      text-indent: -2em; -    } -    p[indent=\"h5i8\"] { -      padding-left: 8em; -      text-indent: -3em; -    } -    p[indent=\"h5i9\"] { -      padding-left: 9em; -      text-indent: -4em; -    } -    p[indent=\"h6i0\"] { -      padding-left: 0em; -      text-indent:  6em; -    } -    p[indent=\"h6i1\"] { -      padding-left: 1em; -      text-indent:  5em; -    } -    p[indent=\"h6i2\"] { -      padding-left: 2em; -      text-indent:  4em; -    } -    p[indent=\"h6i3\"] { -      padding-left: 3em; -      text-indent:  3em; -    } -    p[indent=\"h6i4\"] { -      padding-left: 4em; -      text-indent:  2em; -    } -    p[indent=\"h6i5\"] { -      padding-left: 5em; -      text-indent:  1em; -    } -    p[indent=\"h6i6\"] { -      padding-left: 6em; -      text-indent:  0em; -    } -    p[indent=\"h6i7\"] { -      padding-left: 7em; -      text-indent: -1em; -    } -    p[indent=\"h6i8\"] { -      padding-left: 8em; -      text-indent: -2em; -    } -    p[indent=\"h6i9\"] { -      padding-left: 9em; -      text-indent: -3em; -    } -    p[indent=\"h7i0\"] { -      padding-left: 0em; -      text-indent:  7em; -    } -    p[indent=\"h7i1\"] { -      padding-left: 1em; -      text-indent:  6em; -    } -    p[indent=\"h7i2\"] { -      padding-left: 2em; -      text-indent:  5em; -    } -    p[indent=\"h7i3\"] { -      padding-left: 3em; -      text-indent:  4em; -    } -    p[indent=\"h7i4\"] { -      padding-left: 4em; -      text-indent:  3em; -    } -    p[indent=\"h7i5\"] { -      padding-left: 5em; -      text-indent:  2em; -    } -    p[indent=\"h7i6\"] { -      padding-left: 6em; -      text-indent:  1em; -    } -    p[indent=\"h7i7\"] { -      padding-left: 7em; -      text-indent:  0em; -    } -    p[indent=\"h7i8\"] { -      padding-left: 8em; -      text-indent: -1em; -    } -    p[indent=\"h7i9\"] { -      padding-left: 9em; -      text-indent: -2em; -    } -    p[indent=\"h8i0\"] { -      padding-left: 0em; -      text-indent:  8em; -    } -    p[indent=\"h8i1\"] { -      padding-left: 1em; -      text-indent:  7em; -    } -    p[indent=\"h8i2\"] { -      padding-left: 2em; -      text-indent:  6em; -    } -    p[indent=\"h8i3\"] { -      padding-left: 3em; -      text-indent:  5em; -    } -    p[indent=\"h8i4\"] { -      padding-left: 4em; -      text-indent:  4em; -    } -    p[indent=\"h8i5\"] { -      padding-left: 5em; -      text-indent:  3em; -    } -    p[indent=\"h8i6\"] { -      padding-left: 6em; -      text-indent:  2em; -    } -    p[indent=\"h8i7\"] { -      padding-left: 7em; -      text-indent:  1em; -    } -    p[indent=\"h8i8\"] { -      padding-left: 8em; -      text-indent:  0em; -    } -    p[indent=\"h8i9\"] { -      padding-left: 9em; -      text-indent: -1em; -    } -    p[indent=\"h9i0\"] { -      padding-left: 0em; -      text-indent:  9em; -    } -    p[indent=\"h9i1\"] { -      padding-left: 1em; -      text-indent:  8em; -    } -    p[indent=\"h9i2\"] { -      padding-left: 2em; -      text-indent:  7em; -    } -    p[indent=\"h9i3\"] { -      padding-left: 3em; -      text-indent:  6em; -    } -    p[indent=\"h9i4\"] { -      padding-left: 4em; -      text-indent:  5em; -    } -    p[indent=\"h9i5\"] { -      padding-left: 5em; -      text-indent:  4em; -    } -    p[indent=\"h9i6\"] { -      padding-left: 6em; -      text-indent:  3em; -    } -    p[indent=\"h9i7\"] { -      padding-left: 7em; -      text-indent:  2em; -    } -    p[indent=\"h9i8\"] { -      padding-left: 8em; -      text-indent:  1em; -    } -    p[indent=\"h9i9\"] { -      padding-left: 9em; -      text-indent:  0em; -    } -    p.block { } -    p.group { } -    p.alt { } -    p.verse { -      margin-bottom: 6px; -    } -    p.code { -      font-family: inconsolata, andale mono, courier new, courier, monospace; -      font-size: 90%; -      text-align: left; -      background-color: #eeeeee; -    } -    p.caption { -      text-align: left; -      font-size: 80%; -      display: inline; -    } -    p.endnote { -      font-size: 96%; -      line-height: 120%; -      text-align: left; -      margin-right: 15mm; -    } -    p.endnote_indent { -      font-size: 96%; -      line-height: 120%; -      text-align: left; -      margin-left: 2em; -      margin-right: 15mm; -    } -    p.center { -      text-align: center; -    } -    p.bold { -      font-weight: bold; -    } -    p.bold_left { -      font-weight: bold; -      text-align: left; -    } -    p.centerbold { -      text-align: center; -      font-weight: bold; -    } -    p.em { -      font-weight: bold; -      font-style: normal; -      background: #fff3b6; -    } -    p.small { -      font-size: 80%; -      margin-top: 0px; -      margin-bottom: 0px; -      margin-right: 6px; -      text-align: left; -    } -    .tiny, .tiny_left, .tiny_right, .tiny_center { -      font-size: 10px; -      margin-top: 0px; -      margin-bottom: 0px; -      color: #777777; -      margin-right: 6px; -      text-align: left; -    } -    p.tiny { } -    p.tiny_left { -      margin-left: 0px; -      margin-right: 0px; -      text-align: left; -    } -    p.tiny_right { -      margin-right: 1em; -      text-align: right; -    } -    p.tiny_center { -      margin-left: 0px; -      margin-right: 0px; -      text-align: center; -    } -    p.concordance_word { -      line-height: 150%; -      font-weight: bold; -      display: inline; -      margin-top: 4px; -      margin-bottom: 1px; -    } -    p.concordance_count { -      font-size: 80%; -      color: #777777; -      display: inline; -      margin-left: 0em; -    } -    p.concordance_object { -      font-size: 80%; -      line-height: 120%; -      text-align: left; -      margin-left: 3em; -      margin-top: 1px; -      margin-bottom: 3px; -    } -    p.book_index_lev1 { -      line-height: 100%; -      margin-top: 4px; -      margin-bottom: 1px; -    } -    p.book_index_lev2 { -      line-height: 100%; -      text-align: left; -      margin-left: 3em; -      margin-top: 1px; -      margin-bottom: 3px; -    } -    tt { -      font-family: inconsolata, andale mono, courier new, courier, monospace; -      background-color: #eeeeee; -    } -    label.ocn { -      width: 2%; -      float: right; -      top: 0; -      font-size: 10px; -      margin-top: 0px; -      margin-bottom: 5px; -      color: #777777; -      margin-right: 5px; -      text-align: right; -      background-color: #ffffff; -    } -    table { } -    tr { } -    th,td { -      vertical-align: top; -      text-align: left; -    } -    th { -      font-weight: bold; -    } -    p.left,th.left,td.left { -      text-align: left; -    } -    p.small_left,th.small_left,td.small_left { -      text-align: left; -      font-size: 80%; -    } -    p.right,th.right,td.right { -      text-align: right; -    } -    ul, li { -      list-style-type: none; -      list-style: none; -      padding-left: 20px; -      display: block; -      font-family: verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman; -      font-weight: normal; -      line-height: 150%; -      text-align: left; -      text-indent: 0mm; -      margin-left: 1em; -      margin-right: 2em; -      margin-top: 3px; -      margin-bottom: 3px; -    } -    li { -      background: url(../image_sys/bullet_09.png) no-repeat 0px 6px; -    } -    ul { -    } -    h0, h1, h2, h3, h4, h5, h6, h7 { -      font-weight: bold; -      line-height: 120%; -      text-align: left; -      margin-top: 20px; -      margin-bottom: 10px; -    } -    h4.norm, h5.norm, h6.norm, h7.norm { -      margin-top: 10px; -      margin-bottom: 0px; -    } -    h0 { font-size: 125%; } -    h1 { font-size: 120%; } -    h2 { font-size: 115%; } -    h3 { font-size: 110%; } -    h4 { font-size: 105%; } -    h5 { font-size: 100%; } -    h6 { font-size: 100%; } -    h7 { font-size: 100%; } -    h1.i {margin-left: 2em;} -    h2.i {margin-left: 3em;} -    h3.i {margin-left: 4em;} -    h4.i {margin-left: 5em;} -    h5.i {margin-left: 6em;} -    h6.i {margin-left: 7em;} -    h7.i {margin-left: 8em;} -    h8.i {margin-left: 9em;} -    h9.i {margin-left: 10em;} -    .toc { -      font-weight: normal; -      margin-top: 6px; -      margin-bottom: 6px; -    } -    h0.toc { -      margin-left: 1em; -      font-size: 120%; -      line-height: 150%; -    } -    h1.toc { -      margin-left: 1em; -      font-size: 115%; -      line-height: 150%; -    } -    h2.toc { -      margin-left: 2em; -      font-size: 110%; -      line-height: 140%; -    } -    h3.toc { -      margin-left: 3em; -      font-size: 105%; -      line-height: 120%; -    } -    h4.toc { -      margin-left: 4em; -      font-size: 100%; -      line-height: 120%; -    } -    h5.toc { -      margin-left: 5em; -      font-size: 95%; -      line-height: 110%; -    } -    h6.toc { -      margin-left: 6em; -      font-size: 90%; -      line-height: 110%; -    } -    h7.toc { -      margin-left: 7em; -      font-size: 85%; -      line-height: 100%; -    } -    .subtoc { -      margin-right: 34%; -      font-weight: normal; -    } -    h5.subtoc { -      margin-left: 2em; -      font-size: 80%; -      margin-top: 2px; -      margin-bottom: 2px; -    } -    h6.subtoc { -      margin-left: 3em; -      font-size: 75%; -      margin-top: 0px; -      margin-bottom: 0px; -    } -    h7.subtoc { -      margin-left: 4em; -      font-size: 70%; -      margin-top: 0px; -      margin-bottom: 0px; -    } -    div.substance { -      width: 100%; -      background-color: #ffffff; -    } -    div.ocn { -      width: 5%; -      float: right; -      top: 0; -      background-color: #ffffff; -    } -    div.endnote { -      width: 95%; -      background-color: #fffffff; -    } -    div.toc { -      position: absolute; -      float: left; -      margin: 0; -      padding: 0; -      padding-top: 0.5em; -      border: 0; -      width: 13em; -      background-color: #eeeeee; -      margin-right:1em; -    } -    div.summary { -      margin: 0; -      padding: 0; -      border-left: 13em solid #eeeeee; -      padding-left: 1em; -      background-color: #eeeeee; -    } -    div.content, div.main_column { -      margin: 0; -      padding: 0; -      border-left: 13em solid #ffffff; -      padding-left: 1em; -      padding-right: 1em; -    } -    div.content0, div.main_column0 { -      margin: 0; -      padding: 0; -      border-left: 0% solid #ffffff; -      padding-left: 5%; -    } -    div.scroll { -      margin: 0; -      padding: 0; -      padding-left: 1em; -      padding-right: 1em; -    } -    div.content:after { -      content:' '; -      clear:both; -      display:block; -      height:0; -      overflow:hidden -    } -    div.footer { -      clear:left; -      padding: 0.5em; -      font-size: 80%; -      margin: 0; -    } -    div.toc ul { -      list-style: none; -      padding: 0; -      margin: 0; -    } -    div.toc li ul a, li ul span.currentlink -    { -      font-weight: normal; -      font-size: 90%; -      padding-left: 2em; -      background-color: #eeeeee; -    } -    div.toc a, span.currentlink{ -      display:block; -      text-decoration: none; -      padding-left: 0.5em; -      color: #0000aa; -    } -    hr { -      width: 90%; -    } -    span.currentlink { -      text-decoration: none; -      background-color: #aaaaf9; -    } -    div.toc a:visited { -      color: #0000aa; -    } -    div.toc a:hover { -      color: #000000; -      background-color: #f9f9aa; -    }"; -    return css; -  } -  auto css_write() { -    auto pth_css= "_sisu/css"; -    auto pth_css_fn= pth_css ~ "/html.css"; +  void css(M)( +    auto return ref M          doc_matters, +  ) { +    auto css = SiSUcss(); +    auto pth_html = SiSUpathsHTML!()(doc_matters.src_path_info, doc_matters.language);      try { -      if (!exists(pth_css)) { -        pth_css.mkdirRecurse; +      if (!exists(pth_html.css)) { +        (pth_html.css).mkdirRecurse;        } -      auto f = File(pth_css_fn, "w"); -      f.writeln(html_css); -      // foreach (o; doc) { -      //   f.writeln(o); -      // } +      auto f = File(pth_html.fn_css, "w"); +      f.writeln(css.html_css);      }      catch (ErrnoException ex) {        // Handle error diff --git a/src/sdp/output_hub.d b/src/sdp/output_hub.d index c38b8e5..389d187 100644 --- a/src/sdp/output_hub.d +++ b/src/sdp/output_hub.d @@ -1,5 +1,5 @@  /++ -  output hub<br> +  output hub<BR>    check & generate output types requested  +/  template outputHub() { @@ -22,15 +22,14 @@ template outputHub() {      std.uni,      std.utf;    import +    create_zip_file,      defaults,      output_epub3,      output_html, -    output_xhtmls, -    source_sisupod, -    create_zip_file,      output_rgx, -    output_xhtmls, -    paths_output; +    output_xmls, +    paths_output, +    source_sisupod;    void outputHub(D,I)(D doc_abstraction, I doc_matters) {      mixin SiSUoutputRgxInit;      auto rgx = Rgx(); diff --git a/src/sdp/output_rgx.d b/src/sdp/output_rgx.d index 0a5dcbb..149b41b 100644 --- a/src/sdp/output_rgx.d +++ b/src/sdp/output_rgx.d @@ -64,6 +64,7 @@ template SiSUoutputRgxInit() {      static table_delimiter_col                           = ctRegex!("[ ]*[┊][ ]*", "mg"); //      static table_delimiter_row                           = ctRegex!("[ ]*\n", "mg"); //      static xhtml_ampersand                            = ctRegex!(`[&]`);      // & +    static xhtml_quotation                            = ctRegex!(`[&]`);      // "      static xhtml_less_than                            = ctRegex!(`[<]`);      // <      static xhtml_greater_than                         = ctRegex!(`[>]`);      // >      static xhtml_line_break                           = ctRegex!(` [\\]{2}`); // <br /> diff --git a/src/sdp/output_xhtmls.d b/src/sdp/output_xmls.d index b85123e..27b6585 100644 --- a/src/sdp/output_xhtmls.d +++ b/src/sdp/output_xmls.d @@ -25,7 +25,8 @@ template outputXHTMLs() {      create_zip_file,      defaults,      output_rgx, -    output_xhtmls, +    output_xmls, +    output_xmls_css,      paths_output;    mixin SiSUoutputRgxInit;    struct outputXHTMLs { @@ -40,7 +41,7 @@ template outputXHTMLs() {      }      string font_face(string _txt){        _txt = (_txt) -        .replaceAll(rgx.inline_emphasis,    ("<emph>$1</emph>")) +        .replaceAll(rgx.inline_emphasis,    ("<em>$1</em>"))          .replaceAll(rgx.inline_bold,        ("<b>$1</b>"))          .replaceAll(rgx.inline_underscore,  ("<u>$1</u>"))          .replaceAll(rgx.inline_italics,     ("<i>$1</i>")) @@ -63,7 +64,7 @@ template outputXHTMLs() {        }        return tags;      } -    auto scroll_head(Me)( +    auto html_scroll_head(Me)(        Me dochead_meta,      ) {        debug(asserts) { @@ -92,9 +93,9 @@ template outputXHTMLs() {          <meta name="generator" content="sdp [SiSU 7.1.8 of 2016w08/5 (2016-02-26)] (n*x and D)" />        </meta>        <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" /> +      <link rel="shortcut icon" href="../../image/rb7.ico" /> +      <link href="../../css/html.css" rel="stylesheet" /> +      <link href="../../../css/html.css" rel="stylesheet" />      </head>      <body lang="en">      <a name="top" id="top"></a>¶", @@ -103,7 +104,7 @@ template outputXHTMLs() {      );        return o;      } -    auto seg_head(Me)( +    auto html_seg_head(Me)(        Me dochead_meta,      ) {        debug(asserts) { @@ -132,12 +133,58 @@ template outputXHTMLs() {          <meta name="generator" content="sdp [SiSU 7.1.8 of 2016w08/5 (2016-02-26)] (n*x and D)" />        </meta>        <link rel="generator" href="http://www.sisudoc.org/" /> +      <link rel="shortcut icon" href="../../image/rb7.ico" /> +      <link href="../../css/html.css" rel="stylesheet" /> +      <link href="../../../css/html.css" rel="stylesheet" /> +    </head> +    <body lang="en"> +    <a name="top" id="top"></a>¶", +    dochead_meta["title"]["full"], +    (dochead_meta["creator"]["author"].empty) ? "" : ", " ~ dochead_meta["creator"]["author"], +    ); +      return o; +    } +    auto epub3_seg_head(Me)( +      Me dochead_meta, +    ) { +      debug(asserts) { +        static assert(is(typeof(dochead_meta) == string[string][string])); +      } +      string html_simple = format(q"¶<!DOCTYPE html> +    <html>¶", +    ); +      string html_strict = format(q"¶<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" +         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +    <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">¶", +    ); +      string o; +      o = format(q"¶%s +    <head> +      <meta charset="utf-8"> +        <title> +          %s%s +        </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)" /> +      </meta> +      <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" /> +      <link rel="stylesheet" href="css/epub.css" type="text/css" id="main-css" />      </head>      <body lang="en">      <a name="top" id="top"></a>¶", +    html_strict,      dochead_meta["title"]["full"],      (dochead_meta["creator"]["author"].empty) ? "" : ", " ~ dochead_meta["creator"]["author"],      ); @@ -725,14 +772,15 @@ template outputXHTMLs() {      ) {        string _txt = obj.text;        _txt = (_txt) -        .replaceAll(rgx.newline, "<br />\n") -        .replaceAll(rgx.nbsp_char, " "); +        .replaceAll(rgx.xhtml_ampersand, "&") +        .replaceAll(rgx.xhtml_quotation, """) +        .replaceAll(rgx.xhtml_less_than, "<") +        .replaceAll(rgx.xhtml_greater_than, ">") +        .replaceAll(rgx.nbsp_char, " ");        string o;        if (obj.obj_cite_number.empty) {            o = format(q"¶  <div class="substance"> -        <p class="%s"> -%s -      </p> +        <p class="%s">%s</p>      </div>¶",            obj.is_a,            _txt diff --git a/src/sdp/output_xmls_css.d b/src/sdp/output_xmls_css.d new file mode 100644 index 0000000..8d7c0ff --- /dev/null +++ b/src/sdp/output_xmls_css.d @@ -0,0 +1,864 @@ +/++ +  default css settings ++/ +template SiSUcss() { +  auto SiSUcss() { +    string css_shared=" +  body { +    color: black; +    background: #ffffff; +    background-color: #ffffff; +  } +  a:link { +    color: #003399; +    text-decoration: none; +  } +  a:visited { +    color: #003399; +    text-decoration: none; +  } +  a:hover { +    color: #000000; +    background-color: #f9f9aa; +  } +  a.lnkocn:link { +    color: #777777; +    text-decoration: none; +  } +  a:hover img { +    background-color: #ffffff; +  } +  a:active { +    color: #003399; +    text-decoration: underline; +  } +  div { +    margin-left: 0; +    margin-right: 0; +  } +  div.p { +    margin-left: 5%; +    margin-right: 1%; +  } +  .norm, .bold, .verse, .group, .block, .alt { +    line-height: 133%; +    margin-left: 0em; +    margin-right: 2em; +    margin-top: 12px; +    margin-bottom: 0px; +    padding-left: 0em; +    text-indent: 0em; +  } +  p, h0, h1, h2, h3, h4, h5, h6, h7 { +    display: block; +    font-family: verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman; +    font-size: 100%; +    font-weight: normal; +    line-height: 133%; +    text-align: justify; +    margin-left: 0em; +    margin-right: 2em; +    text-indent: 0mm; +    margin-top: 0.8em; +    margin-bottom: 0.8em; +  } +  /* spaced */ +  p.spaced { white-space: pre; } +  /* indent */ +  p.norm { } +  p.i1 { padding-left: 1em; } +  p.i2 { padding-left: 2em; } +  p.i3 { padding-left: 3em; } +  p.i4 { padding-left: 4em; } +  p.i5 { padding-left: 5em; } +  p.i6 { padding-left: 6em; } +  p.i7 { padding-left: 7em; } +  p.i8 { padding-left: 8em; } +  p.i9 { padding-left: 9em; } +  /* hanging indent */ +  p[indent=\"h0i0\"] { +    padding-left: 0em; +    text-indent:  0em; +  } +  p[indent=\"h0i1\"] { +    padding-left: 1em; +    text-indent: -1em; +  } +  p[indent=\"h0i2\"] { +    padding-left: 2em; +    text-indent: -2em; +  } +  p[indent=\"h0i3\"] { +    padding-left: 3em; +    text-indent: -3em; +  } +  p[indent=\"h0i4\"] { +    padding-left: 4em; +    text-indent: -4em; +  } +  p[indent=\"h0i5\"] { +    padding-left: 5em; +    text-indent: -5em; +  } +  p[indent=\"h0i6\"] { +    padding-left: 6em; +    text-indent: -6em; +  } +  p[indent=\"h0i7\"] { +    padding-left: 7em; +    text-indent: -7em; +  } +  p[indent=\"h0i8\"] { +    padding-left: 8em; +    text-indent: -8em; +  } +  p[indent=\"h0i9\"] { +    padding-left: 9em; +    text-indent: -9em; +  } +  p[indent=\"h1i0\"] { +    padding-left: 0em; +    text-indent:  1em; +  } +  p[indent=\"h1i1\"] { +    padding-left: 1em; +    text-indent:  0em; +  } +  p[indent=\"h1i2\"] { +    padding-left: 2em; +    text-indent: -1em; +  } +  p[indent=\"h1i3\"] { +    padding-left: 3em; +    text-indent: -2em; +  } +  p[indent=\"h1i4\"] { +    padding-left: 4em; +    text-indent: -3em; +  } +  p[indent=\"h1i5\"] { +    padding-left: 5em; +    text-indent: -4em; +  } +  p[indent=\"h1i6\"] { +    padding-left: 6em; +    text-indent: -5em; +  } +  p[indent=\"h1i7\"] { +    padding-left: 7em; +    text-indent: -6em; +  } +  p[indent=\"h1i8\"] { +    padding-left: 8em; +    text-indent: -7em; +  } +  p[indent=\"h1i9\"] { +    padding-left: 9em; +    text-indent: -8em; +  } +  p[indent=\"h2i0\"] { +    padding-left: 0em; +    text-indent:  2em; +  } +  p[indent=\"h2i1\"] { +    padding-left: 1em; +    text-indent:  1em; +  } +  p[indent=\"h2i2\"] { +    padding-left: 2em; +    text-indent:  0em; +  } +  p[indent=\"h2i3\"] { +    padding-left: 3em; +    text-indent: -1em; +  } +  p[indent=\"h2i4\"] { +    padding-left: 4em; +    text-indent: -2em; +  } +  p[indent=\"h2i5\"] { +    padding-left: 5em; +    text-indent: -3em; +  } +  p[indent=\"h2i6\"] { +    padding-left: 6em; +    text-indent: -4em; +  } +  p[indent=\"h2i7\"] { +    padding-left: 7em; +    text-indent: -5em; +  } +  p[indent=\"h2i8\"] { +    padding-left: 8em; +    text-indent: -6em; +  } +  p[indent=\"h2i9\"] { +    padding-left: 9em; +    text-indent: -7em; +  } +  p[indent=\"h3i0\"] { +    padding-left: 0em; +    text-indent:  3em; +  } +  p[indent=\"h3i1\"] { +    padding-left: 1em; +    text-indent:  2em; +  } +  p[indent=\"h3i2\"] { +    padding-left: 2em; +    text-indent:  1em; +  } +  p[indent=\"h3i3\"] { +    padding-left: 3em; +    text-indent:  0em; +  } +  p[indent=\"h3i4\"] { +    padding-left: 4em; +    text-indent: -1em; +  } +  p[indent=\"h3i5\"] { +    padding-left: 5em; +    text-indent: -2em; +  } +  p[indent=\"h3i6\"] { +    padding-left: 6em; +    text-indent: -3em; +  } +  p[indent=\"h3i7\"] { +    padding-left: 7em; +    text-indent: -4em; +  } +  p[indent=\"h3i8\"] { +    padding-left: 8em; +    text-indent: -5em; +  } +  p[indent=\"h3i9\"] { +    padding-left: 9em; +    text-indent: -6em; +  } +  p[indent=\"h4i0\"] { +    padding-left: 0em; +    text-indent:  4em; +  } +  p[indent=\"h4i1\"] { +    padding-left: 1em; +    text-indent:  3em; +  } +  p[indent=\"h4i2\"] { +    padding-left: 2em; +    text-indent:  2em; +  } +  p[indent=\"h4i3\"] { +    padding-left: 3em; +    text-indent:  1em; +  } +  p[indent=\"h4i4\"] { +    padding-left: 4em; +    text-indent:  0em; +  } +  p[indent=\"h4i5\"] { +    padding-left: 5em; +    text-indent: -1em; +  } +  p[indent=\"h4i6\"] { +    padding-left: 6em; +    text-indent: -2em; +  } +  p[indent=\"h4i7\"] { +    padding-left: 7em; +    text-indent: -3em; +  } +  p[indent=\"h4i8\"] { +    padding-left: 8em; +    text-indent: -4em; +  } +  p[indent=\"h4i9\"] { +    padding-left: 9em; +    text-indent: -5em; +  } +  p[indent=\"h5i0\"] { +    padding-left: 0em; +    text-indent:  5em; +  } +  p[indent=\"h5i1\"] { +    padding-left: 1em; +    text-indent:  4em; +  } +  p[indent=\"h5i2\"] { +    padding-left: 2em; +    text-indent:  3em; +  } +  p[indent=\"h5i3\"] { +    padding-left: 3em; +    text-indent:  2em; +  } +  p[indent=\"h5i4\"] { +    padding-left: 4em; +    text-indent:  1em; +  } +  p[indent=\"h5i5\"] { +    padding-left: 5em; +    text-indent:  0em; +  } +  p[indent=\"h5i6\"] { +    padding-left: 6em; +    text-indent: -1em; +  } +  p[indent=\"h5i7\"] { +    padding-left: 7em; +    text-indent: -2em; +  } +  p[indent=\"h5i8\"] { +    padding-left: 8em; +    text-indent: -3em; +  } +  p[indent=\"h5i9\"] { +    padding-left: 9em; +    text-indent: -4em; +  } +  p[indent=\"h6i0\"] { +    padding-left: 0em; +    text-indent:  6em; +  } +  p[indent=\"h6i1\"] { +    padding-left: 1em; +    text-indent:  5em; +  } +  p[indent=\"h6i2\"] { +    padding-left: 2em; +    text-indent:  4em; +  } +  p[indent=\"h6i3\"] { +    padding-left: 3em; +    text-indent:  3em; +  } +  p[indent=\"h6i4\"] { +    padding-left: 4em; +    text-indent:  2em; +  } +  p[indent=\"h6i5\"] { +    padding-left: 5em; +    text-indent:  1em; +  } +  p[indent=\"h6i6\"] { +    padding-left: 6em; +    text-indent:  0em; +  } +  p[indent=\"h6i7\"] { +    padding-left: 7em; +    text-indent: -1em; +  } +  p[indent=\"h6i8\"] { +    padding-left: 8em; +    text-indent: -2em; +  } +  p[indent=\"h6i9\"] { +    padding-left: 9em; +    text-indent: -3em; +  } +  p[indent=\"h7i0\"] { +    padding-left: 0em; +    text-indent:  7em; +  } +  p[indent=\"h7i1\"] { +    padding-left: 1em; +    text-indent:  6em; +  } +  p[indent=\"h7i2\"] { +    padding-left: 2em; +    text-indent:  5em; +  } +  p[indent=\"h7i3\"] { +    padding-left: 3em; +    text-indent:  4em; +  } +  p[indent=\"h7i4\"] { +    padding-left: 4em; +    text-indent:  3em; +  } +  p[indent=\"h7i5\"] { +    padding-left: 5em; +    text-indent:  2em; +  } +  p[indent=\"h7i6\"] { +    padding-left: 6em; +    text-indent:  1em; +  } +  p[indent=\"h7i7\"] { +    padding-left: 7em; +    text-indent:  0em; +  } +  p[indent=\"h7i8\"] { +    padding-left: 8em; +    text-indent: -1em; +  } +  p[indent=\"h7i9\"] { +    padding-left: 9em; +    text-indent: -2em; +  } +  p[indent=\"h8i0\"] { +    padding-left: 0em; +    text-indent:  8em; +  } +  p[indent=\"h8i1\"] { +    padding-left: 1em; +    text-indent:  7em; +  } +  p[indent=\"h8i2\"] { +    padding-left: 2em; +    text-indent:  6em; +  } +  p[indent=\"h8i3\"] { +    padding-left: 3em; +    text-indent:  5em; +  } +  p[indent=\"h8i4\"] { +    padding-left: 4em; +    text-indent:  4em; +  } +  p[indent=\"h8i5\"] { +    padding-left: 5em; +    text-indent:  3em; +  } +  p[indent=\"h8i6\"] { +    padding-left: 6em; +    text-indent:  2em; +  } +  p[indent=\"h8i7\"] { +    padding-left: 7em; +    text-indent:  1em; +  } +  p[indent=\"h8i8\"] { +    padding-left: 8em; +    text-indent:  0em; +  } +  p[indent=\"h8i9\"] { +    padding-left: 9em; +    text-indent: -1em; +  } +  p[indent=\"h9i0\"] { +    padding-left: 0em; +    text-indent:  9em; +  } +  p[indent=\"h9i1\"] { +    padding-left: 1em; +    text-indent:  8em; +  } +  p[indent=\"h9i2\"] { +    padding-left: 2em; +    text-indent:  7em; +  } +  p[indent=\"h9i3\"] { +    padding-left: 3em; +    text-indent:  6em; +  } +  p[indent=\"h9i4\"] { +    padding-left: 4em; +    text-indent:  5em; +  } +  p[indent=\"h9i5\"] { +    padding-left: 5em; +    text-indent:  4em; +  } +  p[indent=\"h9i6\"] { +    padding-left: 6em; +    text-indent:  3em; +  } +  p[indent=\"h9i7\"] { +    padding-left: 7em; +    text-indent:  2em; +  } +  p[indent=\"h9i8\"] { +    padding-left: 8em; +    text-indent:  1em; +  } +  p[indent=\"h9i9\"] { +    padding-left: 9em; +    text-indent:  0em; +  } +  p.block { +    white-space: pre; +  } +  p.group { } +  p.alt { } +  p.verse { +    white-space: pre; +    margin-bottom: 6px; +  } +  p.code { +    font-family: inconsolata, andale mono, courier new, courier, monospace; +    font-size: 90%; +    text-align: left; +    background-color: #eeeeee; +    white-space: pre; +    margin-top: 0px; +    margin-bottom: 0px; +  } +  p.caption { +    text-align: left; +    font-size: 80%; +    display: inline; +  } +  p.endnote { +    font-size: 96%; +    line-height: 120%; +    text-align: left; +    margin-right: 15mm; +  } +  p.endnote_indent { +    font-size: 96%; +    line-height: 120%; +    text-align: left; +    margin-left: 2em; +    margin-right: 15mm; +  } +  p.center { +    text-align: center; +  } +  p.bold { +    font-weight: bold; +  } +  p.bold_left { +    font-weight: bold; +    text-align: left; +  } +  p.centerbold { +    text-align: center; +    font-weight: bold; +  } +  p.em { +    font-weight: bold; +    font-style: normal; +    background: #fff3b6; +  } +  p.small { +    font-size: 80%; +    margin-top: 0px; +    margin-bottom: 0px; +    margin-right: 6px; +    text-align: left; +  } +  .tiny, .tiny_left, .tiny_right, .tiny_center { +    font-size: 10px; +    margin-top: 0px; +    margin-bottom: 0px; +    color: #777777; +    margin-right: 6px; +    text-align: left; +  } +  p.tiny { } +  p.tiny_left { +    margin-left: 0px; +    margin-right: 0px; +    text-align: left; +  } +  p.tiny_right { +    margin-right: 1em; +    text-align: right; +  } +  p.tiny_center { +    margin-left: 0px; +    margin-right: 0px; +    text-align: center; +  } +  p.concordance_word { +    line-height: 150%; +    font-weight: bold; +    display: inline; +    margin-top: 4px; +    margin-bottom: 1px; +  } +  p.concordance_count { +    font-size: 80%; +    color: #777777; +    display: inline; +    margin-left: 0em; +  } +  p.concordance_object { +    font-size: 80%; +    line-height: 120%; +    text-align: left; +    margin-left: 3em; +    margin-top: 1px; +    margin-bottom: 3px; +  } +  p.book_index_lev1 { +    line-height: 100%; +    margin-top: 4px; +    margin-bottom: 1px; +  } +  p.book_index_lev2 { +    line-height: 100%; +    text-align: left; +    margin-left: 3em; +    margin-top: 1px; +    margin-bottom: 3px; +  } +  tt { +    font-family: inconsolata, andale mono, courier new, courier, monospace; +    background-color: #eeeeee; +  } +  note { white-space: pre; } +  label.ocn { +    width: 2%; +    float: right; +    top: 0; +    font-size: 10px; +    margin-top: 0px; +    margin-bottom: 5px; +    color: #777777; +    margin-right: 5px; +    text-align: right; +    background-color: #ffffff; +  } +  table { } +  tr { } +  th,td { +    vertical-align: top; +    text-align: left; +  } +  th { +    font-weight: bold; +  } +  em { +    font-weight: bold; +    font-style: italic; +  } +  p.left,th.left,td.left { +    text-align: left; +  } +  p.small_left,th.small_left,td.small_left { +    text-align: left; +    font-size: 80%; +  } +  p.right,th.right,td.right { +    text-align: right; +  } +  ul, li { +    list-style-type: none; +    list-style: none; +    padding-left: 20px; +    display: block; +    font-family: verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman; +    font-weight: normal; +    line-height: 150%; +    text-align: left; +    text-indent: 0mm; +    margin-left: 1em; +    margin-right: 2em; +    margin-top: 3px; +    margin-bottom: 3px; +  } +  li { +    background: url(../image_sys/bullet_09.png) no-repeat 0px 6px; +  } +  ul { +  } +  h0, h1, h2, h3, h4, h5, h6, h7 { +    font-weight: bold; +    line-height: 120%; +    text-align: left; +    margin-top: 20px; +    margin-bottom: 10px; +  } +  h4.norm, h5.norm, h6.norm, h7.norm { +    margin-top: 10px; +    margin-bottom: 0px; +  } +  h0 { font-size: 125%; } +  h1 { font-size: 120%; } +  h2 { font-size: 115%; } +  h3 { font-size: 110%; } +  h4 { font-size: 105%; } +  h5 { font-size: 100%; } +  h6 { font-size: 100%; } +  h7 { font-size: 100%; } +  h0, h1, h2, h3, h4, h5, h6, h7 { text-shadow: .2em .2em .3em gray; } +  h1.i { margin-left: 2em; } +  h2.i { margin-left: 3em; } +  h3.i { margin-left: 4em; } +  h4.i { margin-left: 5em; } +  h5.i { margin-left: 6em; } +  h6.i { margin-left: 7em; } +  h7.i { margin-left: 8em; } +  h8.i { margin-left: 9em; } +  h9.i { margin-left: 10em; } +  .toc { +    font-weight: normal; +    margin-top: 6px; +    margin-bottom: 6px; +  } +  h0.toc { +    margin-left: 1em; +    font-size: 120%; +    line-height: 150%; +  } +  h1.toc { +    margin-left: 1em; +    font-size: 115%; +    line-height: 150%; +  } +  h2.toc { +    margin-left: 2em; +    font-size: 110%; +    line-height: 140%; +  } +  h3.toc { +    margin-left: 3em; +    font-size: 105%; +    line-height: 120%; +  } +  h4.toc { +    margin-left: 4em; +    font-size: 100%; +    line-height: 120%; +  } +  h5.toc { +    margin-left: 5em; +    font-size: 95%; +    line-height: 110%; +  } +  h6.toc { +    margin-left: 6em; +    font-size: 90%; +    line-height: 110%; +  } +  h7.toc { +    margin-left: 7em; +    font-size: 85%; +    line-height: 100%; +  } +  .subtoc { +    margin-right: 34%; +    font-weight: normal; +  } +  h5.subtoc { +    margin-left: 2em; +    font-size: 80%; +    margin-top: 2px; +    margin-bottom: 2px; +  } +  h6.subtoc { +    margin-left: 3em; +    font-size: 75%; +    margin-top: 0px; +    margin-bottom: 0px; +  } +  h7.subtoc { +    margin-left: 4em; +    font-size: 70%; +    margin-top: 0px; +    margin-bottom: 0px; +  } +  div.substance { +    width: 100%; +    background-color: #ffffff; +  } +  div.ocn { +    width: 5%; +    float: right; +    top: 0; +    background-color: #ffffff; +  } +  div.endnote { +    width: 95%; +    background-color: #fffffff; +  } +  div.toc { +    position: absolute; +    float: left; +    margin: 0; +    padding: 0; +    padding-top: 0.5em; +    border: 0; +    width: 13em; +    background-color: #eeeeee; +    margin-right:1em; +  } +  div.summary { +    margin: 0; +    padding: 0; +    border-left: 13em solid #eeeeee; +    padding-left: 1em; +    background-color: #eeeeee; +  } +  div.content, div.main_column { +    margin: 0; +    padding: 0; +    border-left: 13em solid #ffffff; +    padding-left: 1em; +    padding-right: 1em; +  } +  div.content0, div.main_column0 { +    margin: 0; +    padding: 0; +    border-left: 0% solid #ffffff; +    padding-left: 5%; +  } +  div.scroll { +    margin: 0; +    padding: 0; +    padding-left: 1em; +    padding-right: 1em; +  } +  div.content:after { +    content:' '; +    clear:both; +    display:block; +    height:0; +    overflow:hidden +  } +  div.footer { +    clear:left; +    padding: 0.5em; +    font-size: 80%; +    margin: 0; +  } +  div.toc ul { +    list-style: none; +    padding: 0; +    margin: 0; +  } +  div.toc li ul a, li ul span.currentlink +  { +    font-weight: normal; +    font-size: 90%; +    padding-left: 2em; +    background-color: #eeeeee; +  } +  div.toc a, span.currentlink{ +    display:block; +    text-decoration: none; +    padding-left: 0.5em; +    color: #0000aa; +  } +  hr { +    width: 90%; +    margin-top: 1.8em; +    margin-bottom: 1.8em; +  } +  span.currentlink { +    text-decoration: none; +    background-color: #aaaaf9; +  } +  div.toc a:visited { +    color: #0000aa; +  } +  div.toc a:hover { +    color: #000000; +    background-color: #f9f9aa; +  } +"; +    struct _CSS { +      auto html_css() { +        string _css = "/* SiSU css html stylesheet */\n" ~ css_shared; +        return _css; +      } +      auto epub_css() { +        string _css = "/* SiSU css epub stylesheet */\n" ~ css_shared; +        return _css; +      } +    } +    return _CSS(); +  } +} diff --git a/src/sdp/source_sisupod.d b/src/sdp/source_sisupod.d index 9b48ddb..8718074 100644 --- a/src/sdp/source_sisupod.d +++ b/src/sdp/source_sisupod.d @@ -25,7 +25,7 @@ template SiSUpod() {      create_zip_file,      defaults,      output_rgx, -    output_xhtmls, +    output_xmls,      paths_output;    void SiSUpod(T)(T doc_matters) {      debug(asserts) { | 
