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.org74
1 files changed, 74 insertions, 0 deletions
diff --git a/org/default_paths.org b/org/default_paths.org
index eeed332..5e4f958 100644
--- a/org/default_paths.org
+++ b/org/default_paths.org
@@ -925,6 +925,7 @@ import doc_reform.meta.rgx;
<<template_paths_url>>
<<template_paths_html>>
<<template_paths_epub>>
+<<template_paths_odf>>
<<template_paths_sqlite>>
#+END_SRC
@@ -1223,6 +1224,79 @@ template DocReformPathsEPUB() {
}
#+END_SRC
+** _odt_ :odt:
+
+#+name: template_paths_odf
+#+BEGIN_SRC d
+template DocReformPathsODT() {
+ mixin DocReformRgxInit;
+ static auto rgx = Rgx();
+ auto DocReformPathsODT(M)(
+ M doc_matters,
+ ) {
+ auto out_pth = DocReformOutPaths!()( doc_matters.output_path, doc_matters.src.language);
+ string base_dir = "odf";
+ struct _PathsStruct {
+ string base_pth() { // dir will contain odt document file (also debug file tree)
+ return asNormalizedPath((out_pth.output_base).chainPath(base_dir)).array;
+ }
+ // string base_filename() {
+ // return doc_matters.src.filename_base;
+ // }
+ string odt_file() {
+ return asNormalizedPath(base_pth.chainPath(doc_matters.src.filename_base ~ ".odt")).array;
+ }
+ string dirtop(string type) {
+ return (type == "zip")
+ ? "".chainPath("").array
+ : asNormalizedPath(base_pth.chainPath(doc_matters.src.filename_base)).array;
+ }
+ string mimetype(string type="fs") {
+ assert(type == "zip" || "fs");
+ return asNormalizedPath(dirtop(type).chainPath("mimetype")).array;
+ }
+ string manifest_rdf(string type="fs") {
+ assert(type == "zip" || "fs");
+ return asNormalizedPath(dirtop(type).chainPath("manifest.rdf")).array;
+ }
+ string settings_xml(string type="fs") {
+ assert(type == "zip" || "fs");
+ return asNormalizedPath(dirtop(type).chainPath("settings.xml")).array;
+ }
+ string styles_xml(string type="fs") {
+ assert(type == "zip" || "fs");
+ return asNormalizedPath(dirtop(type).chainPath("styles.xml")).array;
+ }
+ string image_dir(string type="fs") {
+ assert(type == "zip" || "fs");
+ return asNormalizedPath(dirtop(type).chainPath("Pictures")).array;
+ }
+ string image(string image_fn_src, string type="fs") {
+ assert(type == "zip" || "fs");
+ return asNormalizedPath(image_dir(type).chainPath(image_fn_src)).array;
+ }
+ string content_xml(string type="fs") {
+ assert(type == "zip" || "fs");
+ return asNormalizedPath(dirtop(type).chainPath("content.xml")).array;
+ }
+ string meta_inf_dir(string type="fs") {
+ assert(type == "zip" || "fs");
+ return asNormalizedPath(dirtop(type).chainPath("META-INF")).array;
+ }
+ string manifest_xml(string type="fs") {
+ assert(type == "zip" || "fs");
+ return asNormalizedPath(meta_inf_dir(type).chainPath("manifest.xml")).array;
+ }
+ string meta_xml(string type="fs") {
+ assert(type == "zip" || "fs");
+ return asNormalizedPath(dirtop(type).chainPath("meta.xml")).array;
+ }
+ }
+ return _PathsStruct();
+ }
+}
+#+END_SRC
+
** _sqlite_ :sqlite:
*** discrete