diff options
Diffstat (limited to 'src')
| -rwxr-xr-x | src/doc_reform/doc_reform.d | 16 | ||||
| -rw-r--r-- | src/doc_reform/meta/rgx.d | 6 | ||||
| -rw-r--r-- | src/doc_reform/output/hub.d | 8 | ||||
| -rw-r--r-- | src/doc_reform/output/rgx.d | 6 | ||||
| -rw-r--r-- | src/doc_reform/output/source_pod.d | 278 | ||||
| -rw-r--r-- | src/doc_reform/source/paths_source.d | 34 | ||||
| -rw-r--r-- | src/doc_reform/source/read_source_files.d | 10 | 
7 files changed, 318 insertions, 40 deletions
| diff --git a/src/doc_reform/doc_reform.d b/src/doc_reform/doc_reform.d index 2e581a0..4a0a9b5 100755 --- a/src/doc_reform/doc_reform.d +++ b/src/doc_reform/doc_reform.d @@ -73,7 +73,7 @@ void main(string[] args) {      "parallelise"        : true,      "parallelise-subprocesses" : false,      "quiet"              : false, -    "sisupod"            : false, +    "pod"                : false,      "source"             : false,      "sqlite-discrete"    : false,      "sqlite-db-create"   : false, @@ -118,7 +118,7 @@ void main(string[] args) {      "parallelise",        "--parallelise parallelisation",                                            &opts["parallelise"],      "parallelise-subprocesses", "--parallelise-subprocesses nested parallelisation",                  &opts["parallelise-subprocesses"],      "quiet",              "--quiet output to terminal",                                               &opts["quiet"], -    "sisupod",            "--sisupod sisupod source content bundled",                                 &opts["sisupod"], +    "pod",                "--pod doc reform pod source content bundled",                              &opts["pod"],      "source",             "--source markup source text content",                                      &opts["source"],      "sqlite-discrete",    "--sqlite process discrete sqlite output",                                  &opts["sqlite-discrete"],      "sqlite-db-create",   "--sqlite-db-create create db, create tables",                              &opts["sqlite-db-create"], @@ -150,7 +150,7 @@ void main(string[] args) {    if (helpInfo.helpWanted) {      defaultGetoptPrinter("Some information about the program.", helpInfo.options);    } -  enum outTask { sisupod, source, sqlite, sqlite_multi, epub, html_scroll, html_seg, html_stuff } +  enum outTask { pod, source, sqlite, sqlite_multi, epub, html_scroll, html_seg, html_stuff }    struct OptActions {      auto assertions() {        return opts["assertions"]; @@ -214,8 +214,8 @@ void main(string[] args) {      auto quiet() {        return opts["quiet"];      } -    auto sisupod() { -      return opts["sisupod"]; +    auto pod() { +      return opts["pod"];      }      auto source() {        return opts["source"]; @@ -329,8 +329,8 @@ void main(string[] args) {      }      auto output_task_scheduler() {        int[] schedule; -      if (sisupod) { -        schedule ~= outTask.sisupod; +      if (pod) { +        schedule ~= outTask.pod;        }        if (source) {          schedule ~= outTask.source; @@ -359,7 +359,7 @@ void main(string[] args) {          || epub          || html          || manifest -        || sisupod +        || pod          || source          || sqlite_discrete          || sqlite_delete diff --git a/src/doc_reform/meta/rgx.d b/src/doc_reform/meta/rgx.d index 5be26a8..2ff08b3 100644 --- a/src/doc_reform/meta/rgx.d +++ b/src/doc_reform/meta/rgx.d @@ -209,12 +209,12 @@ static template DocReformRgxInit() {      static special_markup_chars                           = ctRegex!(`[【】〖〗┥┝┤├¤░┘┙┚┼┿╂┊┏┚┆■]`, "mg");      static src_pth_sst_or_ssm                             = ctRegex!(`^(?P<path>[/]?(?:[a-zA-Z0-9._-]+/)*)(?P<filename>[a-zA-Z0-9._-]+[.](?P<extension>ss[tm]))$`);      static src_pth_pod_sst_or_ssm                         = ctRegex!(`^(?P<podpath>[/]?(?:[a-zA-Z0-9._-]+/)*)media/text/[a-z]{2}/(?P<filename>[a-zA-Z0-9._-]+[.]ss[tm])$`); -    static src_pth_contents                               = ctRegex!(`^(?P<path>[/]?(?:[a-zA-Z0-9._-]+/)*)(?P<filename>[a-zA-Z0-9._-]+)/sisupod[.]manifest$`); -    static src_pth_pod_root                               = ctRegex!(`^(?P<podroot>(?:[/]?(?:[a-zA-Z0-9._-]+/)*)(sisupod))$`); +    static src_pth_contents                               = ctRegex!(`^(?P<path>[/]?(?:[a-zA-Z0-9._-]+/)*)(?P<filename>[a-zA-Z0-9._-]+)/pod[.]manifest$`); +    static src_pth_pod_root                               = ctRegex!(`^(?P<podroot>(?:[/]?(?:[a-zA-Z0-9._-]+/)*)(pod))$`);      static src_pth_zip                                    = ctRegex!(`^(?P<path>[/]?(?:[a-zA-Z0-9._-]+/)*)(?P<filename>[a-zA-Z0-9._-]+[.]zip)$`);      static src_pth_unzip_pod                              = ctRegex!(`^(?P<path>media/text/[a-z]{2}/)*(?P<filename>[a-zA-Z0-9._-]+[.]ss[im])$`);      static src_pth_types                                  = -      ctRegex!(`^(?P<path>[/]?[a-zA-Z0-9._-]+/)*(?P<gotfile>(?P<filename>[a-zA-Z0-9._-]+[.]ss[tm])|(?P<filelist>[a-zA-Z0-9._-]+/sisupod[.]manifest)|(?P<filezip>[a-zA-Z0-9._-]+[.]zip))$`); +      ctRegex!(`^(?P<path>[/]?[a-zA-Z0-9._-]+/)*(?P<gotfile>(?P<filename>[a-zA-Z0-9._-]+[.]ss[tm])|(?P<filelist>[a-zA-Z0-9._-]+/pod[.]manifest)|(?P<filezip>[a-zA-Z0-9._-]+[.]zip))$`);      static pod_content_location                           =        ctRegex!(`^(?P<filename>[a-zA-Z0-9._-]+[.]ss[tm])(?P<languages>(?:\s+[a-z]{2}(?:,|$))+)`, "mg");      static src_fn                                         = diff --git a/src/doc_reform/output/hub.d b/src/doc_reform/output/hub.d index 409f2bc..5e036dd 100644 --- a/src/doc_reform/output/hub.d +++ b/src/doc_reform/output/hub.d @@ -9,7 +9,7 @@ template outputHub() {      doc_reform.output.html,      doc_reform.output.sqlite,      doc_reform.output.xmls, -    doc_reform.output.source_sisupod, +    doc_reform.output.source_pod,      doc_reform.output.create_zip_file,      doc_reform.output.paths_output;    import std.parallelism; @@ -18,10 +18,10 @@ template outputHub() {      mixin Msg;      auto msg = Msg!()(doc_matters);      static auto rgx = Rgx(); -    enum outTask { sisupod, source, sqlite, sqlite_multi, epub, html_scroll, html_seg, html_stuff } +    enum outTask { pod, source, sqlite, sqlite_multi, epub, html_scroll, html_seg, html_stuff }      void Scheduled(D,I)(int sched, D doc_abstraction, I doc_matters) {        auto msg = Msg!()(doc_matters); -      if (sched == outTask.sisupod) { +      if (sched == outTask.pod) {          msg.v("sisu source processing... ");          DocReformPod!()(doc_matters);          msg.vv("sisu source done"); @@ -78,7 +78,7 @@ template outputHubOp() {      doc_reform.output.html,      doc_reform.output.sqlite,      doc_reform.output.xmls, -    doc_reform.output.source_sisupod, +    doc_reform.output.source_pod,      doc_reform.output.create_zip_file,      doc_reform.output.paths_output;    void outputHubOp(E,O)(E env, O opt_action) { diff --git a/src/doc_reform/output/rgx.d b/src/doc_reform/output/rgx.d index 6896237..02c3cbb 100644 --- a/src/doc_reform/output/rgx.d +++ b/src/doc_reform/output/rgx.d @@ -18,12 +18,12 @@ static template DocReformOutputRgxInit() {      static special_markup_chars                           = ctRegex!(`[【】〖〗┥┝┤├¤░┘┙┚┼┿╂┊┏┚┆■]`, "mg");      static src_pth_sst_or_ssm                             = ctRegex!(`^(?P<path>[/]?(?:[a-zA-Z0-9._-]+/)*)(?P<filename>[a-zA-Z0-9._-]+[.](?P<extension>ss[tm]))$`);      static src_pth_pod_sst_or_ssm                         = ctRegex!(`^(?P<podpath>[/]?(?:[a-zA-Z0-9._-]+/)*)media/text/[a-z]{2}/(?P<filename>[a-zA-Z0-9._-]+[.]ss[tm])$`); -    static src_pth_contents                               = ctRegex!(`^(?P<path>[/]?(?:[a-zA-Z0-9._-]+/)*)(?P<filename>[a-zA-Z0-9._-]+)/sisupod[.]manifest$`); -    static src_pth_pod_root                               = ctRegex!(`^(?P<podroot>(?:[/]?(?:[a-zA-Z0-9._-]+/)*)(sisupod))$`); +    static src_pth_contents                               = ctRegex!(`^(?P<path>[/]?(?:[a-zA-Z0-9._-]+/)*)(?P<filename>[a-zA-Z0-9._-]+)/pod[.]manifest$`); +    static src_pth_pod_root                               = ctRegex!(`^(?P<podroot>(?:[/]?(?:[a-zA-Z0-9._-]+/)*)(pod))$`);      static src_pth_zip                                    = ctRegex!(`^(?P<path>[/]?(?:[a-zA-Z0-9._-]+/)*)(?P<filename>[a-zA-Z0-9._-]+[.]zip)$`);      static src_pth_unzip_pod                              = ctRegex!(`^(?P<path>media/text/[a-z]{2}/)*(?P<filename>[a-zA-Z0-9._-]+[.]ss[im])$`);      static src_pth_types                                  = -      ctRegex!(`^(?P<path>[/]?[a-zA-Z0-9._-]+/)*(?P<gotfile>(?P<filename>[a-zA-Z0-9._-]+[.]ss[tm])|(?P<filelist>[a-zA-Z0-9._-]+/sisupod[.]manifest)|(?P<filezip>[a-zA-Z0-9._-]+[.]zip))$`); +      ctRegex!(`^(?P<path>[/]?[a-zA-Z0-9._-]+/)*(?P<gotfile>(?P<filename>[a-zA-Z0-9._-]+[.]ss[tm])|(?P<filelist>[a-zA-Z0-9._-]+/pod[.]manifest)|(?P<filezip>[a-zA-Z0-9._-]+[.]zip))$`);      static pod_content_location                           =        ctRegex!(`^(?P<filename>[a-zA-Z0-9._-]+[.]ss[tm])(?P<languages>(?:\s+[a-z]{2}(?:,|$))+)`, "mg");      static src_fn                                         = diff --git a/src/doc_reform/output/source_pod.d b/src/doc_reform/output/source_pod.d new file mode 100644 index 0000000..4303c32 --- /dev/null +++ b/src/doc_reform/output/source_pod.d @@ -0,0 +1,278 @@ +module doc_reform.output.source_pod; +template DocReformPod() { +  import doc_reform.output; +  import +    std.digest.sha, +    std.file, +    std.outbuffer, +    std.zip, +    std.conv : to; +  import +    doc_reform.output.create_zip_file, +    doc_reform.output.xmls; +  void DocReformPod(T)(T doc_matters) { +    debug(asserts) { +      // static assert(is(typeof(doc_matters) == tuple)); +    } +    mixin DocReformOutputRgxInit; +    string pwd = doc_matters.env.pwd; +    auto src_path_info = doc_matters.src_path_info; +    auto pth_sisudoc_src = doc_matters.src_path_info; +    auto pths_pod = DocReformPathsPods!()(doc_matters); +    mixin DocReformLanguageCodes; +    auto lang = Lang(); +    static auto rgx = Rgx(); +    assert (doc_matters.src.filename.match(rgx.src_fn)); +    try { +      /+ create directory structure +/ +      if (!exists(pths_pod.pod_dir_())) { +        // used both by pod zipped (& pod filesystem (unzipped) which makes its own recursive dirs) +        pths_pod.pod_dir_().mkdirRecurse; +      } +      if (doc_matters.opt.action.source) { +        if (!exists(pths_pod.text_root(doc_matters.src.filename).filesystem_open_zpod)) { +          pths_pod.text_root(doc_matters.src.filename).filesystem_open_zpod.mkdirRecurse; +        } +        if (!exists(pths_pod.conf_root(doc_matters.src.filename).filesystem_open_zpod)) { +          pths_pod.conf_root(doc_matters.src.filename).filesystem_open_zpod.mkdirRecurse; +        } +        if (!exists(pths_pod.media_root(doc_matters.src.filename).filesystem_open_zpod)) { +          pths_pod.media_root(doc_matters.src.filename).filesystem_open_zpod.mkdirRecurse; +        } +        if (!exists(pths_pod.css(doc_matters.src.filename).filesystem_open_zpod)) { +          pths_pod.css(doc_matters.src.filename).filesystem_open_zpod.mkdirRecurse; +        } +        if (!exists(pths_pod.image_root(doc_matters.src.filename).filesystem_open_zpod)) { +          pths_pod.image_root(doc_matters.src.filename).filesystem_open_zpod.mkdirRecurse; +        } +        if (!exists(pths_pod.doc_lng(doc_matters.src.filename, doc_matters.src.language).filesystem_open_zpod)) { +          pths_pod.doc_lng(doc_matters.src.filename, doc_matters.src.language).filesystem_open_zpod.mkdirRecurse; +        } +      } +      debug(pod) { +        writeln(__LINE__, ": ", +          doc_matters.src.filename, " -> ", +          pths_pod.fn_doc(doc_matters.src.filename, doc_matters.src.language).filesystem_open_zpod +        ); +      } +      auto zip = new ZipArchive(); +      auto fn_pod = pths_pod.pod_filename(doc_matters.src.filename).zpod; +      { /+ bundle images +/ +        foreach (image; doc_matters.srcs.image_list) { +          debug(podimages) { +            writeln( +              pth_sisudoc_src.image_root.to!string, "/", image, " -> ", +              pths_pod.image_root(doc_matters.src.filename).zpod, "/", image +            ); +          } +          auto fn_src_in = doc_matters.src.image_dir_path ~ "/" ~ image; +          auto fn_src_out_pod_zip_base +            = pths_pod.image_root(doc_matters.src.filename).zpod.to!string +            ~ "/" ~ image; +          auto fn_src_out_filesystem +            = pths_pod.image_root(doc_matters.src.filename).filesystem_open_zpod.to!string +            ~ "/" ~ image; +          if (exists(fn_src_in)) { +            debug(io) { +              writeln("(io debug) src out found: ", fn_src_in); +            } +            if (doc_matters.opt.action.source) { +              fn_src_in.copy(fn_src_out_filesystem); +            } +            if (doc_matters.opt.action.pod) { +              auto zip_arc_member_file = new ArchiveMember(); +              zip_arc_member_file.name = fn_src_out_pod_zip_base; +              auto zip_data = new OutBuffer(); +              zip_data.write(cast(char[]) ((fn_src_in).read)); +              zip_arc_member_file.expandedData = zip_data.toBytes(); +              zip.addMember(zip_arc_member_file); +            } +          } else { +            if (doc_matters.opt.action.verbose) { +              writeln("WARNING (io) src out NOT found (image): ", fn_src_in); +            } +          } +        } +      } { /+ bundle sisu_document_make +/ +        auto fn_src_in = ((doc_matters.src.is_pod) +          ? doc_matters.src.conf_dir_path +          : pth_sisudoc_src.conf_root).to!string +          ~ "/" ~ "sisu_document_make"; +        auto fn_src_out_pod_zip_base +          = pths_pod.conf_root(doc_matters.src.filename).zpod.to!string ~ "/" ~ "sisu_document_make"; +        auto fn_src_out_filesystem +          = pths_pod.conf_root(doc_matters.src.filename).filesystem_open_zpod.to!string +          ~ "/" ~ "sisu_document_make"; +        if (exists(fn_src_in)) { +          debug(io) { +            writeln("(io debug) src out found: ", fn_src_in); +          } +          if (doc_matters.opt.action.source) { +            fn_src_in.copy(fn_src_out_filesystem); +          } +          if (doc_matters.opt.action.pod) { +            auto zip_arc_member_file = new ArchiveMember(); +            zip_arc_member_file.name = fn_src_out_pod_zip_base; +            auto zip_data = new OutBuffer(); +            zip_data.write((fn_src_in).readText); +            zip_arc_member_file.expandedData = zip_data.toBytes(); +            zip.addMember(zip_arc_member_file); +          } +        } else { +          if (doc_matters.opt.action.verbose +          || doc_matters.opt.action.debug_do) { +            writeln("WARNING (io) src out NOT found (document make): ", fn_src_in); +          } +        } +      } { /+ bundle primary file +/ +        auto fn_src_in = doc_matters.src.file_with_absolute_path.to!string; +        auto fn_src_out_pod_zip_base +          = pths_pod.fn_doc(doc_matters.src.filename, doc_matters.src.language).zpod.to!string; +        auto fn_src_out_filesystem +          = pths_pod.fn_doc(doc_matters.src.filename, doc_matters.src.language).filesystem_open_zpod.to!string; // without root path: +        auto fn_src_out_inside_pod +          = pths_pod.fn_doc(doc_matters.src.filename, doc_matters.src.language).zpod.to!string; // without root path: +        string[] filelist_src_out_pod_arr; +        string[] filelist_src_zpod_arr; +        if (exists(fn_src_in)) { +          debug(io) { +            writeln("(io debug) src in found: ", fn_src_in); +          } +          filelist_src_out_pod_arr ~= fn_src_out_pod_zip_base; +          filelist_src_zpod_arr ~= fn_src_out_inside_pod; +          if (doc_matters.opt.action.source) { +            auto filelist +              = File(pths_pod.fn_pod_filelist(doc_matters.src.filename).filesystem_open_zpod, "w"); +            foreach (source_pth_and_fn; filelist_src_zpod_arr) { +              filelist.writeln(source_pth_and_fn); +            } +            fn_src_in.copy(fn_src_out_filesystem); +          } +          if (doc_matters.opt.action.pod) { +            auto zip_arc_member_file = new ArchiveMember(); +            zip_arc_member_file.name = fn_src_out_pod_zip_base; +            auto zip_data = new OutBuffer(); +            zip_data.write((fn_src_in).readText); +            zip_arc_member_file.expandedData = zip_data.toBytes(); +            zip.addMember(zip_arc_member_file); +          } +        } else { +          if (doc_matters.opt.action.verbose +          || doc_matters.opt.action.debug_do) { +            writeln("WARNING (io) src in NOT found (markup source): ", fn_src_in); +          } +        } +      } { /+ bundle insert files +/ +        if (doc_matters.srcs.file_insert_list.length > 0) { +          foreach (insert_file; doc_matters.srcs.file_insert_list) { +            debug(pod) { +              writeln( +                insert_file, " -> ", +                pths_pod.fn_doc_insert( +                  doc_matters.src.filename, +                  insert_file, +                  doc_matters.src.language, +                ).zpod +              ); +            } +            auto fn_src_in = insert_file; +            auto fn_src_out_pod_zip_base +              = pths_pod.fn_doc_insert( +                doc_matters.src.filename, +                insert_file, +                doc_matters.src.language, +              ).zpod.to!string; +            auto fn_src_out_filesystem +              = pths_pod.fn_doc_insert( +                doc_matters.src.filename, +                insert_file, +                doc_matters.src.language, +              ).filesystem_open_zpod.to!string; +            if (exists(fn_src_in)) { +              debug(io) { +                writeln("(io debug) src out found: ", fn_src_in); +              } +              if (doc_matters.opt.action.source) { +                fn_src_in.copy(fn_src_out_filesystem); +              } +              if (doc_matters.opt.action.pod) { +                auto zip_arc_member_file = new ArchiveMember(); +                zip_arc_member_file.name = fn_src_out_pod_zip_base; +                auto zip_data = new OutBuffer(); +                zip_data.write((fn_src_in).readText); +                zip_arc_member_file.expandedData = zip_data.toBytes(); +                zip.addMember(zip_arc_member_file); +                createZipFile!()(fn_pod, zip.build()); +              } +            } else { +              if (doc_matters.opt.action.verbose +              || doc_matters.opt.action.debug_do) { +                writeln("WARNING (io) src out NOT found (insert file): ", fn_src_in); +              } +            } +          } +        } +      } { +        auto fn_src_in = doc_matters.src.filename; +        if (doc_matters.opt.action.pod) { +          if (exists(doc_matters.src.file_with_absolute_path)) { +            createZipFile!()(fn_pod, zip.build()); +          } else { +            writeln("WARNING check missing source file(s): ", doc_matters.opt.action.pod); +          } +          if (!(exists(fn_pod))) { +            writeln("WARNING failed to create pod zip archive: ", fn_pod); +          } +        } +      } +      if (exists(fn_pod)) { +        try { +          if (doc_matters.opt.action.verbose) { +            auto data = (cast(byte[]) (fn_pod).read); +            writeln(doc_matters.src.filename, " >> "); +            writefln("%-(%02x%) %s", data.sha256Of, fn_pod); +          } +          debug(pod) { +            try { +              auto zipped = new ZipArchive((fn_pod).read); +              foreach (filename, member; zipped.directory) { +                auto data = zipped.expand(member); +                writeln("> ", filename, " length ", data.length); +              } +            } +            catch (ZipException ex) { +              // Handle errors +            } +            if (doc_matters.src.filename == "sisudoc/media/text/en/the_wealth_of_networks.yochai_benkler.sst") { +              assert( +                ((data).sha256Of).toHexString +                == "626F83A31ED82F42CF528E922C1643498A137ABA3F2E5AFF8A379EA79EA22A1E", +                "\npod: sha256 value for " +                ~ doc_matters.src.filename +                ~ " has changed, is now: " +                ~ ((data).sha256Of).toHexString +              ); +            } +            if (doc_matters.src.filename == "sisudoc/media/text/en/sisu_markup_stress_test.sst") { +              assert( +                ((data).sha256Of).toHexString +                == "AAE0C87AB3F6D5F7385AEEA6EE661F56D40475CFE87AD930C78C9FE07FFB0D91", +                "\npod: sha256 value for " +                ~ doc_matters.src.filename +                ~ " has changed, is now: " +                ~ ((data).sha256Of).toHexString +              ); +            } +          } +        } +        catch (ErrnoException ex) { +          // Handle errors +        } +      } +       +    } +    catch (ErrnoException ex) { +      // Handle error +    } +  } +} diff --git a/src/doc_reform/source/paths_source.d b/src/doc_reform/source/paths_source.d index 1131b20..70e2fc4 100644 --- a/src/doc_reform/source/paths_source.d +++ b/src/doc_reform/source/paths_source.d @@ -19,7 +19,7 @@ template PodManifest() {    ) {      struct ManifestFile_ {        string pod_manifest_filename() { -        return "sisupod.manifest"; +        return "pod.manifest";        }        string pod_manifest_path() {          string _manifest_path; @@ -102,9 +102,9 @@ template PathMatters() {            auto collection_root() {              auto _collection_root = asNormalizedPath(chainPath(_manifest.pod_manifest_path, "..")).array;              if (auto m = (_collection_root).match(rgx.src_pth_pod_root)) { -            // consider testing for last dir in path name being sisupod, and giving warning if not +            // consider testing for last dir in path name being pod, and giving warning if not              } else { -              writeln("WARNING, collection_root not named \"sisupod\""); +              writeln("WARNING, collection_root not named \"pod\"");              }              return _collection_root;            } @@ -217,7 +217,7 @@ template PathMatters() {               filename ~ _sep ~ lng               * unique per src pod               used by -             - sisupod (multilingual collection) +             - pod (multilingual collection)               - sqlite discrete index (multilingual collection)            +/              string _fn; @@ -243,7 +243,7 @@ template PathMatters() {              string _dir;              if (                auto m = (absolute_path_to_src) -              .match(regex(r"[/](?P<dir>(?:[a-zA-Z0-9._-]+))/sisupod/" ~ filename.stripExtension)) +              .match(regex(r"[/](?P<dir>(?:[a-zA-Z0-9._-]+))/pod/" ~ filename.stripExtension))              ) {                _dir = asNormalizedPath(path_and_fn.chainPath("../../")).array;                assert(_dir == m.captures["dir"]); @@ -261,7 +261,7 @@ template PathMatters() {              string _dir;              if (                auto m = (absolute_path_to_src) -              .match(regex(r"[/](?P<dir>(?:[a-zA-Z0-9._-]+))/sisupod/" ~ filename.stripExtension)) +              .match(regex(r"[/](?P<dir>(?:[a-zA-Z0-9._-]+))/pod/" ~ filename.stripExtension))              ) {                _dir = asNormalizedPath(path_and_fn.chainPath("../../")).array;              } else { @@ -278,7 +278,7 @@ template PathMatters() {                _dir = asNormalizedPath(m.captures["pth"]).array;              } else if (               auto m = (absolute_path_to_src) -             .match(regex(r"[/](?P<dir>(?:[a-zA-Z0-9._-]+))/sisupod/" ~ filename.stripExtension)) +             .match(regex(r"[/](?P<dir>(?:[a-zA-Z0-9._-]+))/pod/" ~ filename.stripExtension))              ) {                _dir = asNormalizedPath(path_and_fn.chainPath("../")).array;              } else { @@ -324,7 +324,7 @@ template PathMatters() {              string _dir;              if (                auto m = (absolute_path_to_src) -              .match(regex(r"[/](?P<dir>(?:[a-zA-Z0-9._-]+))/sisupod/" ~ filename.stripExtension)) +              .match(regex(r"[/](?P<dir>(?:[a-zA-Z0-9._-]+))/pod/" ~ filename.stripExtension))              ) {                _dir = m.captures["dir"];              } else { @@ -542,21 +542,21 @@ template DocReformPathsSRC() {  } -template DocReformPathsSisupods() { +template DocReformPathsPods() {    mixin DocReformRgxInit;    static auto rgx = Rgx();    string _suffix = ".zip"; -  auto DocReformPathsSisupods(Dm)(Dm doc_matters) { +  auto DocReformPathsPods(Dm)(Dm doc_matters) {      string _base_dir_pod = (doc_matters.output_path.length > 0) -    ? doc_matters.output_path ~ "/sisupod" -    : "/sisupod"; +    ? doc_matters.output_path ~ "/pod" +    : "/pod";      string _base_dir_doc = "sisudoc";      struct _PodPaths {        string base_filename_(string fn_src) {          auto pth = fn_src.baseName.stripExtension;          return pth;        } -      string sisupod_dir_() { +      string pod_dir_() {          auto pth = _base_dir_pod;          return pth;        } @@ -564,7 +564,7 @@ template DocReformPathsSisupods() {          auto pth = _base_dir_doc;          return pth;        } -      string sisupod_filename_(string fn_src) { +      string pod_filename_(string fn_src) {          string pth = _base_dir_pod.chainPath(base_filename_(fn_src) ~ _suffix).array;          return pth;        } @@ -591,9 +591,9 @@ template DocReformPathsSisupods() {          }          return _pods();        } -      auto sisupod_filename(string fn_src) { -        auto pth_1_ = sisupod_filename_(fn_src); -        auto pth_2_ = sisupod_filename_(fn_src); +      auto pod_filename(string fn_src) { +        auto pth_1_ = pod_filename_(fn_src); +        auto pth_2_ = pod_filename_(fn_src);          struct _pods {            auto zpod() {              return pth_1_; diff --git a/src/doc_reform/source/read_source_files.d b/src/doc_reform/source/read_source_files.d index 374c113..ae6f32e 100644 --- a/src/doc_reform/source/read_source_files.d +++ b/src/doc_reform/source/read_source_files.d @@ -52,7 +52,7 @@ static template DocReformRawMarkupContent() {          sourcefile_body_content = tu[0];          insert_file_list = tu[1].dup;          images_list = tu[2].dup; -      } else if (_opt_action.source || _opt_action.sisupod) { +      } else if (_opt_action.source || _opt_action.pod) {          auto ins = Inserts();          auto tu            = ins.scan_master_src_for_insert_files_and_import_content(_opt_action, sourcefile_body_content, fn_src); @@ -217,7 +217,7 @@ static template DocReformRawMarkupContent() {                markup_sourcesubfile_insert_content.length              );            } -          if (_opt_action.source || _opt_action.sisupod) { +          if (_opt_action.source || _opt_action.pod) {              _images ~= _extract_images(markup_sourcesubfile_insert_content);            }            auto ins = Inserts(); @@ -235,7 +235,7 @@ static template DocReformRawMarkupContent() {            type1["header_make"] = 0;            type1["header_meta"] = 0;            contents_insert ~= line; // images to extract for image list? -          if (_opt_action.source || _opt_action.sisupod) { +          if (_opt_action.source || _opt_action.pod) {              auto _image_linelist = _extract_images(line);              if (_image_linelist.length > 0) {                _images ~= _image_linelist; @@ -305,7 +305,7 @@ static template DocReformRawMarkupContent() {              fn_src_insert.to!string            );            contents ~= contents_insert_tu[0]; // images to extract for image list? -          if (_opt_action.source || _opt_action.sisupod) { +          if (_opt_action.source || _opt_action.pod) {              auto _image_linelist = _extract_images(contents_insert_tu[0]);              if (_image_linelist.length > 0) {                _images ~= _image_linelist; @@ -323,7 +323,7 @@ static template DocReformRawMarkupContent() {            +/          } else {            contents ~= line; -          if (_opt_action.source || _opt_action.sisupod) { +          if (_opt_action.source || _opt_action.pod) {              auto _image_linelist = _extract_images(line);              if (_image_linelist.length > 0) {                _images ~= _image_linelist; | 
