aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--makefile3
-rw-r--r--maker.org6
-rw-r--r--org/default_paths.org155
-rw-r--r--org/imports.org2
-rw-r--r--org/meta_debugs.org14
-rw-r--r--org/output_sqlite.org9
-rw-r--r--org/output_xmls.org190
-rw-r--r--org/sdp.org16
-rw-r--r--org/source_files_read.org (renamed from org/meta_read_source_files.org)16
-rw-r--r--src/sdp/meta/conf_make_meta_sdlang.d474
-rw-r--r--src/sdp/meta/doc_debugs.d14
-rw-r--r--src/sdp/meta/metadoc.d8
-rw-r--r--src/sdp/output/epub3.d4
-rw-r--r--src/sdp/output/html.d8
-rw-r--r--src/sdp/output/package.d2
-rw-r--r--src/sdp/output/paths_output.d22
-rw-r--r--src/sdp/output/sqlite.d14
-rw-r--r--src/sdp/output/xmls.d178
-rwxr-xr-xsrc/sdp/sdp.d10
-rw-r--r--src/sdp/source/paths_source.d (renamed from src/sdp/output/paths_source.d)131
-rw-r--r--src/sdp/source/read_config_files.d (renamed from src/sdp/meta/read_config_files.d)16
-rw-r--r--src/sdp/source/read_source_files.d (renamed from src/sdp/meta/read_source_files.d)6
-rw-r--r--views/version.txt2
24 files changed, 393 insertions, 910 deletions
diff --git a/.gitignore b/.gitignore
index d74bba5..f2a7b11 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,7 +13,8 @@
!conf.sdl
!org
!src
-!src/*
+!src/sdp
+!src/sdp/*
!data
!data/*
!data/sisupod/**
diff --git a/makefile b/makefile
index 52e1c71..bdacadc 100644
--- a/makefile
+++ b/makefile
@@ -139,9 +139,10 @@ ldc_rel_expunge_tangle: expunge skel tangle ldc_rel_tangle
ldc_debug_tangle: tangle
$(DUB) --compiler=ldc2 --config=sdp-ldc-debug
skel:
- mkdir -p $(PRG_SRCDIR)/$(PRG_NAME)/meta; \
mkdir -p $(PRG_SRCDIR)/$(PRG_NAME)/conf; \
+ mkdir -p $(PRG_SRCDIR)/$(PRG_NAME)/meta; \
mkdir -p $(PRG_SRCDIR)/$(PRG_NAME)/output; \
+ mkdir -p $(PRG_SRCDIR)/$(PRG_NAME)/source; \
mkdir -p $(PRG_SRCDIR)/$(PRG_NAME); \
mkdir -p $(PRG_BINDIR);
init: skel
diff --git a/maker.org b/maker.org
index 158a239..6f64604 100644
--- a/maker.org
+++ b/maker.org
@@ -327,9 +327,10 @@ ldc_debug_tangle: tangle
#+BEGIN_SRC makefile :tangle makefile
skel:
- mkdir -p $(PRG_SRCDIR)/$(PRG_NAME)/meta; \
mkdir -p $(PRG_SRCDIR)/$(PRG_NAME)/conf; \
+ mkdir -p $(PRG_SRCDIR)/$(PRG_NAME)/meta; \
mkdir -p $(PRG_SRCDIR)/$(PRG_NAME)/output; \
+ mkdir -p $(PRG_SRCDIR)/$(PRG_NAME)/source; \
mkdir -p $(PRG_SRCDIR)/$(PRG_NAME); \
mkdir -p $(PRG_BINDIR);
init: skel
@@ -1091,7 +1092,8 @@ mixin build!(_compile, _dub_conf);
!conf.sdl
!org
!src
-!src/*
+!src/sdp
+!src/sdp/*
!data
!data/*
!data/sisupod/**
diff --git a/org/default_paths.org b/org/default_paths.org
index b8ff2a4..5b7141a 100644
--- a/org/default_paths.org
+++ b/org/default_paths.org
@@ -18,13 +18,13 @@
* 0. source paths :module:sdp:paths_source:
** 0. module template
-#+BEGIN_SRC d :tangle ../src/sdp/output/paths_source.d
+#+BEGIN_SRC d :tangle ../src/sdp/source/paths_source.d
/++
read configuration files<BR>
- read config files<BR>
meta_config_files.d
+/
-module sdp.output.paths_source;
+module sdp.source.paths_source;
import std.array,
std.file,
std.path,
@@ -49,11 +49,10 @@ template PodManifest() {
P _pth
) {
struct ManifestFile_ {
- auto pod_manifest_filename() {
- string _manifest_file = "sisupod.manifest";
- return _manifest_file;
+ string pod_manifest_filename() {
+ return "sisupod.manifest";
}
- auto pod_manifest_path() {
+ string pod_manifest_path() {
string _manifest_path;
if ((isValidPath(_pth) && exists(_pth)!=0 && _pth.isDir)
&& (exists(_pth.chainPath(pod_manifest_filename).array)!=0
@@ -115,11 +114,11 @@ sisupod
template PathMatters() {
mixin SiSUrgxInit;
static auto rgx = Rgx();
- auto PathMatters(O,E,P,F)(
- O _opt_actions,
- E _env,
- P _pth,
- F _fns = "",
+ auto PathMatters(O,E)(
+ O _opt_actions,
+ E _env,
+ string _pth,
+ string _fns = "",
char[][] _manifest_fn_list = [[]],
) {
auto _manifest = PodManifest!()(_pth);
@@ -145,15 +144,13 @@ template PathMatters() {
}
return Opt_();
}
- auto src_is_pod() {
- auto _src_is_pod = (_manifest.pod_manifest_path.length > 0) ? true : false;
- return _src_is_pod;
+ bool src_is_pod() {
+ return (_manifest.pod_manifest_path.length > 0) ? true : false;
}
auto pod() {
struct Pod_ {
- auto src_is_pod() {
- auto _src_is_pod = (_manifest.pod_manifest_path.length > 0) ? true : false;
- return _src_is_pod;
+ bool src_is_pod() {
+ return (_manifest.pod_manifest_path.length > 0) ? true : false;
}
auto collection_root() {
auto _collection_root = asNormalizedPath(chainPath(_manifest.pod_manifest_path, "..")).array;
@@ -164,34 +161,34 @@ template PathMatters() {
}
return _collection_root;
}
- auto manifest_filename() {
+ string manifest_filename() {
return _manifest.pod_manifest_filename;
}
- auto manifest_path() {
+ string manifest_path() {
return _manifest.pod_manifest_path;
}
- auto pod_name() { // TODO decide what returned if src_is_pod == false
+ string pod_name() {
return _manifest.pod_manifest_path.baseName;
}
- auto manifest_file_with_path() {
+ string manifest_file_with_path() {
return _manifest.pod_manifest_file_with_path;
}
- auto config_sisu_document_make_dirs() { // TODO sisu_document_make
+ string[] config_sisu_document_make_dirs() {
string[] _config_dirs;
return _config_dirs;
}
- auto config_local_site_dirs() { // TODO sisu_document_make
+ string[] config_local_site_dirs() {
string[] _config_dirs;
return _config_dirs;
}
- auto image_dirs() { // TODO
+ string[] image_dirs() {
string[] _image_dirs;
return _image_dirs;
}
auto manifest_list_of_filenames() {
return _manifest_fn_list;
}
- auto manifest_list_of_languages() {
+ string[] manifest_list_of_languages() {
string[] _lngs;
foreach (filename_; manifest_list_of_filenames) {
string _k = "en";
@@ -211,41 +208,32 @@ template PathMatters() {
auto _env = _env;
string _sep = "␣";
struct SRC_ {
- auto is_pod() {
- auto _src_is_pod = (_manifest.pod_manifest_path.length > 0) ? true : false;
- return _src_is_pod;
+ bool is_pod() {
+ return (_manifest.pod_manifest_path.length > 0) ? true : false;
}
- auto path_and_fn() {
+ string path_and_fn() {
return _fns;
}
- auto pod_name() { /+ work on +/
- auto _pod_name = (is_pod)
- ? _manifest.pod_manifest_path
- : "";
- return _pod_name;
+ string pod_name() {
+ return (is_pod) ? _manifest.pod_manifest_path : "";
}
- auto filename() {
- auto _fn = (path_and_fn).baseName;
- return _fn;
+ string filename() {
+ return path_and_fn.baseName;
}
- auto filename_base() {
- auto _fn = filename.stripExtension;
- return _fn;
+ string filename_base() {
+ return filename.stripExtension;
}
- auto filename_extension() {
- auto _ext = filename.match(rgx.src_pth_sst_or_ssm).captures["extension"];
- return _ext;
+ string filename_extension() {
+ return filename.match(rgx.src_pth_sst_or_ssm).captures["extension"];
}
- auto lng() {
+ string lng() {
string _k;
if (auto m = path_and_fn.match(rgx.language_code_and_filename)) {
_k = m.captures[1];
- } else {
- _k = "en";
- }
+ } else {_k = "en"; }
return _k;
}
- auto docname_composite_unique_per_src_doc() {
+ string docname_composite_unique_per_src_doc() {
/+
z pod name if any + src filename + lng code
filename ~ "." ~ lng
@@ -263,7 +251,7 @@ template PathMatters() {
}
return _fn;
}
- auto docname_composite_unique_per_src_pod() {
+ string docname_composite_unique_per_src_pod() {
/+
z pod name if any + src filename (without lng code)
filename ~ _sep ~ lng
@@ -282,18 +270,16 @@ template PathMatters() {
}
return _fn;
}
- auto language() {
+ string language() {
return lng();
}
- auto file_with_absolute_path() {
- string _pth = _env["pwd"].chainPath(path_and_fn).array;
- return _pth;
+ string file_with_absolute_path() {
+ return _env["pwd"].chainPath(path_and_fn).array;
}
- auto absolute_path_to_src() {
- string _pth = (_env["pwd"].chainPath(path_and_fn)).dirName.array;
- return _pth;
+ string absolute_path_to_src() {
+ return (_env["pwd"].chainPath(path_and_fn)).dirName.array;
}
- auto base_dir() {
+ string base_dir() {
string _dir;
if ( // TODO this should catch generated --source sisupod, untested, needs manifest
auto m = (absolute_path_to_src)
@@ -311,7 +297,7 @@ template PathMatters() {
}
return _dir;
}
- auto base_parent_dir_path() {
+ string base_parent_dir_path() {
string _dir;
if ( // TODO this should catch generated --source sisupod, untested, needs manifest
auto m = (absolute_path_to_src)
@@ -323,7 +309,7 @@ template PathMatters() {
}
return _dir;
}
- auto base_dir_path() { // looks like there is work to do
+ string base_dir_path() {
string _dir;
if (
auto m = (absolute_path_to_src)
@@ -343,11 +329,11 @@ template PathMatters() {
}
return _dir;
}
- auto media_dir_path() { // TODO rework, can base directly on src fn path
+ string media_dir_path() {
string _dir = asNormalizedPath(base_dir_path.chainPath("media")).array;
return _dir;
}
- auto image_dir_path() {
+ string image_dir_path() {
string _paths;
string[] _possible_img_pths = [ "./image", "../image", "../../image" ];
string _img_pth_found = "";
@@ -372,8 +358,7 @@ template PathMatters() {
return _img_pth_found;
}
auto conf_dir_path() {
- auto _dir = asNormalizedPath(base_dir_path.chainPath("conf")).array;
- return _dir;
+ return asNormalizedPath(base_dir_path.chainPath("conf")).array;
}
auto base_parent_dir() {
string _dir;
@@ -390,18 +375,16 @@ template PathMatters() {
}
return _dir;
}
- auto config_dirs() { // TODO
+ string[] config_dirs() {
string[] _config_dirs;
if (is_pod) {
- } else {
- }
+ } else {}
return _config_dirs;
}
- auto image_dirs() { // TODO
+ string[] image_dirs() {
string[] _image_dirs;
if (is_pod) {
- } else {
- }
+ } else {}
return _image_dirs;
}
}
@@ -453,15 +436,15 @@ template ConfigFilePaths() {
E _env,
) {
struct ConfFilePaths {
- auto config_filename_document_toml() {
+ string config_filename_document_toml() {
return "sisu_document_make";
}
- auto config_filename_site_toml() {
+ string config_filename_site_toml() {
return "config_local_site";
}
auto possible_config_path_locations() {
struct _ConfFilePaths {
- auto sisu_document_make() {
+ string[] sisu_document_make() {
/+ FIX clean up conf paths ↓ +/
/+ config local site (file system only, not in pod) +/
/+ return paths +/
@@ -504,7 +487,7 @@ template ConfigFilePaths() {
+/
return _possible_config_path_locations;
}
- auto config_local_site() {
+ string[] config_local_site() {
/+ FIX clean up conf paths ↓ +/
/+ config local site (file system only, not in pod) +/
string _dot_pwd = asNormalizedPath(chainPath(to!string(_env["pwd"]), ".sisu")).array;
@@ -617,7 +600,7 @@ template SiSUpathsSRC() {
auto pwd() {
return _pwd;
}
- auto language() {
+ string language() {
// use command line info as well?
string _k;
if (auto m = _fn_src_and_path.match(rgx.language_code_and_filename)) {
@@ -627,7 +610,7 @@ template SiSUpathsSRC() {
}
return _k;
}
- auto doc_root() {
+ string doc_root() {
return "sisudoc";
}
auto media_root() {
@@ -944,13 +927,9 @@ template SiSUoutPaths() {
) {
struct _PathsStruct {
string output_root() {
- string out_root_;
- if (output_pth_root.length > 0) {
- out_root_ = output_pth_root;
- } else {
- out_root_ = "sisugen";
- }
- return out_root_;
+ return (output_pth_root.length > 0)
+ ? output_pth_root
+ : "sisugen";
}
string output_base() {
return asNormalizedPath(output_root.chainPath(lng)).array;
@@ -965,13 +944,9 @@ template SiSUoutPathSQLite() {
) {
struct _PathsStruct {
string output_root() {
- string out_root_;
- if (output_pth_root.length > 0) {
- out_root_ = output_pth_root;
- } else {
- out_root_ = "sisugen";
- }
- return out_root_;
+ return (output_pth_root.length > 0)
+ ? output_pth_root
+ : "sisugen";
}
string output_base() {
return asNormalizedPath(output_root).array;
@@ -1006,7 +981,7 @@ template SiSUoutPathsFnPd() {
- else if pod_name != file_name
- pod_name.file_name
+/
- auto _fn_src = fn_src_pth.baseName.stripExtension;
+ string _fn_src = fn_src_pth.baseName.stripExtension;
string _output_base_name;
if (!(pod_name.empty)) {
if (pod_name == _fn_src) {
diff --git a/org/imports.org b/org/imports.org
index 64bc4c3..d82da9e 100644
--- a/org/imports.org
+++ b/org/imports.org
@@ -73,7 +73,7 @@ public import
// std.uni,
std.utf;
public import
- sdp.output.paths_source,
+ sdp.source.paths_source,
sdp.output.defaults,
sdp.output.paths_output,
sdp.output.rgx;
diff --git a/org/meta_debugs.org b/org/meta_debugs.org
index 8542a32..1807ec8 100644
--- a/org/meta_debugs.org
+++ b/org/meta_debugs.org
@@ -26,8 +26,8 @@ module sdp.meta.doc_debugs;
template SiSUdebugs() {
<<debug_imports>>
auto SiSUdebugs(S,T)(
- auto return ref const S contents,
- auto return ref T doc_matters,
+ const S contents,
+ T doc_matters,
) {
mixin SiSUrgxInit;
mixin InternalMarkup;
@@ -136,8 +136,8 @@ debug(dumpdoc) {
#+BEGIN_SRC d
debug(checkdoc) {
void out_segnames(S,T)(
- auto return ref const S contents,
- auto return ref T doc_matters,
+ const S contents,
+ T doc_matters,
) {
foreach (key; doc_matters.xml.keys_seq.seg) {
if (contents[key].length > 1) {
@@ -159,7 +159,7 @@ debug(checkdoc) {
#+BEGIN_SRC d
debug(checkdoc) {
void out_toc(S)(
- auto return ref const S contents,
+ const S contents,
string key,
) {
if (contents[key].length > 1) {
@@ -183,7 +183,7 @@ debug(checkdoc) {
#+BEGIN_SRC d
debug(checkdoc) {
void out_endnotes(S)(
- auto return ref const S contents,
+ const S contents,
string key,
) {
if (contents[key].length > 1) {
@@ -205,7 +205,7 @@ debug(checkdoc) {
#+BEGIN_SRC d
debug(checkdoc) {
void out_bookindex(S)(
- auto return ref const S contents,
+ const S contents,
string key,
) {
if (contents[key].length > 1) {
diff --git a/org/output_sqlite.org b/org/output_sqlite.org
index e8a29bf..dc76da4 100644
--- a/org/output_sqlite.org
+++ b/org/output_sqlite.org
@@ -1223,10 +1223,11 @@ CREATE TABLE doc_objects (
seg VARCHAR(256) NULL,
lev_an VARCHAR(1),
lev SMALLINT NULL,
- t_of VARCHAR(16),
- t_is VARCHAR(16),
+ is_of_type VARCHAR(16),
+ is_a VARCHAR(16),
node VARCHAR(16) NULL,
parent VARCHAR(16) NULL,
+ last_decendant VARCHAR(16) NULL, /* headings only */
digest_clean CHAR(256),
digest_all CHAR(256),
types CHAR(1) NULL
@@ -1276,8 +1277,8 @@ _insert_doc_objects_row = format(q"¶
clean,
body,
lev,
- t_of,
- t_is
+ is_of_type,
+ is_a
)
#+END_SRC
diff --git a/org/output_xmls.org b/org/output_xmls.org
index 122b15c..0aa50d5 100644
--- a/org/output_xmls.org
+++ b/org/output_xmls.org
@@ -98,8 +98,8 @@ string div_delimit(
#+name: xhtml_format_objects
#+BEGIN_SRC d
string special_characters(O)(
- auto ref const O obj,
- string _txt
+ const O obj,
+ string _txt
){
_txt = (_txt)
.replaceAll(rgx.xhtml_ampersand, "&#38;")
@@ -421,10 +421,10 @@ auto tail() {
#+name: xhtml_format_objects
#+BEGIN_SRC d
auto inline_images(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
- string _xml_type = "seg",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
+ string _xml_type = "seg",
) {
string _img_pth;
if (_xml_type == "epub") {
@@ -450,10 +450,10 @@ auto inline_images(O)(
#+name: xhtml_format_objects
#+BEGIN_SRC d
auto inline_links(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
- string _xml_type = "seg",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
+ string _xml_type = "seg",
) {
if (obj.has.inline_links) {
if ((_txt.match(rgx.mark_internal_site_lnk))
@@ -502,8 +502,8 @@ auto inline_links(O)(
#+name: xhtml_format_objects
#+BEGIN_SRC d
auto inline_notes_scroll(O)(
- auto ref const O obj,
- string _txt,
+ const O obj,
+ string _txt,
) {
if (obj.has.inline_notes_reg) {
_txt = font_face(_txt);
@@ -531,8 +531,8 @@ auto inline_notes_scroll(O)(
#+name: xhtml_format_objects
#+BEGIN_SRC d
auto inline_notes_seg(O)(
- auto ref const O obj,
- string _txt,
+ const O obj,
+ string _txt,
) {
string[] _endnotes;
if (obj.has.inline_notes_reg) {
@@ -576,9 +576,9 @@ auto inline_notes_seg(O)(
#+name: xhtml_format_objects
#+BEGIN_SRC d
auto inline_markup_scroll(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
) {
_txt = inline_images(obj, _txt, _suffix, "scroll");
_txt = inline_links(obj, _txt, _suffix, "scroll");
@@ -592,10 +592,10 @@ auto inline_markup_scroll(O)(
#+name: xhtml_format_objects
#+BEGIN_SRC d
auto inline_markup_seg(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
- string _xml_type = "seg",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
+ string _xml_type = "seg",
) {
_txt = inline_images(obj, _txt, _suffix, _xml_type);
_txt = inline_links(obj, _txt, _suffix, _xml_type);
@@ -610,7 +610,7 @@ auto inline_markup_seg(O)(
#+name: xhtml_format_objects
#+BEGIN_SRC d
string lev4_heading_subtoc(O)(
- auto ref const O obj,
+ const O obj,
) {
char[] lev4_subtoc;
lev4_subtoc ~= " <div class=\"nav\">\n";
@@ -642,7 +642,7 @@ string lev4_heading_subtoc(O)(
#+name: xhtml_format_objects
#+BEGIN_SRC d
auto nav_pre_next_svg(O)(
- auto ref const O obj,
+ const O obj,
) {
string prev, next, toc;
if (obj.tags.segment_anchor_tag == "toc") {
@@ -726,9 +726,9 @@ auto nav_pre_next_svg(O)(
#+name: xhtml_format_objects
#+BEGIN_SRC d
auto heading(O)(
- auto ref const O obj,
- string _txt,
- string _xml_type = "html",
+ const O obj,
+ string _txt,
+ string _xml_type = "html",
) {
auto tags = _xhtml_anchor_tags(obj.tags.anchor_tags);
string _horizontal_rule = "<hr />";
@@ -781,9 +781,9 @@ auto heading(O)(
#+name: xhtml_format_objects
#+BEGIN_SRC d
auto heading_scroll(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
) {
auto tags = _xhtml_anchor_tags(obj.tags.anchor_tags);
_txt = inline_markup_scroll(obj, _txt, _suffix);
@@ -797,10 +797,10 @@ auto heading_scroll(O)(
#+name: xhtml_format_objects
#+BEGIN_SRC d
auto heading_seg(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
- string _xml_type = "html",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
+ string _xml_type = "html",
) {
auto t = inline_markup_seg(obj, _txt, _suffix, _xml_type);
_txt = t[0];
@@ -820,8 +820,8 @@ auto heading_seg(O)(
#+name: xhtml_format_objects
#+BEGIN_SRC d
auto para(O)(
- auto ref const O obj,
- string _txt,
+ const O obj,
+ string _txt,
) {
auto tags = _xhtml_anchor_tags(obj.tags.anchor_tags);
_txt = font_face(_txt);
@@ -865,9 +865,9 @@ auto para(O)(
#+name: xhtml_format_objects
#+BEGIN_SRC d
auto para_scroll(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
) {
auto tags = _xhtml_anchor_tags(obj.tags.anchor_tags);
_txt = inline_markup_scroll(obj, _txt, _suffix);
@@ -881,10 +881,10 @@ auto para_scroll(O)(
#+name: xhtml_format_objects
#+BEGIN_SRC d
auto para_seg(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
- string _xml_type = "html",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
+ string _xml_type = "html",
) {
auto t = inline_markup_seg(obj, _txt, _suffix, _xml_type);
_txt = t[0].to!string;
@@ -904,8 +904,8 @@ auto para_seg(O)(
#+name: xhtml_format_objects
#+BEGIN_SRC d
auto quote(O)(
- auto ref const O obj,
- string _txt,
+ const O obj,
+ string _txt,
) {
_txt = font_face(_txt);
string o;
@@ -941,9 +941,9 @@ auto quote(O)(
#+name: xhtml_format_objects
#+BEGIN_SRC d
auto quote_scroll(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
) {
auto tags = _xhtml_anchor_tags(obj.tags.anchor_tags);
_txt = inline_markup_scroll(obj, _txt, _suffix);
@@ -957,10 +957,10 @@ auto quote_scroll(O)(
#+name: xhtml_format_objects
#+BEGIN_SRC d
auto quote_seg(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
- string _xml_type = "html",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
+ string _xml_type = "html",
) {
auto t = inline_markup_seg(obj, _txt, _suffix, _xml_type);
_txt = t[0].to!string;
@@ -980,8 +980,8 @@ auto quote_seg(O)(
#+name: xhtml_format_objects
#+BEGIN_SRC d
auto group(O)(
- auto ref const O obj,
- string _txt,
+ const O obj,
+ string _txt,
) {
_txt = font_face(_txt);
string o;
@@ -1017,10 +1017,10 @@ auto group(O)(
#+name: xhtml_format_objects
#+BEGIN_SRC d
auto group_scroll(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
- string _xml_type = "html",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
+ string _xml_type = "html",
) {
auto tags = _xhtml_anchor_tags(obj.tags.anchor_tags);
_txt = inline_markup_scroll(obj, _txt, _suffix);
@@ -1034,10 +1034,10 @@ auto group_scroll(O)(
#+name: xhtml_format_objects
#+BEGIN_SRC d
auto group_seg(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
- string _xml_type = "html",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
+ string _xml_type = "html",
) {
auto t = inline_markup_seg(obj, _txt, _suffix, _xml_type);
_txt = t[0].to!string;
@@ -1057,8 +1057,8 @@ auto group_seg(O)(
#+name: xhtml_format_objects
#+BEGIN_SRC d
auto block(O)(
- auto ref const O obj,
- string _txt,
+ const O obj,
+ string _txt,
) {
_txt = font_face(_txt);
string o;
@@ -1090,10 +1090,10 @@ auto block(O)(
#+name: xhtml_format_objects
#+BEGIN_SRC d
auto block_scroll(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
- string _xml_type = "html",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
+ string _xml_type = "html",
) {
auto tags = _xhtml_anchor_tags(obj.tags.anchor_tags);
_txt = inline_markup_scroll(obj, _txt, _suffix);
@@ -1107,10 +1107,10 @@ auto block_scroll(O)(
#+name: xhtml_format_objects
#+BEGIN_SRC d
auto block_seg(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
- string _xml_type = "html",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
+ string _xml_type = "html",
) {
auto t = inline_markup_seg(obj, _txt, _suffix, _xml_type);
_txt = t[0].to!string;
@@ -1130,8 +1130,8 @@ auto block_seg(O)(
#+name: xhtml_format_objects
#+BEGIN_SRC d
auto verse(O)(
- auto ref const O obj,
- string _txt,
+ const O obj,
+ string _txt,
) {
_txt = font_face(_txt);
string o;
@@ -1163,10 +1163,10 @@ auto verse(O)(
#+name: xhtml_format_objects
#+BEGIN_SRC d
auto verse_scroll(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
- string _xml_type = "html",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
+ string _xml_type = "html",
) {
auto tags = _xhtml_anchor_tags(obj.tags.anchor_tags);
_txt = inline_markup_scroll(obj, _txt, _suffix);
@@ -1180,10 +1180,10 @@ auto verse_scroll(O)(
#+name: xhtml_format_objects
#+BEGIN_SRC d
auto verse_seg(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
- string _xml_type = "html",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
+ string _xml_type = "html",
) {
auto t = inline_markup_seg(obj, _txt, _suffix, _xml_type);
_txt = t[0].to!string;
@@ -1202,8 +1202,8 @@ auto verse_seg(O)(
#+name: xhtml_format_objects_code
#+BEGIN_SRC d
auto code(O)(
- auto ref const O obj,
- string _txt,
+ const O obj,
+ string _txt,
) {
string o;
if (obj.metainfo.object_number.empty) {
@@ -1243,8 +1243,8 @@ align="left|right|center"
#+name: xhtml_format_objects
#+BEGIN_SRC d
auto tablarize(O)(
- auto ref const O obj,
- string _txt,
+ const O obj,
+ string _txt,
) {
string[] _table_rows = (_txt).split(rgx.table_delimiter_row);
string[] _table_cols;
@@ -1282,8 +1282,8 @@ auto tablarize(O)(
#+name: xhtml_format_objects
#+BEGIN_SRC d
auto table(O)(
- auto ref const O obj,
- string _txt,
+ const O obj,
+ string _txt,
) {
auto tags = _xhtml_anchor_tags(obj.tags.anchor_tags);
_txt = font_face(_txt);
@@ -1317,8 +1317,8 @@ auto table(O)(
#+name: xhtml_format_objects
#+BEGIN_SRC d
auto endnote(O)(
- auto ref const O obj,
- string _txt,
+ const O obj,
+ string _txt,
) {
string o;
o = format(q"¶ <p class="%s" indent="h%si%s">
@@ -1354,8 +1354,8 @@ template outputHTML() {
#+name: output_html_scroll
#+BEGIN_SRC d
void scroll(D,I)(
- auto ref const D doc_abstraction,
- auto ref I doc_matters,
+ const D doc_abstraction,
+ I doc_matters,
) {
mixin SiSUoutputRgxInit;
auto xhtml_format = outputXHTMLs();
@@ -1535,8 +1535,8 @@ void scroll_write_output(M,C)(
#+name: output_html_seg
#+BEGIN_SRC d
void seg(D,M)(
- auto ref const D doc_abstraction,
- auto ref M doc_matters,
+ const D doc_abstraction,
+ M doc_matters,
) {
mixin SiSUoutputRgxInit;
auto rgx = Rgx();
@@ -2216,8 +2216,8 @@ string epub2_oebps_toc_ncx(D,I)(D doc_abstraction, I doc_matters) {
#+name: output_epub3_xhtml_seg
#+BEGIN_SRC d
void outputEPub3(D,I)(
- auto ref const D doc_abstraction,
- auto ref I doc_matters,
+ const D doc_abstraction,
+ I doc_matters,
) {
mixin SiSUoutputRgxInit;
auto xhtml_format = outputXHTMLs();
diff --git a/org/sdp.org b/org/sdp.org
index fe34840..b26f317 100644
--- a/org/sdp.org
+++ b/org/sdp.org
@@ -26,7 +26,7 @@ struct Version {
int minor;
int patch;
}
-enum ver = Version(0, 26, 3);
+enum ver = Version(0, 26, 4);
#+END_SRC
** compilation restrictions (supported compilers)
@@ -120,11 +120,11 @@ import
sdp.meta.conf_make_meta_json,
sdp.meta.defaults,
sdp.meta.doc_debugs,
- sdp.meta.read_config_files,
- sdp.meta.read_source_files,
sdp.meta.rgx,
- sdp.output.hub,
- sdp.output.paths_source;
+ sdp.source.paths_source,
+ sdp.source.read_config_files,
+ sdp.source.read_source_files,
+ sdp.output.hub;
#+END_SRC
****** notes
@@ -141,7 +141,7 @@ import
[[./meta_conf_make_meta.org][meta_conf_make_meta]]
[[./meta_defaults.org][meta_defaults]]
[[./meta_output_debugs.org][meta_output_debugs]]
-[[./meta_read_source_files.org][meta_read_source_files]]
+[[./source_read_files.org][source_read_files]]
[[./compile_time_info.org][compile time info]]
[[./output.org][output]]
[[./sdp.org][sdp]]
@@ -201,7 +201,7 @@ static auto rgx = Rgx();
scope(success) {
debug(checkdoc) {
writefln(
- "~ run complete, ok ~ (sdp-%s.%s.%s, %s v%s, %s %s)",
+ "~ run complete, ok ~ (sdp-%s.%s.%s, %s D:%s, %s %s)",
ver.major, ver.minor, ver.patch,
__VENDOR__, __VERSION__,
bits, os,
@@ -740,7 +740,7 @@ template SiSUabstraction() {
#+END_SRC
** 1. raw file content split, doc: _header_, _content_ +(lists: subdocs? images?) >>
-- [[./meta_read_source_files.org][meta_read_source_files]]
+- [[./source_read_files.org][source_read_files]]
- read in the _marked up source document_ and
- split the document into:
diff --git a/org/meta_read_source_files.org b/org/source_files_read.org
index b726631..899e628 100644
--- a/org/meta_read_source_files.org
+++ b/org/source_files_read.org
@@ -21,21 +21,21 @@
#+BEGIN_SRC d
import
sdp.meta,
- sdp.output.paths_source,
+ sdp.source.paths_source,
std.file,
std.path;
#+END_SRC
-* A. get _config file_ (read in) :module:sdp:meta_read_config_files:
+* A. get _config file_ (read in) :module:sdp:source_read_config_files:
** 0. module template
-#+BEGIN_SRC d :tangle ../src/sdp/meta/read_config_files.d
+#+BEGIN_SRC d :tangle ../src/sdp/source/read_config_files.d
/++
read configuration files<BR>
- read config files<BR>
meta_config_files.d
+/
-module sdp.meta.read_config_files;
+module sdp.source.read_config_files;
<<meta_config_file_in>>
<<meta_config_file_toml>>
<<meta_config_file_hub>>
@@ -272,16 +272,16 @@ static template configReadDocTOML() {
}
#+END_SRC
-* B. get _markup source_, read file :module:sdp:meta_read_source_files:
+* B. get _markup source_, read file :module:sdp:source_read_source_files:
** 0. module template (includes tuple)
-#+BEGIN_SRC d :tangle ../src/sdp/meta/read_source_files.d
+#+BEGIN_SRC d :tangle ../src/sdp/source/read_source_files.d
/++
- module meta_read_source_files;<BR>
+ module source_read_source_files;<BR>
- open markup files<BR>
- if master file scan for addional files to import/insert
+/
-module sdp.meta.read_source_files;
+module sdp.source.read_source_files;
static template SiSUrawMarkupContent() {
import
sdp.meta.rgx;
diff --git a/src/sdp/meta/conf_make_meta_sdlang.d b/src/sdp/meta/conf_make_meta_sdlang.d
deleted file mode 100644
index 4ebe960..0000000
--- a/src/sdp/meta/conf_make_meta_sdlang.d
+++ /dev/null
@@ -1,474 +0,0 @@
-/++
- extract native/orig header return associative array<BR>
-
- the header is passed as text (lopped off top of a sisu markup file until the
- required first heading ^A~), determine whether is a native header or sdlang one
- with a regex check if whether it contains the "native header" required tag/field
- @title: then process accordingly as a "native header" or "sdlang header"
- converting the metadata and make instructions to a common json format used by
- program internally. Moved to associative array.
-+/
-module sdp.meta.conf_make_meta_sdlang;
-static template docHeaderMakeAndMetaTupSDLangExtractAndConvertToStruct() {
- import
- std.exception,
- std.regex,
- std.stdio,
- std.traits,
- std.typecons,
- std.utf,
- std.conv : to;
- import sdlang;
- import
- sdp.meta.conf_make_meta_sdlang,
- sdp.meta.rgx;
- mixin SiSUrgxInit;
- mixin SiSUextractSDLang;
- static auto rgx = Rgx();
- auto docHeaderMakeAndMetaTupSDLangExtractAndConvertToStruct(CCm, Src)(
- CCm conf_composite_make,
- Src header_src,
- ) {
- auto header_sdlang_tag = (header_src.match(rgx.sdlang_header_meta_title))
- ? extractSDL().docHeaderSDLtagGet(header_src) // sdlang.ast.Tag
- : null;
- auto header_make_and_meta_struct = extractSDL().docSDLtoStruct(conf_composite_make, header_sdlang_tag);
- return header_make_and_meta_struct;
- }
-}
-/++
- sdlang headers<BR>
- extract sdlang header return sdlang
-+/
-static template SiSUextractSDLang() {
- import
- std.exception,
- std.regex,
- std.stdio,
- std.string,
- std.traits,
- std.typecons,
- std.utf,
- std.conv : to;
- import
- sdp.meta.conf_make_meta_structs,
- sdp.meta.rgx;
- struct extractSDL {
- mixin SiSUmakeMetaStructsSDLang;
- mixin SiSUrgxInit;
- static auto rgx = Rgx();
- private auto docHeaderSDLtagGet(Hs)(Hs src_header) {
- debug(asserts){
- static assert(is(typeof(src_header) == char[]));
- }
- char[][] source_header_arr
- = (cast(char[]) src_header).split(rgx.newline_eol_delimiter);
- char[] _src_header;
- foreach(header_line; source_header_arr) {
- if (!match(header_line, rgx.comments)) {
- _src_header ~= header_line ~ "\n";
- }
- }
- scope(failure) {
- stderr.writefln(
- "%s\n%s\n%s:%s failed here:\n _src_header: %s",
- __MODULE__, __FUNCTION__,
- __FILE__, __LINE__,
- _src_header,
- );
- }
- Tag sdl_root_header;
- try {
- sdl_root_header = parseSource(_src_header.to!string);
- }
- catch(ParseException e) {
- stderr.writeln("SDLang problem with this document header:");
- stderr.writeln(_src_header);
- // Error messages of the form:
- // myFile.sdl(5:28): Error: Invalid integer suffix.
- stderr.writeln(e.msg);
- }
- debug(sdlang) {
- writeln("header SDL:");
- writeln(__LINE__, ": ", sdl_root_header.toSDLDocument());
- writeln(__LINE__, ": ", sdl_root_header.maybe.namespaces);
- writeln("header make sdlang: ", sdl_root_header.toSDLDocument());
- writeln(__LINE__, ": ", sdl_root_header.getTagValues("title"));
- writeln(__LINE__, ": ", sdl_root_header.getTagValues("creator"));
- Tag creator = sdl_root_header.getTag("creator");
- if (creator !is null) {
- if ("author" in creator.maybe.tags) {
- writeln(__LINE__, ": ", creator.getTagValues("author"));
- } else if ("author" in creator.maybe.attributes) {
- writeln(__LINE__, ": ", creator.maybe.attributes["author"][0].value);
- }
- }
- }
- return sdl_root_header; // sdlang.ast.Tag
- }
- private auto docSDLtoStruct(C,Tag)(C _conf_composite, Tag header_sdlang) { // work on
- /+ make ------------------------------------------------------------------- +/
- if ("make" in header_sdlang.maybe.tags) {
- confCompositeMakeBuild _mk;
- _conf_composite.make_str.bold = extractSDLangTabOrAttrib(header_sdlang, "make", "bold"); // TODO
- _conf_composite.make_str.breaks = extractSDLangTabOrAttrib(header_sdlang, "make", "breaks");
- _conf_composite.make_str.cover_image = extractSDLangTabOrAttrib(header_sdlang, "make", "cover_image");
- _conf_composite.make_str.css = extractSDLangTabOrAttrib(header_sdlang, "make", "css");
- _conf_composite.make_str.emphasis = extractSDLangTabOrAttrib(header_sdlang, "make", "emphasis"); // TODO
- _conf_composite.make_str.footer = extractSDLangTabOrAttrib(header_sdlang, "make", "footer");
- _conf_composite.make_str.headings = extractSDLangTabOrAttrib(header_sdlang, "make", "headings");
- _conf_composite.make_str.home_button_image = extractSDLangTabOrAttrib(header_sdlang, "make", "home_button_image");
- _conf_composite.make_str.home_button_text = extractSDLangTabOrAttrib(header_sdlang, "make", "home_button_text");
- _conf_composite.make_str.italics = extractSDLangTabOrAttrib(header_sdlang, "make", "italics"); // TODO
- _conf_composite.make_str.num_top = extractSDLangTabOrAttrib(header_sdlang, "make", "num_top");
- _conf_composite.make_str.num_depth = extractSDLangTabOrAttrib(header_sdlang, "make", "num_depth");
- _conf_composite.make_str.substitute = extractSDLangTabOrAttrib(header_sdlang, "make", "substitute"); // TODO
- _conf_composite.make_str.texpdf_font = extractSDLangTabOrAttrib(header_sdlang, "make", "texpdf_font");
- _conf_composite.make.bold_rgxmatch = _mk.bold_rgxmatch(_conf_composite.make_str.bold);
- _conf_composite.make.breaks = _mk.breaks(_conf_composite.make_str.breaks);
- _conf_composite.make.cover_image = _mk.cover_image(_conf_composite.make_str.cover_image);
- _conf_composite.make.css = _mk.css(_conf_composite.make_str.css);
- _conf_composite.make.emphasis_rgxmatch = _mk.emphasis_rgxmatch(_conf_composite.make_str.emphasis);
- _conf_composite.make.footer = _mk.footer(_conf_composite.make_str.footer);
- _conf_composite.make.headings = _mk.headings(_conf_composite.make_str.headings);
- _conf_composite.make.home_button_image = _mk.home_button_image(_conf_composite.make_str.home_button_image);
- _conf_composite.make.home_button_text = _mk.home_button_text(_conf_composite.make_str.home_button_text);
- _conf_composite.make.italics_rgxmatch = _mk.italics_rgxmatch(_conf_composite.make_str.italics);
- _conf_composite.make.num_top = _mk.num_top(_conf_composite.make_str.num_top);
- _conf_composite.make.num_depth = _mk.num_depth(_conf_composite.make_str.num_depth);
- _conf_composite.make.substitute = _mk.substitute(_conf_composite.make_str.substitute);
- _conf_composite.make.texpdf_font = _mk.texpdf_font(_conf_composite.make_str.texpdf_font);
- }
- /+ conf ------------------------------------------------------------------- +/
- if ("webserv" in header_sdlang.maybe.tags) {
- _conf_composite.conf.webserv_url_root = extractSDLangTabOrAttrib(header_sdlang, "webserv", "url_root");
- _conf_composite.conf.webserv_path = extractSDLangTabOrAttrib(header_sdlang, "webserv", "path");
- _conf_composite.conf.webserv_images = extractSDLangTabOrAttrib(header_sdlang, "webserv", "images");
- _conf_composite.conf.webserv_cgi = extractSDLangTabOrAttrib(header_sdlang, "webserv", "cgi");
- _conf_composite.conf.webserv_cgi_host = extractSDLangTabOrAttrib(header_sdlang, "webserv", "cgi_host");
- _conf_composite.conf.webserv_cgi_host_path = extractSDLangTabOrAttrib(header_sdlang, "webserv", "cgi_host_path");
- _conf_composite.conf.webserv_cgi_port = extractSDLangTabOrAttrib(header_sdlang, "webserv", "cgi_port");
- _conf_composite.conf.webserv_cgi_user = extractSDLangTabOrAttrib(header_sdlang, "webserv", "cgi_user");
- _conf_composite.conf.webserv_cgi_file_links = extractSDLangTabOrAttrib(header_sdlang, "webserv", "cgi_file_links");
- }
- if ("processing" in header_sdlang.maybe.tags) {
- _conf_composite.conf.processing_path = extractSDLangTabOrAttrib(header_sdlang, "webserv", "processing_path");
- _conf_composite.conf.processing_dir = extractSDLangTabOrAttrib(header_sdlang, "webserv", "processing_dir");
- _conf_composite.conf.processing_concord_max = extractSDLangTabOrAttrib(header_sdlang, "webserv", "processing_concord_max");
- }
- if ("flag" in header_sdlang.maybe.tags) {
- _conf_composite.conf.flag_act0 = extractSDLangTabOrAttrib(header_sdlang, "flag", "act0");
- _conf_composite.conf.flag_act1 = extractSDLangTabOrAttrib(header_sdlang, "flag", "act1");
- _conf_composite.conf.flag_act2 = extractSDLangTabOrAttrib(header_sdlang, "flag", "act2");
- _conf_composite.conf.flag_act3 = extractSDLangTabOrAttrib(header_sdlang, "flag", "act3");
- _conf_composite.conf.flag_act4 = extractSDLangTabOrAttrib(header_sdlang, "flag", "act4");
- _conf_composite.conf.flag_act5 = extractSDLangTabOrAttrib(header_sdlang, "flag", "act5");
- _conf_composite.conf.flag_act6 = extractSDLangTabOrAttrib(header_sdlang, "flag", "act6");
- _conf_composite.conf.flag_act7 = extractSDLangTabOrAttrib(header_sdlang, "flag", "act7");
- _conf_composite.conf.flag_act8 = extractSDLangTabOrAttrib(header_sdlang, "flag", "act8");
- _conf_composite.conf.flag_act9 = extractSDLangTabOrAttrib(header_sdlang, "flag", "act9");
- }
- if ("default" in header_sdlang.maybe.tags) {
- _conf_composite.conf.default_papersize = extractSDLangTabOrAttrib(header_sdlang, "default", "papersize");
- _conf_composite.conf.default_text_wrap = extractSDLangTabOrAttrib(header_sdlang, "default", "text_wrap");
- _conf_composite.conf.default_emphasis = extractSDLangTabOrAttrib(header_sdlang, "default", "emphasis");
- _conf_composite.conf.default_language = extractSDLangTabOrAttrib(header_sdlang, "default", "language");
- _conf_composite.conf.default_digest = extractSDLangTabOrAttrib(header_sdlang, "default", "digest");
- }
- if ("search" in header_sdlang.maybe.tags) {
- _conf_composite.conf.search_flag = extractSDLangTabOrAttrib(header_sdlang, "search", "flag");
- _conf_composite.conf.search_action = extractSDLangTabOrAttrib(header_sdlang, "search", "action");
- _conf_composite.conf.search_db = extractSDLangTabOrAttrib(header_sdlang, "search", "db");
- _conf_composite.conf.search_title = extractSDLangTabOrAttrib(header_sdlang, "search", "title");
- }
- /+ meta ------------------------------------------------------------------- +/
- if ("classify" in header_sdlang.maybe.tags) {
- _conf_composite.meta.classify_dewey = extractSDLangTabOrAttrib(header_sdlang, "classify", "dewey");
- _conf_composite.meta.classify_keywords = extractSDLangTabOrAttrib(header_sdlang, "classify", "keywords");
- _conf_composite.meta.classify_loc = extractSDLangTabOrAttrib(header_sdlang, "classify", "loc");
- _conf_composite.meta.classify_subject = extractSDLangTabOrAttrib(header_sdlang, "classify", "subject");
- _conf_composite.meta.classify_topic_register = extractSDLangTabOrAttrib(header_sdlang, "classify", "topic_register");
- }
- if ("date" in header_sdlang.maybe.tags) {
- _conf_composite.meta.date_added_to_site = extractSDLangTabOrAttrib(header_sdlang, "date", "added_to_site");
- _conf_composite.meta.date_available = extractSDLangTabOrAttrib(header_sdlang, "date", "available");
- _conf_composite.meta.date_created = extractSDLangTabOrAttrib(header_sdlang, "date", "created");
- _conf_composite.meta.date_issued = extractSDLangTabOrAttrib(header_sdlang, "date", "issued");
- _conf_composite.meta.date_modified = extractSDLangTabOrAttrib(header_sdlang, "date", "modified");
- _conf_composite.meta.date_published = extractSDLangTabOrAttrib(header_sdlang, "date", "published");
- _conf_composite.meta.date_valid = extractSDLangTabOrAttrib(header_sdlang, "date", "valid");
- }
- if ("identifier" in header_sdlang.maybe.tags) {
- _conf_composite.meta.identifier_isbn = extractSDLangTabOrAttrib(header_sdlang, "identifier", "isbn");
- _conf_composite.meta.identifier_oclc = extractSDLangTabOrAttrib(header_sdlang, "identifier", "oclc");
- _conf_composite.meta.identifier_pg = extractSDLangTabOrAttrib(header_sdlang, "identifier", "pg");
- }
- if ("links" in header_sdlang.maybe.tags) {
- // _conf_composite.meta.links = extractSDLangTabOrAttrib(header_sdlang, "links", "");
- }
- if ("notes" in header_sdlang.maybe.tags) {
- _conf_composite.meta.notes_abstract = extractSDLangTabOrAttrib(header_sdlang, "notes", "abstract");
- _conf_composite.meta.notes_description = extractSDLangTabOrAttrib(header_sdlang, "notes", "description");
- }
- if ("original" in header_sdlang.maybe.tags) {
- _conf_composite.meta.original_language = extractSDLangTabOrAttrib(header_sdlang, "original", "language");
- _conf_composite.meta.original_language_char = extractSDLangTabOrAttrib(header_sdlang, "original", "language_char");
- _conf_composite.meta.original_source = extractSDLangTabOrAttrib(header_sdlang, "original", "source");
- _conf_composite.meta.original_title = extractSDLangTabOrAttrib(header_sdlang, "original", "title");
- }
- if ("publisher" in header_sdlang.maybe.tags) {
- // _conf_composite.meta.publisher = extractSDLangTabOrAttrib(header_sdlang, "publisher", "");
- }
- if ("rights" in header_sdlang.maybe.tags) {
- _conf_composite.meta.rights_copyright = extractSDLangTabOrAttrib(header_sdlang, "rights", "copyright");
- _conf_composite.meta.rights_copyright_text = extractSDLangTabOrAttrib(header_sdlang, "rights", "copyright_text");
- _conf_composite.meta.rights_copyright_audio = extractSDLangTabOrAttrib(header_sdlang, "rights", "copyright_audio");
- _conf_composite.meta.rights_copyright_cover = extractSDLangTabOrAttrib(header_sdlang, "rights", "copyright_cover");
- _conf_composite.meta.rights_copyright_illustrations = extractSDLangTabOrAttrib(header_sdlang, "rights", "copyright_illustrations");
- _conf_composite.meta.rights_copyright_photographs = extractSDLangTabOrAttrib(header_sdlang, "rights", "copyright_photographs");
- _conf_composite.meta.rights_copyright_translation = extractSDLangTabOrAttrib(header_sdlang, "rights", "copyright_translation");
- _conf_composite.meta.rights_copyright_video = extractSDLangTabOrAttrib(header_sdlang, "rights", "copyright_video");
- _conf_composite.meta.rights_license = extractSDLangTabOrAttrib(header_sdlang, "rights", "license");
- }
- if (_conf_composite.meta.creator_author.empty) {
- if ("creator" in header_sdlang.maybe.tags) {
- _conf_composite.meta.creator_author = extractSDLangTabOrAttrib(header_sdlang, "creator", "author");
- _conf_composite.meta.creator_author_email = extractSDLangTabOrAttrib(header_sdlang, "creator", "author_email");
- _conf_composite.meta.creator_illustrator = extractSDLangTabOrAttrib(header_sdlang, "creator", "illustrator");
- _conf_composite.meta.creator_translator = extractSDLangTabOrAttrib(header_sdlang, "creator", "translator");
- }
- // dochead_meta["creator"]["author_raw"] = dochead_meta["creator"]["author"];
- string[] authors_arr;
- auto authors_raw_arr = _conf_composite.meta.creator_author.split(rgx.arr_delimiter);
- foreach (author_raw; authors_raw_arr) {
- authors_arr ~= author_raw.replace(rgx.raw_author_munge, "$2 $1");
- }
- _conf_composite.meta.creator_author = join(authors_arr, ", ").chomp.chomp;
- }
- if (_conf_composite.meta.title_main.empty) {
- if ("title" in header_sdlang.maybe.tags) {
- _conf_composite.meta.title_edition = extractSDLangTabOrAttrib(header_sdlang, "title", "edition");
- // _conf_composite.meta.title_full = extractSDLangTabOrAttrib(header_sdlang, "title", "full");
- _conf_composite.meta.title_language = extractSDLangTabOrAttrib(header_sdlang, "title", "language");
- _conf_composite.meta.title_main = extractSDLangTabOrAttrib(header_sdlang, "title", "main");
- _conf_composite.meta.title_note = extractSDLangTabOrAttrib(header_sdlang, "title", "note");
- _conf_composite.meta.title_sub = extractSDLangTabOrAttrib(header_sdlang, "title", "sub");
- _conf_composite.meta.title_subtitle = extractSDLangTabOrAttrib(header_sdlang, "title", "subtitle");
- }
- if (_conf_composite.meta.title_main.empty) {
- Tag _maintag = header_sdlang.getTag("title");
- if (_maintag !is null) {
- if ("main" in _maintag.maybe.tags) {
- _conf_composite.meta.title_main
- = to!string(_maintag.getTagValues("main"));
- } else if ("main" !in _maintag.maybe.attributes) {
- _conf_composite.meta.title_main
- = (_maintag.values[0]).to!string; // test that this exists
- }
- }
- }
- if ((!(_conf_composite.meta.title_subtitle.empty))
- && (_conf_composite.meta.title_sub.empty)) {
- _conf_composite.meta.title_sub = _conf_composite.meta.title_subtitle;
- }
- _conf_composite.meta.title_full = (_conf_composite.meta.title_sub.empty)
- ? _conf_composite.meta.title_main
- : format(
- "%s - %s",
- _conf_composite.meta.title_main,
- _conf_composite.meta.title_sub,
- );
- }
- return _conf_composite;
- }
- }
-}
-static template parseSDLangConfig() {
- import
- std.exception,
- std.regex,
- std.stdio,
- std.string,
- std.traits,
- std.typecons,
- std.utf,
- std.conv : to;
- import sdlang;
- auto parseSDLangConfig(string configuration, string conf_sdl_filename) {
- Tag sdl_root_conf;
- try {
- sdl_root_conf = parseSource(configuration);
- }
- catch(ParseException e) {
- stderr.writeln("SDLang problem with content for ", conf_sdl_filename);
- stderr.writeln(e.msg);
- }
- return sdl_root_conf;
- }
-}
-/++
- return composite make from config files
-+/
-
-template confFilesSDLtoStruct() {
- import
- std.exception,
- std.regex,
- std.stdio,
- std.string,
- std.traits,
- std.typecons,
- std.utf,
- std.conv : to;
- import
- sdp.meta.conf_make_meta_structs,
- sdp.meta.rgx;
- auto configParseSDL(T)(
- T _text
- ){
- Tag sdl_root;
- try {
- sdl_root = parseSource(_text.to!string);
- }
- catch(ParseException e) {
- stderr.writeln("SDLang problem with this document header:");
- stderr.writeln(_src_header);
- // Error messages of the form:
- // myFile.sdl(5:28): Error: Invalid integer suffix.
- stderr.writeln(e.msg);
- }
- debug(sdlang) {
- writeln("header SDL:");
- writeln(__LINE__, ": ", sdl_root.toSDLDocument());
- writeln(__LINE__, ": ", sdl_root.maybe.namespaces);
- writeln("header make sdlang: ", sdl_root.toSDLDocument());
- writeln(__LINE__, ": ", sdl_root.getTagValues("title"));
- writeln(__LINE__, ": ", sdl_root.getTagValues("creator"));
- Tag creator = sdl_root.getTag("creator");
- if (creator !is null) {
- if ("author" in creator.maybe.tags) {
- writeln(__LINE__, ": ", creator.getTagValues("author"));
- } else if ("author" in creator.maybe.attributes) {
- writeln(__LINE__, ": ", creator.maybe.attributes["author"][0].value);
- }
- }
- }
- return sdl_root; // sdlang.ast.Tag
- }
- auto confFilesSDLtoStruct(S,L)(
- S sdl_root_config_share,
- L sdl_root_config_local,
- ){
- mixin SiSUmakeMetaStructsSDLang;
- ConfCompositePlus _conf_composite;
- foreach (conf_sdlang; [sdl_root_config_share, sdl_root_config_local]) {
- if ("make" in conf_sdlang.maybe.tags) {
- confCompositeMakeBuild _mk;
- _conf_composite.make_str.bold = extractSDLangTabOrAttrib(conf_sdlang, "make", "bold"); // TODO
- _conf_composite.make_str.breaks = extractSDLangTabOrAttrib(conf_sdlang, "make", "breaks");
- _conf_composite.make_str.cover_image = extractSDLangTabOrAttrib(conf_sdlang, "make", "cover_image");
- _conf_composite.make_str.css = extractSDLangTabOrAttrib(conf_sdlang, "make", "css");
- _conf_composite.make_str.emphasis = extractSDLangTabOrAttrib(conf_sdlang, "make", "emphasis"); // TODO
- _conf_composite.make_str.footer = extractSDLangTabOrAttrib(conf_sdlang, "make", "footer");
- _conf_composite.make_str.headings = extractSDLangTabOrAttrib(conf_sdlang, "make", "headings");
- _conf_composite.make_str.home_button_image = extractSDLangTabOrAttrib(conf_sdlang, "make", "home_button_image");
- _conf_composite.make_str.home_button_text = extractSDLangTabOrAttrib(conf_sdlang, "make", "home_button_text");
- _conf_composite.make_str.italics = extractSDLangTabOrAttrib(conf_sdlang, "make", "italics"); // TODO
- _conf_composite.make_str.num_top = extractSDLangTabOrAttrib(conf_sdlang, "make", "num_top");
- _conf_composite.make_str.num_depth = extractSDLangTabOrAttrib(conf_sdlang, "make", "num_depth");
- _conf_composite.make_str.substitute = extractSDLangTabOrAttrib(conf_sdlang, "make", "substitute"); // TODO
- _conf_composite.make_str.texpdf_font = extractSDLangTabOrAttrib(conf_sdlang, "make", "texpdf_font");
- _conf_composite.make.bold_rgxmatch = _mk.bold_rgxmatch(_conf_composite.make_str.bold); //
- _conf_composite.make.breaks = _mk.breaks(_conf_composite.make_str.breaks);
- _conf_composite.make.cover_image = _mk.cover_image(_conf_composite.make_str.cover_image);
- _conf_composite.make.css = _mk.css(_conf_composite.make_str.css);
- _conf_composite.make.emphasis_rgxmatch = _mk.emphasis_rgxmatch(_conf_composite.make_str.emphasis);
- _conf_composite.make.footer = _mk.footer(_conf_composite.make_str.footer);
- _conf_composite.make.headings = _mk.headings(_conf_composite.make_str.headings);
- _conf_composite.make.home_button_image = _mk.home_button_image(_conf_composite.make_str.home_button_image);
- _conf_composite.make.home_button_text = _mk.home_button_text(_conf_composite.make_str.home_button_text);
- _conf_composite.make.italics_rgxmatch = _mk.italics_rgxmatch(_conf_composite.make_str.italics);
- _conf_composite.make.num_top = _mk.num_top(_conf_composite.make_str.num_top);
- _conf_composite.make.num_depth = _mk.num_depth(_conf_composite.make_str.num_depth);
- _conf_composite.make.substitute = _mk.substitute(_conf_composite.make_str.substitute); // TODO
- _conf_composite.make.texpdf_font = _mk.texpdf_font(_conf_composite.make_str.texpdf_font);
- }
- }
- return _conf_composite;
- }
-}
-/++
- default settings
-+/
-template SiSUmakeMetaStructsSDLang() {
- import
- std.algorithm,
- std.array,
- std.container,
- std.exception,
- std.file,
- std.getopt,
- std.json,
- std.path,
- std.process,
- std.range,
- std.regex,
- std.stdio,
- std.string,
- std.traits,
- std.typecons,
- std.uni,
- std.utf,
- std.conv : to;
- import sdp.meta.conf_make_meta_structs;
- string extractSDLangTabOrAttrib(S)(
- S conf_sdlang,
- string maintab,
- string atab
- ) {
- string _conf_composite_string = "";
- if (maintab in conf_sdlang.maybe.tags) {
- auto _maintag = conf_sdlang.getTag(maintab);
- if (
- (atab in _maintag.maybe.tags)
- && (_maintag.getTagValues(atab).length > 0)
- ) {
- debug(configsdlang) {
- writeln(
- " ", __LINE__,
- ": sdl tag, ",
- maintab, ":", atab, ": ",
- _maintag.getTagValues(atab)[0]
- );
- }
- if (_maintag.getTagValues(atab).length == 1) {
- writeln((_maintag.getTagValues(atab)[0]).to!string);
- _conf_composite_string
- = (_maintag.getTagValues(atab)[0]).to!string;
- } else if (_maintag.getTagValues(atab).length > 1) {
- string _tmp = "";
- foreach (st; _maintag.getTagValues(atab)) {
- writeln(st.to!string, ";");
- _tmp ~= st.to!string ~ ";";
- }
- _conf_composite_string = _tmp;
- }
- } else if (
- (atab in _maintag.maybe.attributes)
- && (_maintag.attributes[atab][0].value.length > 0)
- ) {
- debug(configsdlang) {
- writeln(
- " ", __LINE__,
- ": sdl attrib, ",
- maintab, ":", atab, ": ",
- _maintag.attributes[atab][0].value
- );
- }
- _conf_composite_string
- = (_maintag.attributes[atab][0].value).to!string;
- }
- }
- return _conf_composite_string;
- }
-}
diff --git a/src/sdp/meta/doc_debugs.d b/src/sdp/meta/doc_debugs.d
index 89ca3a7..66b5f0e 100644
--- a/src/sdp/meta/doc_debugs.d
+++ b/src/sdp/meta/doc_debugs.d
@@ -23,8 +23,8 @@ template SiSUdebugs() {
std.utf,
std.conv : to;
auto SiSUdebugs(S,T)(
- auto return ref const S contents,
- auto return ref T doc_matters,
+ const S contents,
+ T doc_matters,
) {
mixin SiSUrgxInit;
mixin InternalMarkup;
@@ -595,8 +595,8 @@ template SiSUdebugs() {
}
debug(checkdoc) {
void out_segnames(S,T)(
- auto return ref const S contents,
- auto return ref T doc_matters,
+ const S contents,
+ T doc_matters,
) {
foreach (key; doc_matters.xml.keys_seq.seg) {
if (contents[key].length > 1) {
@@ -611,7 +611,7 @@ template SiSUdebugs() {
}
debug(checkdoc) {
void out_toc(S)(
- auto return ref const S contents,
+ const S contents,
string key,
) {
if (contents[key].length > 1) {
@@ -629,7 +629,7 @@ template SiSUdebugs() {
}
debug(checkdoc) {
void out_endnotes(S)(
- auto return ref const S contents,
+ const S contents,
string key,
) {
if (contents[key].length > 1) {
@@ -645,7 +645,7 @@ template SiSUdebugs() {
}
debug(checkdoc) {
void out_bookindex(S)(
- auto return ref const S contents,
+ const S contents,
string key,
) {
if (contents[key].length > 1) {
diff --git a/src/sdp/meta/metadoc.d b/src/sdp/meta/metadoc.d
index 8160010..29af49c 100644
--- a/src/sdp/meta/metadoc.d
+++ b/src/sdp/meta/metadoc.d
@@ -14,11 +14,11 @@ template SiSUabstraction() {
sdp.meta.conf_make_meta_json,
sdp.meta.defaults,
sdp.meta.doc_debugs,
- sdp.meta.read_config_files,
- sdp.meta.read_source_files,
sdp.meta.rgx,
- sdp.output.hub,
- sdp.output.paths_source;
+ sdp.source.paths_source,
+ sdp.source.read_config_files,
+ sdp.source.read_source_files,
+ sdp.output.hub;
mixin SiSUrgxInit;
mixin contentJSONtoSiSUstruct;
mixin SiSUbiblio;
diff --git a/src/sdp/output/epub3.d b/src/sdp/output/epub3.d
index 9389e58..cde42d1 100644
--- a/src/sdp/output/epub3.d
+++ b/src/sdp/output/epub3.d
@@ -293,8 +293,8 @@ template outputEPub3() {
}
void outputEPub3(D,I)(
- auto ref const D doc_abstraction,
- auto ref I doc_matters,
+ const D doc_abstraction,
+ I doc_matters,
) {
mixin SiSUoutputRgxInit;
auto xhtml_format = outputXHTMLs();
diff --git a/src/sdp/output/html.d b/src/sdp/output/html.d
index d783579..7024b0f 100644
--- a/src/sdp/output/html.d
+++ b/src/sdp/output/html.d
@@ -13,8 +13,8 @@ template outputHTML() {
sdp.output.xmls_css;
mixin outputXHTMLs;
void scroll(D,I)(
- auto ref const D doc_abstraction,
- auto ref I doc_matters,
+ const D doc_abstraction,
+ I doc_matters,
) {
mixin SiSUoutputRgxInit;
auto xhtml_format = outputXHTMLs();
@@ -181,8 +181,8 @@ template outputHTML() {
writeln(" ", pth_html.fn_scroll(doc_matters.src.filename));
}
void seg(D,M)(
- auto ref const D doc_abstraction,
- auto ref M doc_matters,
+ const D doc_abstraction,
+ M doc_matters,
) {
mixin SiSUoutputRgxInit;
auto rgx = Rgx();
diff --git a/src/sdp/output/package.d b/src/sdp/output/package.d
index 84bdfce..2aa6544 100644
--- a/src/sdp/output/package.d
+++ b/src/sdp/output/package.d
@@ -15,7 +15,7 @@ public import
// std.uni,
std.utf;
public import
- sdp.output.paths_source,
+ sdp.source.paths_source,
sdp.output.defaults,
sdp.output.paths_output,
sdp.output.rgx;
diff --git a/src/sdp/output/paths_output.d b/src/sdp/output/paths_output.d
index cd4817b..8a4d623 100644
--- a/src/sdp/output/paths_output.d
+++ b/src/sdp/output/paths_output.d
@@ -14,13 +14,9 @@ template SiSUoutPaths() {
) {
struct _PathsStruct {
string output_root() {
- string out_root_;
- if (output_pth_root.length > 0) {
- out_root_ = output_pth_root;
- } else {
- out_root_ = "sisugen";
- }
- return out_root_;
+ return (output_pth_root.length > 0)
+ ? output_pth_root
+ : "sisugen";
}
string output_base() {
return asNormalizedPath(output_root.chainPath(lng)).array;
@@ -35,13 +31,9 @@ template SiSUoutPathSQLite() {
) {
struct _PathsStruct {
string output_root() {
- string out_root_;
- if (output_pth_root.length > 0) {
- out_root_ = output_pth_root;
- } else {
- out_root_ = "sisugen";
- }
- return out_root_;
+ return (output_pth_root.length > 0)
+ ? output_pth_root
+ : "sisugen";
}
string output_base() {
return asNormalizedPath(output_root).array;
@@ -70,7 +62,7 @@ template SiSUoutPathsFnPd() {
- else if pod_name != file_name
- pod_name.file_name
+/
- auto _fn_src = fn_src_pth.baseName.stripExtension;
+ string _fn_src = fn_src_pth.baseName.stripExtension;
string _output_base_name;
if (!(pod_name.empty)) {
if (pod_name == _fn_src) {
diff --git a/src/sdp/output/sqlite.d b/src/sdp/output/sqlite.d
index f805392..faff29b 100644
--- a/src/sdp/output/sqlite.d
+++ b/src/sdp/output/sqlite.d
@@ -685,10 +685,11 @@ template SQLiteTablesReCreate() {
seg VARCHAR(256) NULL,
lev_an VARCHAR(1),
lev SMALLINT NULL,
- t_of VARCHAR(16),
- t_is VARCHAR(16),
+ is_of_type VARCHAR(16),
+ is_a VARCHAR(16),
node VARCHAR(16) NULL,
parent VARCHAR(16) NULL,
+ last_decendant VARCHAR(16) NULL, /* headings only */
digest_clean CHAR(256),
digest_all CHAR(256),
types CHAR(1) NULL
@@ -874,8 +875,8 @@ template SQLiteInsertDocObjectsLoop() {
clean,
body,
lev,
- t_of,
- t_is
+ is_of_type,
+ is_a
)
VALUES (
%d,
@@ -1173,10 +1174,11 @@ template SQLiteTablesCreate() {
seg VARCHAR(256) NULL,
lev_an VARCHAR(1),
lev SMALLINT NULL,
- t_of VARCHAR(16),
- t_is VARCHAR(16),
+ is_of_type VARCHAR(16),
+ is_a VARCHAR(16),
node VARCHAR(16) NULL,
parent VARCHAR(16) NULL,
+ last_decendant VARCHAR(16) NULL, /* headings only */
digest_clean CHAR(256),
digest_all CHAR(256),
types CHAR(1) NULL
diff --git a/src/sdp/output/xmls.d b/src/sdp/output/xmls.d
index e389c5c..874329f 100644
--- a/src/sdp/output/xmls.d
+++ b/src/sdp/output/xmls.d
@@ -51,8 +51,8 @@ template outputXHTMLs() {
return delimit;
}
string special_characters(O)(
- auto ref const O obj,
- string _txt
+ const O obj,
+ string _txt
){
_txt = (_txt)
.replaceAll(rgx.xhtml_ampersand, "&#38;")
@@ -312,10 +312,10 @@ template outputXHTMLs() {
return o;
}
auto inline_images(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
- string _xml_type = "seg",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
+ string _xml_type = "seg",
) {
string _img_pth;
if (_xml_type == "epub") {
@@ -335,10 +335,10 @@ template outputXHTMLs() {
return _txt;
}
auto inline_links(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
- string _xml_type = "seg",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
+ string _xml_type = "seg",
) {
if (obj.has.inline_links) {
if ((_txt.match(rgx.mark_internal_site_lnk))
@@ -381,8 +381,8 @@ template outputXHTMLs() {
return _txt;
}
auto inline_notes_scroll(O)(
- auto ref const O obj,
- string _txt,
+ const O obj,
+ string _txt,
) {
if (obj.has.inline_notes_reg) {
_txt = font_face(_txt);
@@ -404,8 +404,8 @@ template outputXHTMLs() {
return _txt;
}
auto inline_notes_seg(O)(
- auto ref const O obj,
- string _txt,
+ const O obj,
+ string _txt,
) {
string[] _endnotes;
if (obj.has.inline_notes_reg) {
@@ -443,9 +443,9 @@ template outputXHTMLs() {
return t;
}
auto inline_markup_scroll(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
) {
_txt = inline_images(obj, _txt, _suffix, "scroll");
_txt = inline_links(obj, _txt, _suffix, "scroll");
@@ -453,10 +453,10 @@ template outputXHTMLs() {
return _txt;
}
auto inline_markup_seg(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
- string _xml_type = "seg",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
+ string _xml_type = "seg",
) {
_txt = inline_images(obj, _txt, _suffix, _xml_type);
_txt = inline_links(obj, _txt, _suffix, _xml_type);
@@ -464,7 +464,7 @@ template outputXHTMLs() {
return t;
}
string lev4_heading_subtoc(O)(
- auto ref const O obj,
+ const O obj,
) {
char[] lev4_subtoc;
lev4_subtoc ~= " <div class=\"nav\">\n";
@@ -490,7 +490,7 @@ template outputXHTMLs() {
return lev4_subtoc.to!string;
}
auto nav_pre_next_svg(O)(
- auto ref const O obj,
+ const O obj,
) {
string prev, next, toc;
if (obj.tags.segment_anchor_tag == "toc") {
@@ -567,9 +567,9 @@ template outputXHTMLs() {
return bar();
}
auto heading(O)(
- auto ref const O obj,
- string _txt,
- string _xml_type = "html",
+ const O obj,
+ string _txt,
+ string _xml_type = "html",
) {
auto tags = _xhtml_anchor_tags(obj.tags.anchor_tags);
string _horizontal_rule = "<hr />";
@@ -616,9 +616,9 @@ template outputXHTMLs() {
return o;
}
auto heading_scroll(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
) {
auto tags = _xhtml_anchor_tags(obj.tags.anchor_tags);
_txt = inline_markup_scroll(obj, _txt, _suffix);
@@ -626,10 +626,10 @@ template outputXHTMLs() {
return o;
}
auto heading_seg(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
- string _xml_type = "html",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
+ string _xml_type = "html",
) {
auto t = inline_markup_seg(obj, _txt, _suffix, _xml_type);
_txt = t[0];
@@ -642,8 +642,8 @@ template outputXHTMLs() {
return u;
}
auto para(O)(
- auto ref const O obj,
- string _txt,
+ const O obj,
+ string _txt,
) {
auto tags = _xhtml_anchor_tags(obj.tags.anchor_tags);
_txt = font_face(_txt);
@@ -681,9 +681,9 @@ template outputXHTMLs() {
return o;
}
auto para_scroll(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
) {
auto tags = _xhtml_anchor_tags(obj.tags.anchor_tags);
_txt = inline_markup_scroll(obj, _txt, _suffix);
@@ -691,10 +691,10 @@ template outputXHTMLs() {
return o;
}
auto para_seg(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
- string _xml_type = "html",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
+ string _xml_type = "html",
) {
auto t = inline_markup_seg(obj, _txt, _suffix, _xml_type);
_txt = t[0].to!string;
@@ -707,8 +707,8 @@ template outputXHTMLs() {
return u;
}
auto quote(O)(
- auto ref const O obj,
- string _txt,
+ const O obj,
+ string _txt,
) {
_txt = font_face(_txt);
string o;
@@ -738,9 +738,9 @@ template outputXHTMLs() {
return o;
}
auto quote_scroll(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
) {
auto tags = _xhtml_anchor_tags(obj.tags.anchor_tags);
_txt = inline_markup_scroll(obj, _txt, _suffix);
@@ -748,10 +748,10 @@ template outputXHTMLs() {
return o;
}
auto quote_seg(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
- string _xml_type = "html",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
+ string _xml_type = "html",
) {
auto t = inline_markup_seg(obj, _txt, _suffix, _xml_type);
_txt = t[0].to!string;
@@ -764,8 +764,8 @@ template outputXHTMLs() {
return u;
}
auto group(O)(
- auto ref const O obj,
- string _txt,
+ const O obj,
+ string _txt,
) {
_txt = font_face(_txt);
string o;
@@ -795,10 +795,10 @@ template outputXHTMLs() {
return o;
}
auto group_scroll(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
- string _xml_type = "html",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
+ string _xml_type = "html",
) {
auto tags = _xhtml_anchor_tags(obj.tags.anchor_tags);
_txt = inline_markup_scroll(obj, _txt, _suffix);
@@ -806,10 +806,10 @@ template outputXHTMLs() {
return o;
}
auto group_seg(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
- string _xml_type = "html",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
+ string _xml_type = "html",
) {
auto t = inline_markup_seg(obj, _txt, _suffix, _xml_type);
_txt = t[0].to!string;
@@ -822,8 +822,8 @@ template outputXHTMLs() {
return u;
}
auto block(O)(
- auto ref const O obj,
- string _txt,
+ const O obj,
+ string _txt,
) {
_txt = font_face(_txt);
string o;
@@ -849,10 +849,10 @@ template outputXHTMLs() {
return o;
}
auto block_scroll(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
- string _xml_type = "html",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
+ string _xml_type = "html",
) {
auto tags = _xhtml_anchor_tags(obj.tags.anchor_tags);
_txt = inline_markup_scroll(obj, _txt, _suffix);
@@ -860,10 +860,10 @@ template outputXHTMLs() {
return o;
}
auto block_seg(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
- string _xml_type = "html",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
+ string _xml_type = "html",
) {
auto t = inline_markup_seg(obj, _txt, _suffix, _xml_type);
_txt = t[0].to!string;
@@ -876,8 +876,8 @@ template outputXHTMLs() {
return u;
}
auto verse(O)(
- auto ref const O obj,
- string _txt,
+ const O obj,
+ string _txt,
) {
_txt = font_face(_txt);
string o;
@@ -903,10 +903,10 @@ template outputXHTMLs() {
return o;
}
auto verse_scroll(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
- string _xml_type = "html",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
+ string _xml_type = "html",
) {
auto tags = _xhtml_anchor_tags(obj.tags.anchor_tags);
_txt = inline_markup_scroll(obj, _txt, _suffix);
@@ -914,10 +914,10 @@ template outputXHTMLs() {
return o;
}
auto verse_seg(O)(
- auto ref const O obj,
- string _txt,
- string _suffix = ".html",
- string _xml_type = "html",
+ const O obj,
+ string _txt,
+ string _suffix = ".html",
+ string _xml_type = "html",
) {
auto t = inline_markup_seg(obj, _txt, _suffix, _xml_type);
_txt = t[0].to!string;
@@ -930,8 +930,8 @@ template outputXHTMLs() {
return u;
}
auto tablarize(O)(
- auto ref const O obj,
- string _txt,
+ const O obj,
+ string _txt,
) {
string[] _table_rows = (_txt).split(rgx.table_delimiter_row);
string[] _table_cols;
@@ -963,8 +963,8 @@ template outputXHTMLs() {
return t;
}
auto table(O)(
- auto ref const O obj,
- string _txt,
+ const O obj,
+ string _txt,
) {
auto tags = _xhtml_anchor_tags(obj.tags.anchor_tags);
_txt = font_face(_txt);
@@ -992,8 +992,8 @@ template outputXHTMLs() {
return o;
}
auto endnote(O)(
- auto ref const O obj,
- string _txt,
+ const O obj,
+ string _txt,
) {
string o;
o = format(q"¶ <p class="%s" indent="h%si%s">
@@ -1007,8 +1007,8 @@ template outputXHTMLs() {
return o;
}
auto code(O)(
- auto ref const O obj,
- string _txt,
+ const O obj,
+ string _txt,
) {
string o;
if (obj.metainfo.object_number.empty) {
diff --git a/src/sdp/sdp.d b/src/sdp/sdp.d
index 0c2c271..b703838 100755
--- a/src/sdp/sdp.d
+++ b/src/sdp/sdp.d
@@ -17,11 +17,11 @@ import
sdp.meta.conf_make_meta_json,
sdp.meta.defaults,
sdp.meta.doc_debugs,
- sdp.meta.read_config_files,
- sdp.meta.read_source_files,
sdp.meta.rgx,
- sdp.output.hub,
- sdp.output.paths_source;
+ sdp.source.paths_source,
+ sdp.source.read_config_files,
+ sdp.source.read_source_files,
+ sdp.output.hub;
mixin(import("version.txt"));
mixin CompileTimeInfo;
/++
@@ -42,7 +42,7 @@ void main(string[] args) {
scope(success) {
debug(checkdoc) {
writefln(
- "~ run complete, ok ~ (sdp-%s.%s.%s, %s v%s, %s %s)",
+ "~ run complete, ok ~ (sdp-%s.%s.%s, %s D:%s, %s %s)",
ver.major, ver.minor, ver.patch,
__VENDOR__, __VERSION__,
bits, os,
diff --git a/src/sdp/output/paths_source.d b/src/sdp/source/paths_source.d
index e7233f0..8d3aefe 100644
--- a/src/sdp/output/paths_source.d
+++ b/src/sdp/source/paths_source.d
@@ -3,7 +3,7 @@
- read config files<BR>
meta_config_files.d
+/
-module sdp.output.paths_source;
+module sdp.source.paths_source;
import std.array,
std.file,
std.path,
@@ -18,11 +18,10 @@ template PodManifest() {
P _pth
) {
struct ManifestFile_ {
- auto pod_manifest_filename() {
- string _manifest_file = "sisupod.manifest";
- return _manifest_file;
+ string pod_manifest_filename() {
+ return "sisupod.manifest";
}
- auto pod_manifest_path() {
+ string pod_manifest_path() {
string _manifest_path;
if ((isValidPath(_pth) && exists(_pth)!=0 && _pth.isDir)
&& (exists(_pth.chainPath(pod_manifest_filename).array)!=0
@@ -62,11 +61,11 @@ template PodManifest() {
template PathMatters() {
mixin SiSUrgxInit;
static auto rgx = Rgx();
- auto PathMatters(O,E,P,F)(
- O _opt_actions,
- E _env,
- P _pth,
- F _fns = "",
+ auto PathMatters(O,E)(
+ O _opt_actions,
+ E _env,
+ string _pth,
+ string _fns = "",
char[][] _manifest_fn_list = [[]],
) {
auto _manifest = PodManifest!()(_pth);
@@ -92,15 +91,13 @@ template PathMatters() {
}
return Opt_();
}
- auto src_is_pod() {
- auto _src_is_pod = (_manifest.pod_manifest_path.length > 0) ? true : false;
- return _src_is_pod;
+ bool src_is_pod() {
+ return (_manifest.pod_manifest_path.length > 0) ? true : false;
}
auto pod() {
struct Pod_ {
- auto src_is_pod() {
- auto _src_is_pod = (_manifest.pod_manifest_path.length > 0) ? true : false;
- return _src_is_pod;
+ bool src_is_pod() {
+ return (_manifest.pod_manifest_path.length > 0) ? true : false;
}
auto collection_root() {
auto _collection_root = asNormalizedPath(chainPath(_manifest.pod_manifest_path, "..")).array;
@@ -111,34 +108,34 @@ template PathMatters() {
}
return _collection_root;
}
- auto manifest_filename() {
+ string manifest_filename() {
return _manifest.pod_manifest_filename;
}
- auto manifest_path() {
+ string manifest_path() {
return _manifest.pod_manifest_path;
}
- auto pod_name() { // TODO decide what returned if src_is_pod == false
+ string pod_name() {
return _manifest.pod_manifest_path.baseName;
}
- auto manifest_file_with_path() {
+ string manifest_file_with_path() {
return _manifest.pod_manifest_file_with_path;
}
- auto config_sisu_document_make_dirs() { // TODO sisu_document_make
+ string[] config_sisu_document_make_dirs() {
string[] _config_dirs;
return _config_dirs;
}
- auto config_local_site_dirs() { // TODO sisu_document_make
+ string[] config_local_site_dirs() {
string[] _config_dirs;
return _config_dirs;
}
- auto image_dirs() { // TODO
+ string[] image_dirs() {
string[] _image_dirs;
return _image_dirs;
}
auto manifest_list_of_filenames() {
return _manifest_fn_list;
}
- auto manifest_list_of_languages() {
+ string[] manifest_list_of_languages() {
string[] _lngs;
foreach (filename_; manifest_list_of_filenames) {
string _k = "en";
@@ -158,41 +155,32 @@ template PathMatters() {
auto _env = _env;
string _sep = "␣";
struct SRC_ {
- auto is_pod() {
- auto _src_is_pod = (_manifest.pod_manifest_path.length > 0) ? true : false;
- return _src_is_pod;
+ bool is_pod() {
+ return (_manifest.pod_manifest_path.length > 0) ? true : false;
}
- auto path_and_fn() {
+ string path_and_fn() {
return _fns;
}
- auto pod_name() { /+ work on +/
- auto _pod_name = (is_pod)
- ? _manifest.pod_manifest_path
- : "";
- return _pod_name;
+ string pod_name() {
+ return (is_pod) ? _manifest.pod_manifest_path : "";
}
- auto filename() {
- auto _fn = (path_and_fn).baseName;
- return _fn;
+ string filename() {
+ return path_and_fn.baseName;
}
- auto filename_base() {
- auto _fn = filename.stripExtension;
- return _fn;
+ string filename_base() {
+ return filename.stripExtension;
}
- auto filename_extension() {
- auto _ext = filename.match(rgx.src_pth_sst_or_ssm).captures["extension"];
- return _ext;
+ string filename_extension() {
+ return filename.match(rgx.src_pth_sst_or_ssm).captures["extension"];
}
- auto lng() {
+ string lng() {
string _k;
if (auto m = path_and_fn.match(rgx.language_code_and_filename)) {
_k = m.captures[1];
- } else {
- _k = "en";
- }
+ } else {_k = "en"; }
return _k;
}
- auto docname_composite_unique_per_src_doc() {
+ string docname_composite_unique_per_src_doc() {
/+
z pod name if any + src filename + lng code
filename ~ "." ~ lng
@@ -210,7 +198,7 @@ template PathMatters() {
}
return _fn;
}
- auto docname_composite_unique_per_src_pod() {
+ string docname_composite_unique_per_src_pod() {
/+
z pod name if any + src filename (without lng code)
filename ~ _sep ~ lng
@@ -229,18 +217,16 @@ template PathMatters() {
}
return _fn;
}
- auto language() {
+ string language() {
return lng();
}
- auto file_with_absolute_path() {
- string _pth = _env["pwd"].chainPath(path_and_fn).array;
- return _pth;
+ string file_with_absolute_path() {
+ return _env["pwd"].chainPath(path_and_fn).array;
}
- auto absolute_path_to_src() {
- string _pth = (_env["pwd"].chainPath(path_and_fn)).dirName.array;
- return _pth;
+ string absolute_path_to_src() {
+ return (_env["pwd"].chainPath(path_and_fn)).dirName.array;
}
- auto base_dir() {
+ string base_dir() {
string _dir;
if ( // TODO this should catch generated --source sisupod, untested, needs manifest
auto m = (absolute_path_to_src)
@@ -258,7 +244,7 @@ template PathMatters() {
}
return _dir;
}
- auto base_parent_dir_path() {
+ string base_parent_dir_path() {
string _dir;
if ( // TODO this should catch generated --source sisupod, untested, needs manifest
auto m = (absolute_path_to_src)
@@ -270,7 +256,7 @@ template PathMatters() {
}
return _dir;
}
- auto base_dir_path() { // looks like there is work to do
+ string base_dir_path() {
string _dir;
if (
auto m = (absolute_path_to_src)
@@ -290,11 +276,11 @@ template PathMatters() {
}
return _dir;
}
- auto media_dir_path() { // TODO rework, can base directly on src fn path
+ string media_dir_path() {
string _dir = asNormalizedPath(base_dir_path.chainPath("media")).array;
return _dir;
}
- auto image_dir_path() {
+ string image_dir_path() {
string _paths;
string[] _possible_img_pths = [ "./image", "../image", "../../image" ];
string _img_pth_found = "";
@@ -319,8 +305,7 @@ template PathMatters() {
return _img_pth_found;
}
auto conf_dir_path() {
- auto _dir = asNormalizedPath(base_dir_path.chainPath("conf")).array;
- return _dir;
+ return asNormalizedPath(base_dir_path.chainPath("conf")).array;
}
auto base_parent_dir() {
string _dir;
@@ -337,18 +322,16 @@ template PathMatters() {
}
return _dir;
}
- auto config_dirs() { // TODO
+ string[] config_dirs() {
string[] _config_dirs;
if (is_pod) {
- } else {
- }
+ } else {}
return _config_dirs;
}
- auto image_dirs() { // TODO
+ string[] image_dirs() {
string[] _image_dirs;
if (is_pod) {
- } else {
- }
+ } else {}
return _image_dirs;
}
}
@@ -394,15 +377,15 @@ template ConfigFilePaths() {
E _env,
) {
struct ConfFilePaths {
- auto config_filename_document_toml() {
+ string config_filename_document_toml() {
return "sisu_document_make";
}
- auto config_filename_site_toml() {
+ string config_filename_site_toml() {
return "config_local_site";
}
auto possible_config_path_locations() {
struct _ConfFilePaths {
- auto sisu_document_make() {
+ string[] sisu_document_make() {
/+ FIX clean up conf paths ↓ +/
/+ config local site (file system only, not in pod) +/
/+ return paths +/
@@ -445,7 +428,7 @@ template ConfigFilePaths() {
+/
return _possible_config_path_locations;
}
- auto config_local_site() {
+ string[] config_local_site() {
/+ FIX clean up conf paths ↓ +/
/+ config local site (file system only, not in pod) +/
string _dot_pwd = asNormalizedPath(chainPath(to!string(_env["pwd"]), ".sisu")).array;
@@ -506,7 +489,7 @@ template SiSUpathsSRC() {
auto pwd() {
return _pwd;
}
- auto language() {
+ string language() {
// use command line info as well?
string _k;
if (auto m = _fn_src_and_path.match(rgx.language_code_and_filename)) {
@@ -516,7 +499,7 @@ template SiSUpathsSRC() {
}
return _k;
}
- auto doc_root() {
+ string doc_root() {
return "sisudoc";
}
auto media_root() {
diff --git a/src/sdp/meta/read_config_files.d b/src/sdp/source/read_config_files.d
index 22d285f..9d976a5 100644
--- a/src/sdp/meta/read_config_files.d
+++ b/src/sdp/source/read_config_files.d
@@ -3,11 +3,11 @@
- read config files<BR>
meta_config_files.d
+/
-module sdp.meta.read_config_files;
+module sdp.source.read_config_files;
static template configReadInSiteTOML() {
import
sdp.meta,
- sdp.output.paths_source,
+ sdp.source.paths_source,
std.file,
std.path;
final string configReadInSiteTOML(M,E)(M manifest, E env) {
@@ -44,7 +44,7 @@ static template configReadInSiteTOML() {
static template configReadInDocTOML() {
import
sdp.meta,
- sdp.output.paths_source,
+ sdp.source.paths_source,
std.file,
std.path;
final string configReadInDocTOML(M,E)(M manifest, E env) {
@@ -82,7 +82,7 @@ static template configTOML() {
import toml; //
import
sdp.meta,
- sdp.output.paths_source,
+ sdp.source.paths_source,
std.file,
std.path;
auto configTOML(string configuration, string conf_toml_filename) {
@@ -100,7 +100,7 @@ static template configTOML() {
static template readConfigSite() {
import
sdp.meta,
- sdp.output.paths_source,
+ sdp.source.paths_source,
std.file,
std.path;
final auto readConfigSite(M,E)(M _manifest, E _env) {
@@ -148,7 +148,7 @@ static template readConfigSite() {
static template readConfigDoc() {
import
sdp.meta,
- sdp.output.paths_source,
+ sdp.source.paths_source,
std.file,
std.path;
final auto readConfigDoc(M,E)(M _manifest, E _env) {
@@ -197,7 +197,7 @@ static template readConfigDoc() {
static template configReadSiteTOML() {
import
sdp.meta,
- sdp.output.paths_source,
+ sdp.source.paths_source,
std.file,
std.path;
import toml;
@@ -212,7 +212,7 @@ static template configReadSiteTOML() {
static template configReadDocTOML() {
import
sdp.meta,
- sdp.output.paths_source,
+ sdp.source.paths_source,
std.file,
std.path;
import toml;
diff --git a/src/sdp/meta/read_source_files.d b/src/sdp/source/read_source_files.d
index 135d8e8..28a660a 100644
--- a/src/sdp/meta/read_source_files.d
+++ b/src/sdp/source/read_source_files.d
@@ -1,15 +1,15 @@
/++
- module meta_read_source_files;<BR>
+ module source_read_source_files;<BR>
- open markup files<BR>
- if master file scan for addional files to import/insert
+/
-module sdp.meta.read_source_files;
+module sdp.source.read_source_files;
static template SiSUrawMarkupContent() {
import
sdp.meta.rgx;
import
sdp.meta,
- sdp.output.paths_source,
+ sdp.source.paths_source,
std.file,
std.path;
mixin SiSUrgxInit;
diff --git a/views/version.txt b/views/version.txt
index 45dcb3b..805de17 100644
--- a/views/version.txt
+++ b/views/version.txt
@@ -4,7 +4,7 @@ struct Version {
int minor;
int patch;
}
-enum ver = Version(0, 26, 3);
+enum ver = Version(0, 26, 4);
version (Posix) {
version (DigitalMars) {
} else version (LDC) {