diff options
Diffstat (limited to 'org/default_paths.org')
-rw-r--r-- | org/default_paths.org | 354 |
1 files changed, 259 insertions, 95 deletions
diff --git a/org/default_paths.org b/org/default_paths.org index 24ece4e..e874340 100644 --- a/org/default_paths.org +++ b/org/default_paths.org @@ -95,8 +95,8 @@ import std.array, std.stdio; import sdp.meta.rgx; <<template_paths_sisupod>> -<<template_paths_sisupod_zipped_archive>> -<<template_paths_sisupod_unzipped_filesystem>> +<<template_paths_sisupod_shallow>> +<<template_paths_sisupods>> <<template_paths_out>> <<template_paths_html>> <<template_paths_epub>> @@ -126,28 +126,62 @@ doc └── _sisu └── sisu_document_make -*** pod archive +filelist for processing [things to ponder] + +- the plan is to have a src manifest of related .sst or .ssm files that + can be pointed to for processing +- multilingual documents [ponder persistence for multilingual documents] + - in the case of multilingual documents, there will be multiple + source documents on list with different language codes, and to build + this list, persistence is required +- inserted documents (from master .ssm or .sst) must track document root + so inserts can be located, else not found +- consider a commandline -o --output path specifier +- steps + - auto create filelist + - for single source file + - for multilinugual source files + - process document by pointing at filelist (rather than file) + - if necessary manually create filelist (for multilinugual source) + - keep document root for document inserts (.ssi) + +*** pod archive base #+name: template_paths_sisupod #+BEGIN_SRC d template SiSUpathsSisupod() { mixin SiSUrgxInit; static auto rgx = Rgx(); - string _base_dir = "sisupod"; + string _base_dir_pod = "sisupod"; + string _base_dir_doc = "sisudoc"; string _suffix = ".zip"; auto SiSUpathsSisupod()() { struct _PathsStruct { string base_filename(string fn_src) { - return fn_src.baseName.stripExtension; + auto pth = fn_src.baseName.stripExtension; + return pth; } string sisupod_dir() { - return _base_dir; + auto pth = _base_dir_pod; + return pth; + } + string sisudoc_dir() { + auto pth = _base_dir_doc; + return pth; } string sisupod_filename(string fn_src) { - return _base_dir.chainPath(base_filename(fn_src) ~ _suffix).array; + string pth = _base_dir_pod.chainPath(base_filename(fn_src) ~ _suffix).array; + return pth; + } + string base_filesystem(string fn_src) { + string pth = _base_dir_pod.chainPath(base_filename(fn_src)).array; + assert(pth == _base_dir_pod ~ "/" ~ base_filename(fn_src), + pth ~ " == " ~ _base_dir_pod ~ "/" ~ base_filename(fn_src) ~ "?"); + return pth; } - string base(string fn_src) { - return _base_dir.chainPath(base_filename(fn_src)).array; + string base_pod(string fn_src) { + string pth = _base_dir_pod.chainPath(base_filename(fn_src)).array; // change this + return pth; } } return _PathsStruct(); @@ -155,121 +189,251 @@ template SiSUpathsSisupod() { } #+END_SRC -*** pod zipped archive +*** pods internal, zipped, unzipped -#+name: template_paths_sisupod_zipped_archive +#+name: template_paths_sisupods #+BEGIN_SRC d -template SiSUpathsSisupodZipped() { +template SiSUpathsSisupods() { mixin SiSUrgxInit; static auto rgx = Rgx(); - auto SiSUpathsSisupodZipped(Ps,Lng)( + string _base_dir_pod = "sisupod"; + string _base_dir_doc = "sisudoc"; + string _suffix = ".zip"; + auto SiSUpathsSisupods(Ps,Lng)( Ps src_pth_info, Lng lng, ) { - struct _PathsStruct { - auto spod_pths = SiSUpathsSisupod!()(); - string sisupod_dir() { - return spod_pths.sisupod_dir; - } - string base_filename(string fn_src) { - return spod_pths.base_filename(fn_src); - } - string sisupod_filename(string fn_src) { - return spod_pths.sisupod_filename(fn_src); - } - string base(string fn_src) { - return spod_pths.base(fn_src); + struct _PodPaths { + string base_filename_(string fn_src) { + auto pth = fn_src.baseName.stripExtension; + return pth; + } + string sisupod_dir_() { + auto pth = _base_dir_pod; + return pth; + } + string sisudoc_dir_() { + auto pth = _base_dir_doc; + return pth; + } + string sisupod_filename_(string fn_src) { + string pth = _base_dir_pod.chainPath(base_filename_(fn_src) ~ _suffix).array; + return pth; + } + string base_filesystem_(string fn_src) { + string pth = _base_dir_pod.chainPath(base_filename_(fn_src)).array; + assert(pth == _base_dir_pod ~ "/" ~ base_filename_(fn_src), + pth ~ " == " ~ _base_dir_pod ~ "/" ~ base_filename_(fn_src) ~ "?"); + return pth; + } + string base_pod_(string fn_src) { + string pth = _base_dir_pod.chainPath(base_filename_(fn_src)).array; // change this + return pth; + } + auto base_filename(string fn_src) { + auto pth_1_ = base_filename_(fn_src); + auto pth_2_ = base_filename_(fn_src); + struct _pods { + auto zpod() { + return pth_1_; + } + auto filesystem_open_zpod() { + return pth_2_; + } + } + return _pods(); + } + auto sisupod_filename(string fn_src) { + auto pth_1_ = sisupod_filename_(fn_src); + auto pth_2_ = sisupod_filename_(fn_src); + struct _pods { + auto zpod() { + return pth_1_; + } + auto filesystem_open_zpod() { + return pth_2_; + } + } + return _pods(); + } + auto base(string fn_src) { + auto pth_1_ = ""; + auto pth_2_ = base_filesystem_(fn_src); + struct _pods { + auto zpod() { + return pth_1_; + } + auto filesystem_open_zpod() { + return pth_2_; + } + } + return _pods(); } auto pod_root(string fn_src) { - return "sisudoc"; - } - auto media_root(string fn_src) { - return pod_root(fn_src).chainPath("media").array; + auto pth_1_ = ""; + auto pth_2_ = base(fn_src).filesystem_open_zpod.chainPath("").array; // "sisudoc" + struct _pods { + auto zpod() { + return pth_1_; + } + auto filesystem_open_zpod() { + return pth_2_; + } + } + return _pods(); } auto conf_root(string fn_src) { - return pod_root(fn_src).chainPath("conf").array; - } - auto text_root(string fn_src) { - return media_root(fn_src).chainPath("text").array; - } - auto doc(string fn_src) { - return text_root(fn_src); - } - auto doc_lng(string fn_src) { - return text_root(fn_src).chainPath(lng).array; - } - auto image_root(string fn_src) { - return media_root(fn_src).chainPath("image").array; + auto pod_root_ = pod_root(fn_src); + auto pth_1_ = "conf"; + auto pth_2_ = pod_root(fn_src).filesystem_open_zpod.chainPath("conf").array; + struct _pods { + auto zpod() { + return pth_1_; + } + auto filesystem_open_zpod() { + assert(pod_root_.filesystem_open_zpod.chainPath(zpod).array == pth_2_); + return pth_2_; + } + } + return _pods(); } auto css(string fn_src) { - return conf_root(fn_src).chainPath("css").array; - } - auto fn_doc(string fn_src) { - return (doc_lng(fn_src)).chainPath(fn_src.baseName).array; - } - auto fn_doc_insert(string fn_src, string fn_insert) { - return (doc_lng(fn_src)).chainPath(fn_insert.baseName).array; - } - } - return _PathsStruct(); - } -} -#+END_SRC - -*** pod unzipped (sisusrc), archive on filesystem - -#+name: template_paths_sisupod_unzipped_filesystem -#+BEGIN_SRC d -template SiSUpathsSisupodFileSystem() { - mixin SiSUrgxInit; - static auto rgx = Rgx(); - auto SiSUpathsSisupodFileSystem(Ps,Lng)( - Ps src_pth_info, - Lng lng, - ) { - struct _PathsStruct { - auto spod_pths = SiSUpathsSisupod!()(); - string base_filename(string fn_src) { - return spod_pths.base_filename(fn_src); - } - string sisupod_filename(string fn_src) { - return spod_pths.sisupod_filename(fn_src); - } - string base(string fn_src) { - return spod_pths.base(fn_src); - } - auto pod_root(string fn_src) { - return base(fn_src).chainPath("sisudoc").array; + auto pod_root_ = pod_root(fn_src); + auto pth_1_ = conf_root(fn_src).zpod.chainPath("css").array; + auto pth_2_ = conf_root(fn_src).filesystem_open_zpod.chainPath("css").array; + struct _pods { + auto zpod() { + return pth_1_; + } + auto filesystem_open_zpod() { + assert(pod_root_.filesystem_open_zpod.chainPath(zpod).array == pth_2_); + return pth_2_; + } + } + return _pods(); } auto media_root(string fn_src) { - return pod_root(fn_src).chainPath("media").array; - } - auto conf_root(string fn_src) { - return pod_root(fn_src).chainPath("conf").array; + auto pod_root_ = pod_root(fn_src); + auto pth_1_ = "media"; + auto pth_2_ = pod_root(fn_src).filesystem_open_zpod.chainPath("media").array; + struct _pods { + auto zpod() { + return pth_1_; + } + auto filesystem_open_zpod() { + assert(pod_root_.filesystem_open_zpod.chainPath(zpod).array == pth_2_); + return pth_2_; + } + } + return _pods(); } auto text_root(string fn_src) { - return media_root(fn_src).chainPath("text").array; + auto pod_root_ = pod_root(fn_src); + auto pth_1_ = media_root(fn_src).zpod.chainPath("text").array; + auto pth_2_ = media_root(fn_src).filesystem_open_zpod.chainPath("text").array; + struct _pods { + auto zpod() { + return pth_1_; + } + auto filesystem_open_zpod() { + assert(pod_root_.filesystem_open_zpod.chainPath(zpod).array == pth_2_); + return pth_2_; + } + } + return _pods(); } auto doc(string fn_src) { - return pod_root(fn_src); + auto pod_root_ = pod_root(fn_src); + auto pth_1_ = text_root(fn_src).zpod; + auto pth_2_ = text_root(fn_src).filesystem_open_zpod; + struct _pods { + auto zpod() { + return pth_1_; + } + auto filesystem_open_zpod() { + assert(pod_root_.filesystem_open_zpod.chainPath(zpod).array == pth_2_); + return pth_2_; + } + } + return _pods(); } auto doc_lng(string fn_src) { - return text_root(fn_src).chainPath(lng).array; + auto pod_root_ = pod_root(fn_src); + auto pth_1_ = text_root(fn_src).zpod.chainPath(lng).array; + auto pth_2_ = text_root(fn_src).filesystem_open_zpod.chainPath(lng).array; + struct _pods { + auto zpod() { + return pth_1_; + } + auto filesystem_open_zpod() { + assert(pod_root_.filesystem_open_zpod.chainPath(zpod).array == pth_2_); + return pth_2_; + } + } + return _pods(); } auto image_root(string fn_src) { - return media_root(fn_src).chainPath("image").array; - } - auto css(string fn_src) { - return conf_root(fn_src).chainPath("css").array; + auto pod_root_ = pod_root(fn_src); + auto pth_1_ = media_root(fn_src).zpod.chainPath("image").array; + auto pth_2_ = media_root(fn_src).filesystem_open_zpod.chainPath("image").array; + struct _pods { + auto zpod() { + return pth_1_; + } + auto filesystem_open_zpod() { + assert(pod_root_.filesystem_open_zpod.chainPath(zpod).array == pth_2_); + return pth_2_; + } + } + return _pods(); + } + auto fn_pod_filelist(string fn_src) { + auto pod_root_ = pod_root(fn_src); + auto pth_1_ = "sisudoc.txt"; + auto pth_2_ = pod_root(fn_src).filesystem_open_zpod.chainPath("sisudoc.txt").array; + struct _pods { + auto zpod() { + return pth_1_; + } + auto filesystem_open_zpod() { + assert(pod_root_.filesystem_open_zpod.chainPath(zpod).array == pth_2_); + return pth_2_; + } + } + return _pods(); } auto fn_doc(string fn_src) { - return (doc_lng(fn_src)).chainPath(fn_src.baseName).array; + auto pod_root_ = pod_root(fn_src); + auto pth_1_ = doc_lng(fn_src).zpod.chainPath(fn_src.baseName).array; + auto pth_2_ = doc_lng(fn_src).filesystem_open_zpod.chainPath(fn_src.baseName).array; + struct _pods { + auto zpod() { + return pth_1_; + } + auto filesystem_open_zpod() { + assert(pod_root_.filesystem_open_zpod.chainPath(zpod).array == pth_2_); + return pth_2_; + } + } + return _pods(); } auto fn_doc_insert(string fn_src, string fn_insert) { - return (doc_lng(fn_src)).chainPath(fn_insert.baseName).array; + auto pod_root_ = pod_root(fn_src); + auto pth_1_ = doc_lng(fn_src).zpod.chainPath(fn_insert.baseName).array; + auto pth_2_ = doc_lng(fn_src).filesystem_open_zpod.chainPath(fn_insert.baseName).array; + struct _pods { + auto zpod() { + return pth_1_; + } + auto filesystem_open_zpod() { + assert(pod_root_.filesystem_open_zpod.chainPath(zpod).array == pth_2_); + return pth_2_; + } + } + return _pods(); } } - return _PathsStruct(); + return _PodPaths(); } } #+END_SRC |