aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/doc_reform/output/paths_output.d
diff options
context:
space:
mode:
Diffstat (limited to 'src/doc_reform/output/paths_output.d')
-rw-r--r--src/doc_reform/output/paths_output.d154
1 files changed, 133 insertions, 21 deletions
diff --git a/src/doc_reform/output/paths_output.d b/src/doc_reform/output/paths_output.d
index c11d31e..795da4c 100644
--- a/src/doc_reform/output/paths_output.d
+++ b/src/doc_reform/output/paths_output.d
@@ -10,13 +10,12 @@ import doc_reform.meta.rgx;
template DocReformOutPaths() {
auto DocReformOutPaths(Po,Lng)(
Po output_pth_root,
- Lng lng,
+ Lng lng = "",
) {
struct _PathsStruct {
string output_root() {
return (output_pth_root.length > 0)
- ? output_pth_root
- : "sisugen";
+ ? output_pth_root : "";
}
string output_base() {
return asNormalizedPath(output_root.chainPath(lng)).array;
@@ -32,8 +31,7 @@ template DocReformOutPathSQLite() {
struct _PathsStruct {
string output_root() {
return (output_pth_root.length > 0)
- ? output_pth_root
- : "sisugen";
+ ? output_pth_root : "";
}
string output_base() {
return asNormalizedPath(output_root).array;
@@ -114,28 +112,34 @@ template DocReformPathsUrl() {
return _UrlPathsStruct();
}
}
-template DocReformPathsHTML() {
+template DocReformDocRootTreeHTML() {
mixin DocReformRgxInit;
static auto rgx = Rgx();
- auto DocReformPathsHTML(Po,Lng)(
- Po output_pth_root,
- Lng lng,
- ) {
- auto out_pth = DocReformOutPaths!()(output_pth_root, lng);
+ auto DocReformDocRootTreeHTML(Lng)(Lng lng) {
+ auto lng_pth = DocReformOutPaths!()("", lng);
string base_dir = "html";
string suffix = ".html";
struct _PathsStruct {
string base_filename(string fn_src) {
return fn_src.baseName.stripExtension;
}
+ string base_filename_scroll(string fn_src) {
+ return base_filename(fn_src) ~ "." ~ lng;
+ }
+ string base_filename_seg(string fn_src) {
+ return base_filename(fn_src) ~ "." ~ lng;
+ }
+ string docroot() {
+ return asNormalizedPath(lng_pth.output_root).array;
+ }
string base() {
- return asNormalizedPath((out_pth.output_base).chainPath(base_dir)).array;
+ return asNormalizedPath((lng).chainPath(base_dir)).array;
}
string image() {
- return asNormalizedPath((out_pth.output_root).chainPath("image")).array;
+ return asNormalizedPath("image").array;
}
string css() {
- return asNormalizedPath((out_pth.output_root).chainPath("css")).array;
+ return asNormalizedPath("css").array;
}
string fn_seg_css() {
return asNormalizedPath(css.chainPath("html_seg.css")).array;
@@ -144,19 +148,19 @@ template DocReformPathsHTML() {
return asNormalizedPath(css.chainPath("html_scroll.css")).array;
}
string seg(string fn_src) {
- return asNormalizedPath(base.chainPath(base_filename(fn_src))).array;
+ return asNormalizedPath(base.chainPath(base_filename_seg(fn_src))).array;
}
string fn_scroll(string fn_src) {
- return asNormalizedPath(base.chainPath(base_filename(fn_src) ~ suffix)).array;
+ return asNormalizedPath(base.chainPath(base_filename_scroll(fn_src) ~ suffix)).array;
}
string fn_seg(string fn_src, string seg_filename) {
return asNormalizedPath(seg(fn_src).chainPath(seg_filename ~ suffix)).array;
}
string tail_seg(string fn_src) {
- return lng ~ "/html/" ~ base_filename(fn_src);
+ return lng ~ "/html/" ~ base_filename_seg(fn_src);
}
string tail_fn_scroll(string fn_src) {
- return lng ~ "/html/" ~ base_filename(fn_src) ~ suffix;
+ return lng ~ "/html/" ~ base_filename_scroll(fn_src) ~ suffix;
}
string tail_fn_seg(string fn_src, string seg_filename) {
return lng ~ "/html/" ~ seg(fn_src) ~ "/" ~ seg_filename ~ suffix;
@@ -165,6 +169,114 @@ template DocReformPathsHTML() {
return _PathsStruct();
}
}
+template DocReformPathsHTML() {
+ mixin DocReformRgxInit;
+ static auto rgx = Rgx();
+ auto DocReformPathsHTML(Po,Lng)(
+ Po root_pth,
+ Lng lng,
+ ) {
+ auto doc_tree = DocReformDocRootTreeHTML!()(lng);
+ string base_dir = "html";
+ string suffix = ".html";
+ struct _PathsStruct {
+ string docroot() {
+ return asNormalizedPath(root_pth.chainPath(doc_tree.docroot)).array;
+ }
+ string harvest(string fn_harvest) {
+ return docroot ~ "/" ~ fn_harvest;
+ }
+ string base() {
+ return asNormalizedPath(root_pth.chainPath(doc_tree.base)).array;
+ }
+ string image() {
+ return asNormalizedPath(root_pth.chainPath(doc_tree.image)).array;
+ }
+ string css() {
+ return asNormalizedPath(root_pth.chainPath(doc_tree.css)).array;
+ }
+ string fn_seg_css() {
+ return asNormalizedPath(root_pth.chainPath(doc_tree.fn_seg_css)).array;
+ }
+ string fn_scroll_css() {
+ return asNormalizedPath(root_pth.chainPath(doc_tree.fn_scroll_css)).array;
+ }
+ string seg(string fn_src) {
+ return asNormalizedPath(root_pth.chainPath(doc_tree.seg(fn_src))).array;
+ }
+ string fn_scroll(string fn_src) {
+ return asNormalizedPath(root_pth.chainPath(doc_tree.fn_scroll(fn_src))).array;
+ }
+ string fn_seg(string fn_src, string seg_filename) {
+ return asNormalizedPath(root_pth.chainPath(doc_tree.fn_seg(fn_src, seg_filename))).array;
+ }
+ string tail_seg(string fn_src) {
+ return doc_tree.tail_seg(fn_src);
+ }
+ string tail_fn_scroll(string fn_src) {
+ return doc_tree.tail_fn_scroll(fn_src);
+ }
+ string tail_fn_seg(string fn_src, string seg_filename) {
+ return doc_tree.tail_fn_seg(fn_src, seg_filename);
+ }
+ }
+ return _PathsStruct();
+ }
+}
+template DocReformUrlPathsHTML() {
+ mixin DocReformRgxInit;
+ static auto rgx = Rgx();
+ auto DocReformUrlPathsHTML(Po,Lng)(
+ Po root_pth,
+ Lng lng,
+ ) {
+ auto doc_tree = DocReformDocRootTreeHTML!()(lng);
+ string base_dir = "html";
+ string suffix = ".html";
+ struct _PathsStruct {
+ string docroot() {
+ return asNormalizedPath(root_pth.chainPath(doc_tree.docroot)).array;
+ }
+ string harvest(string fn_harvest) {
+ return docroot ~ "/" ~ fn_harvest;
+ }
+ string base() {
+ return asNormalizedPath(root_pth.chainPath(doc_tree.base)).array;
+ }
+ string image() {
+ return asNormalizedPath(root_pth.chainPath(doc_tree.image)).array;
+ }
+ string css() {
+ return asNormalizedPath(root_pth.chainPath(doc_tree.css)).array;
+ }
+ string fn_seg_css() {
+ return asNormalizedPath(root_pth.chainPath(doc_tree.fn_seg_css)).array;
+ }
+ string fn_scroll_css() {
+ return asNormalizedPath(root_pth.chainPath(doc_tree.fn_scroll_css)).array;
+ }
+ string seg(string fn_src) {
+ return asNormalizedPath(root_pth.chainPath(doc_tree.seg(fn_src))).array;
+ }
+ string fn_scroll(string fn_src) {
+ return asNormalizedPath(root_pth.chainPath(doc_tree.fn_scroll(fn_src))).array;
+ }
+ string fn_seg(string fn_src, string seg_filename) {
+ return asNormalizedPath(root_pth.chainPath(doc_tree.fn_seg(fn_src, seg_filename))).array;
+ }
+ string tail_seg(string fn_src) {
+ return doc_tree.tail_seg(fn_src);
+ }
+ string tail_fn_scroll(string fn_src) {
+ return doc_tree.tail_fn_scroll(fn_src);
+ }
+ string tail_fn_seg(string fn_src, string seg_filename) {
+ return doc_tree.tail_fn_seg(fn_src, seg_filename);
+ }
+ }
+ return _PathsStruct();
+ }
+}
template DocReformPathsEPUB() {
mixin DocReformRgxInit;
static auto rgx = Rgx();
@@ -179,7 +291,7 @@ template DocReformPathsEPUB() {
return asNormalizedPath((out_pth.output_base).chainPath(base_dir)).array;
}
string base_filename(string fn_src) {
- return fn_src.baseName.stripExtension;
+ return fn_src.baseName.stripExtension ~ "." ~ lng;
}
string epub_file(string fn_src) {
return asNormalizedPath(base.chainPath(base_filename(fn_src) ~ ".epub")).array;
@@ -277,12 +389,12 @@ template DocReformPathsODT() {
return asNormalizedPath((out_pth.output_base).chainPath(base_dir)).array;
}
string odt_file() {
- return asNormalizedPath(base_pth.chainPath(doc_matters.src.filename_base ~ ".odt")).array;
+ return asNormalizedPath(base_pth.chainPath(doc_matters.src.doc_uid_out ~ ".odt")).array;
}
string dirtop(string type) {
return (type == "zip")
? "".chainPath("").array
- : asNormalizedPath(base_pth.chainPath(doc_matters.src.filename_base)).array;
+ : asNormalizedPath(base_pth.chainPath(doc_matters.src.doc_uid_out)).array;
}
string mimetype(string type="fs") {
assert(type == "zip" || "fs");