aboutsummaryrefslogtreecommitdiffhomepage
path: root/org/default_paths.org
diff options
context:
space:
mode:
Diffstat (limited to 'org/default_paths.org')
-rw-r--r--org/default_paths.org354
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