diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/sisudoc/ocda/io_in/paths_source.d | 2 | ||||
| -rw-r--r-- | src/sisudoc/ocda/io_in/read_config_files.d | 2 | ||||
| -rw-r--r-- | src/sisudoc/outputs/io_out/html_snippet.d | 7 | ||||
| -rw-r--r-- | src/sisudoc/outputs/io_out/metadata.d | 6 | ||||
| -rw-r--r-- | src/sisudoc/outputs/io_out/source_pod.d | 12 |
5 files changed, 24 insertions, 5 deletions
diff --git a/src/sisudoc/ocda/io_in/paths_source.d b/src/sisudoc/ocda/io_in/paths_source.d index 125d6f1..c2ac0ab 100644 --- a/src/sisudoc/ocda/io_in/paths_source.d +++ b/src/sisudoc/ocda/io_in/paths_source.d @@ -506,7 +506,7 @@ template configFilePaths() { } auto possible_config_path_locations() { struct _ConfFilePaths { - string[] dr_document_make() { + string[] document_make() { /+ FIX clean up conf paths ↓ +/ /+ config local site (file system only, not in pod) +/ /+ return paths +/ diff --git a/src/sisudoc/ocda/io_in/read_config_files.d b/src/sisudoc/ocda/io_in/read_config_files.d index 849705a..00c054c 100644 --- a/src/sisudoc/ocda/io_in/read_config_files.d +++ b/src/sisudoc/ocda/io_in/read_config_files.d @@ -202,7 +202,7 @@ static template readConfigDoc() { string config_file_str; string conf_filename = "NONE"; auto _conf_file_details = configFilePaths!()(_manifested, _env); - string[] possible_config_path_locations = _conf_file_details.possible_config_path_locations.dr_document_make; + string[] possible_config_path_locations = _conf_file_details.possible_config_path_locations.document_make; foreach(conf_fn; [_conf_file_details.config_filename_document]) { foreach(pth; possible_config_path_locations) { char[] conf_file = ((chainPath(pth.to!string, conf_fn)).asNormalizedPath).array; diff --git a/src/sisudoc/outputs/io_out/html_snippet.d b/src/sisudoc/outputs/io_out/html_snippet.d index f960cea..462e78a 100644 --- a/src/sisudoc/outputs/io_out/html_snippet.d +++ b/src/sisudoc/outputs/io_out/html_snippet.d @@ -49,6 +49,13 @@ +/ module sisudoc.outputs.io_out.html_snippet; @safe: +/+ ↓ these are at template scope, so they are visible in every scope this + template is mixed into: twelve of them, across the output writers. + Removing them leaves one consumer that was relying on the leak rather than + on its own imports, and that one now imports what it uses. They stay here + because the template's own functions need them, and narrowing them to those + functions is a change of its own rather than a cleanup. FIX later. ++/ template htmlSnippet() { import std.file; import std.outbuffer; diff --git a/src/sisudoc/outputs/io_out/metadata.d b/src/sisudoc/outputs/io_out/metadata.d index c54c9af..e90ea8f 100644 --- a/src/sisudoc/outputs/io_out/metadata.d +++ b/src/sisudoc/outputs/io_out/metadata.d @@ -51,6 +51,12 @@ module sisudoc.outputs.io_out.metadata; // @safe: template outputMetadata() { void outputMetadata(T)(T doc_matters) { + /+ ↓ this module used to get `to` from htmlSnippet, which it mixes in below + and which imports it at template scope (a module should not depend on + what a mixin happens to bring with it: the name could go with a change + to that template, and until then it is invisible here). + +/ + import std.conv : to; string inline_search_form(M)( M doc_matters, ) { diff --git a/src/sisudoc/outputs/io_out/source_pod.d b/src/sisudoc/outputs/io_out/source_pod.d index f6d7765..09ddc74 100644 --- a/src/sisudoc/outputs/io_out/source_pod.d +++ b/src/sisudoc/outputs/io_out/source_pod.d @@ -521,12 +521,18 @@ template spinePod() { auto fn_src_in = insert_file; /+ ↓ keyed on the document's own language, not on hard-coded "en". The emit loop looks each key up in the manifest's language list. - FIX likely bug: insert_file still includes its path, and the - line wants the filename as the pod carries it. + . + Named as the pod carries it, by filename: insert_file is a path + here, where every other line in digests.txt is a filename, and a + digest line naming a file that is not in the pod under that name + cannot be checked against it. The import is local, not added to + this template's imports, which are visible in every scope it is + mixed into. +/ if (exists(fn_src_in)) { // take DIGEST write to pod file digests.txt + import std.path : baseName; ST_file_stat file_ = getFileStat(fn_src_in); - _digests[doc_matters.src.language]["ssi"] ~= file_.sha256hash.toHexString ~ "::" ~ file_.fileSize.to!string ~ " - " ~ insert_file ~ "\n"; + _digests[doc_matters.src.language]["ssi"] ~= file_.sha256hash.toHexString ~ "::" ~ file_.fileSize.to!string ~ " - " ~ insert_file.baseName ~ "\n"; } auto fn_src_out_pod_zip_base = pths_pod.fn_doc_insert( |
