diff options
Diffstat (limited to 'org')
| -rw-r--r-- | org/output.org | 63 | 
1 files changed, 26 insertions, 37 deletions
| diff --git a/org/output.org b/org/output.org index e0cf35b..74fca4e 100644 --- a/org/output.org +++ b/org/output.org @@ -535,9 +535,9 @@ auto endnote(O)(  #+name: output_html_scroll  #+BEGIN_SRC d -void scroll_write_output_file(Fn,D)( +void scroll_write_output_file(Fn,C)(    Fn fn_src, -  D doc, +  C doc,  ) {    debug(asserts){      static assert(is(typeof(fn_src) == string)); @@ -681,25 +681,22 @@ void scroll(C,T)(  #+name: output_html_seg  #+BEGIN_SRC d -void seg_write_output_files(Fn,FnS,D)( -  Fn fn_src, -  FnS seg_filenames, -  D doc_html, +void seg_write_output_files(M,C)( +  M doc_matters, +  C doc_html,  ) {    debug(asserts){ -    static assert(is(typeof(fn_src)        == string)); -    static assert(is(typeof(seg_filenames) == string[]));      static assert(is(typeof(doc_html)      == string[][string]));    }    mixin SiSUpaths;    auto pth_html = HtmlPaths();    auto xhtml_format = outputXHTMLs(); -  auto m = matchFirst(fn_src, rgx.src_fn); +  auto m = matchFirst(doc_matters.source_filename, rgx.src_fn);    try { -    mkdirRecurse(pth_html.seg(fn_src)); -    foreach (seg_filename; seg_filenames) { +    mkdirRecurse(pth_html.seg(doc_matters.source_filename)); +    foreach (seg_filename; doc_matters.segnames) {        // writeln(__LINE__, ": ", fn); -      auto f = File(pth_html.fn_seg(fn_src, seg_filename), "w"); +      auto f = File(pth_html.fn_seg(doc_matters.source_filename, seg_filename), "w");        /+ // f.writeln(seg_head); // not needed built and inserted earlier +/        foreach (docseg; doc_html[seg_filename]) {          f.writeln(docseg); @@ -717,16 +714,15 @@ void seg_write_output_files(Fn,FnS,D)(  #+name: output_html_seg  #+BEGIN_SRC d -void seg(C,T)( +void seg(C,M)(    auto ref const C         contents, -  auto ref T               doc_matters, +  auto ref M               doc_matters,  ) {    auto xhtml_format = outputXHTMLs();    auto rgx = Rgx();    string[][string] doc_html;    string[] doc;    string segment_filename; -  string[] seg_filenames;    string[] top_level_headings = ["","","",""];    foreach (part; doc_matters.keys_seq_seg) {      foreach (obj; contents[part]) { @@ -759,7 +755,6 @@ void seg(C,T)(            }            break;          case 4: -          seg_filenames ~= obj.segment_anchor_tag;            segment_filename = obj.segment_anchor_tag;            doc_html[segment_filename] ~= xhtml_format.seg_head(doc_matters.dochead_meta); // consider placing seg_head here as can more easily populate it with lev4 info            foreach (top_level_heading; top_level_headings) { @@ -866,7 +861,7 @@ void seg(C,T)(      }    }    writeln(doc_matters.keys_seq_seg); -  seg_write_output_files(doc_matters.source_filename, seg_filenames, doc_html); +  seg_write_output_files(doc_matters, doc_html);  }  #+END_SRC @@ -2348,7 +2343,7 @@ obj.segment_anchor_tag,   // lev < 4 [no link]; lev == 4 [filename] markup.xhtml  }  #+END_SRC -**** (sections & objects) switch (for epub xhtml output format) +**** build (sections & objects) switch (for epub xhtml output format)  #+name: output_epub_xhtml_seg  #+BEGIN_SRC d @@ -2362,7 +2357,6 @@ void doc_content(C,T)(    string[][string] doc_epub;    string[] doc;    string segment_filename; -  string[] seg_filenames;    string[] top_level_headings = ["","","",""];    auto mimetypes = epub_mimetypes;    auto meta_inf_container_xml = epub_container_xml; @@ -2401,7 +2395,6 @@ void doc_content(C,T)(            }            break;          case 4: -          seg_filenames ~= obj.segment_anchor_tag;            segment_filename = obj.segment_anchor_tag;            doc_epub[segment_filename] ~= xhtml_format.seg_head(doc_matters.dochead_meta);            foreach (top_level_heading; top_level_headings) { @@ -2515,8 +2508,7 @@ void doc_content(C,T)(    }    writeln(doc_matters.keys_seq_seg);    epub_write_output_files( -    doc_matters.source_filename, -    seg_filenames, +    doc_matters,      doc_epub,      mimetypes,      meta_inf_container_xml, @@ -2530,18 +2522,15 @@ void doc_content(C,T)(  #+name: output_epub_xhtml_seg  #+BEGIN_SRC d -void epub_write_output_files(Fn,FnS,De,Mt,Mic,Ot,Oc)( -  Fn  fn_src, -  FnS seg_filenames, -  De  doc_epub, +void epub_write_output_files(C,EpD,Mt,Mic,Ot,Oc)( +  C   doc_matters, +  EpD doc_epub,    Mt  mimetypes,    Mic meta_inf_container_xml,    Ot  oebps_toc_ncx,    Oc  oebps_content_opf,  ) {    debug(asserts){ -    static assert(is(typeof(fn_src)                 == string)); -    static assert(is(typeof(seg_filenames)          == string[]));      static assert(is(typeof(doc_epub)               == string[][string]));      static assert(is(typeof(mimetypes)              == string));      static assert(is(typeof(meta_inf_container_xml) == string)); @@ -2553,12 +2542,12 @@ void epub_write_output_files(Fn,FnS,De,Mt,Mic,Ot,Oc)(    // doc = xhtml_format.scroll_head ~ doc_epub ~  xhtml_format.tail;    auto xhtml_format = outputXHTMLs();    try { -    mkdirRecurse(pth_epub.doc_meta_inf(fn_src)); -    mkdirRecurse(pth_epub.doc_oebps_css(fn_src)); -    mkdirRecurse(pth_epub.doc_oebps_image(fn_src)); +    mkdirRecurse(pth_epub.doc_meta_inf(doc_matters.source_filename)); +    mkdirRecurse(pth_epub.doc_oebps_css(doc_matters.source_filename)); +    mkdirRecurse(pth_epub.doc_oebps_image(doc_matters.source_filename));      /+ OEBPS/[segments].xhtml +/ -    foreach (seg_filename; seg_filenames) { -      auto f = File(pth_epub.fn_oebps_content_xhtml(fn_src, seg_filename), "w"); +    foreach (seg_filename; doc_matters.segnames) { +      auto f = File(pth_epub.fn_oebps_content_xhtml(doc_matters.source_filename, seg_filename), "w");        /+ // f.writeln(seg_head); // not needed built and inserted earlier +/        foreach (docseg; doc_epub[seg_filename]) {          f.writeln(docseg); @@ -2566,16 +2555,16 @@ void epub_write_output_files(Fn,FnS,De,Mt,Mic,Ot,Oc)(        f.writeln(xhtml_format.tail); // needed for each lev4      }      /+ mimetypes +/ -    auto f = File(pth_epub.fn_mimetypes(fn_src), "w"); +    auto f = File(pth_epub.fn_mimetypes(doc_matters.source_filename), "w");      f.writeln(mimetypes);      /+  META-INF/container.xml +/ -    f = File(pth_epub.fn_dmi_container_xml(fn_src), "w"); +    f = File(pth_epub.fn_dmi_container_xml(doc_matters.source_filename), "w");      f.writeln(meta_inf_container_xml);      /+ OEBPS/toc.ncx +/ -    f = File(pth_epub.fn_oebps_toc_ncx(fn_src), "w"); +    f = File(pth_epub.fn_oebps_toc_ncx(doc_matters.source_filename), "w");      f.writeln(oebps_toc_ncx);      /+ OEBPS/content.opf +/ -    f = File(pth_epub.fn_oebps_content_opf(fn_src), "w"); +    f = File(pth_epub.fn_oebps_content_opf(doc_matters.source_filename), "w");      f.writeln(oebps_content_opf);    }    catch (ErrnoException ex) { | 
