aboutsummaryrefslogtreecommitdiffhomepage
path: root/org
diff options
context:
space:
mode:
Diffstat (limited to 'org')
-rw-r--r--org/config_env.org17
-rw-r--r--org/config_git.org3
-rw-r--r--org/config_nix.org44
-rw-r--r--org/default_imports.org60
-rw-r--r--org/default_misc.org35
-rw-r--r--org/default_paths.org30
-rw-r--r--org/default_shared_snippets.org18
-rw-r--r--org/in_source_files.org83
-rw-r--r--org/meta_conf_make_meta.org157
-rw-r--r--org/meta_debugs.org34
-rw-r--r--org/nix-develop-dlang-shared.org129
-rw-r--r--org/nixpkgs_overlays_d_related.org92
-rw-r--r--org/ocda.org42
-rw-r--r--org/out_curate_metadata.org64
-rw-r--r--org/out_latex.org26
-rw-r--r--org/out_metadata.org9
-rw-r--r--org/out_odt.org25
-rw-r--r--org/out_sqlite.org14
-rw-r--r--org/out_src_pod.org60
-rw-r--r--org/out_xmls.org48
-rw-r--r--org/out_zip.org9
-rw-r--r--org/output_show.org28
-rw-r--r--org/spine.org76
-rw-r--r--org/spine_info.org32
24 files changed, 590 insertions, 545 deletions
diff --git a/org/config_env.org b/org/config_env.org
index db6af9d..ec6a1d5 100644
--- a/org/config_env.org
+++ b/org/config_env.org
@@ -80,11 +80,11 @@ echo '
• nix develop
❯❯ nix develop ".#" --print-build-logs -c zsh
• nix develop using nixpkgs
- ❯❯ nix develop ".#dsh-nixpkgs-dmd-dub" --print-build-logs -c zsh
- ❯❯ nix develop ".#dsh-nixpkgs-ldc-dub" --print-build-logs -c zsh
+ ❯❯ nix develop ".#dsh-nixpkgs-dmd" --print-build-logs -c zsh
+ ❯❯ nix develop ".#dsh-nixpkgs-ldc" --print-build-logs -c zsh
• nix develop using package overlays: (dmd-<<dmd_version>>, ldc-<<ldc_version>>, dub-<<dub_version>>, dtools-<<dtools_version>>)
- ❯❯ nix develop ".#dsh-overlay-dmd-dub" --print-build-logs -c zsh
- ❯❯ nix develop ".#dsh-overlay-ldc-dub" --print-build-logs -c zsh
+ ❯❯ nix develop ".#dsh-overlay-dmd" --print-build-logs -c zsh
+ ❯❯ nix develop ".#dsh-overlay-ldc" --print-build-logs -c zsh
❯❯ nix flake show
• to build project:
@@ -102,10 +102,10 @@ echo '
• to build using dub on nix (get dependencies by setting your development environment):
- ❯❯ nix develop ".#dsh-nixpkgs-dmd-dub" --print-build-logs -c zsh
+ ❯❯ nix develop ".#dsh-nixpkgs-dmd" --print-build-logs -c zsh
❯❯ dub --verbose --compiler=dmd --config=dmd
- ❯❯ nix develop ".#dsh-nixpkgs-ldc-dub" --print-build-logs -c zsh
+ ❯❯ nix develop ".#dsh-nixpkgs-ldc" --print-build-logs -c zsh
❯❯ dub --verbose --compiler=ldmd2 --config=ldmd2
• for develop environment & build options
@@ -119,6 +119,9 @@ echo '
❯❯ ${SpineBIN} -v --source --pod --epub --html --html-link-curate --html-link-markup --curate --output=${SpineOUT} ${SpinePOD}/*
❯❯ ${SpineBIN} -v --source --pod --latex --latex-init --epub --html --html-link-pdf --html-link-curate --html-link-markup --curate --output=${SpineOUT} ${SpinePOD}/*
+
+ ❯❯ ${SpineBIN} -v --sqlite-db-create --sqlite-db-filename=${SpineSQLdb} --sqlite-db-path=./_tmp-db
+ ❯❯ ${SpineBIN} -v --sqlite-update --sqlite-db-filename=${SpineSQLdb} --sqlite-db-path=./_tmp-db ./markup/pod/*
'
echo "•
❯❯ ${SpineBIN} -v --source --pod --epub --html --html-link-curate --html-link-markup --curate --output=${SpineOUT} ${SpinePOD}/*
@@ -175,7 +178,7 @@ export SpineDBpath=/var/www/sqlite
#export SpineDBpath=/srv/www/spine/sqlite
#+END_SRC
-* SHARED versions
+* versions GET
** direnv
#+NAME: direnv_version
diff --git a/org/config_git.org b/org/config_git.org
index b997923..66383ad 100644
--- a/org/config_git.org
+++ b/org/config_git.org
@@ -37,8 +37,6 @@
!.envrc
!.envrc-nix
!.envrc-git-init
-!.env
-!.env/**
!nix-overlays
!nix-overlays/**
!README.md
@@ -50,6 +48,7 @@
!configuration.txt
!*.json
!*.sdl
+!*.md
!meson.build
!tangle
!*.org
diff --git a/org/config_nix.org b/org/config_nix.org
index 3ec97d0..3f101a0 100644
--- a/org/config_nix.org
+++ b/org/config_nix.org
@@ -251,7 +251,7 @@
];
inherit shellHook;
};
- dsh-nixpkgs-dmd-dub = mkShell {
+ dsh-nixpkgs-dmd = mkShell {
name = "spine-<<spine_version>> base dev shell";
inherit shell;
inherit devEnv;
@@ -264,7 +264,7 @@
];
inherit shellHook;
};
- dsh-nixpkgs-ldc-dub = mkShell {
+ dsh-nixpkgs-ldc = mkShell {
name = "spine-<<spine_version>> base dev shell";
inherit shell;
inherit devEnv;
@@ -277,7 +277,7 @@
];
inherit shellHook;
};
- dsh-overlay-dmd-dub = mkShell {
+ dsh-overlay-dmd = mkShell {
name = "spine-<<spine_version>> base dev shell, dmd-<<dmd_version>>, dub-<<dub_version>> - dtools-<<dtools_version>>";
inherit shell;
inherit devEnv;
@@ -290,7 +290,7 @@
];
inherit shellHook;
};
- dsh-overlay-ldc-dub = mkShell {
+ dsh-overlay-ldc = mkShell {
name = "spine-<<spine_version>> base dev shell, ldc-<<ldc_version>>, dub-<<dub_version>> - dtools-<<dtools_version>>";
inherit shell;
inherit devEnv;
@@ -717,7 +717,7 @@ github:nixos/nixpkgs
** .env/echo-nixNote CHECK MODIFY
*** notes on nix commands
-#+HEADER: :tangle ../.env/nix-commands
+#+HEADER: :tangle-NO ../.env/nix-commands
#+BEGIN_SRC text
- nix flake update && nix flake check --show-trace && nix flake show && nix develop .#devShell
@@ -742,7 +742,7 @@ nix-shell '<nixpkgs>' -A nix --pure
*** echo-nixNote
-#+HEADER: :tangle ../.env/echo-nixNote
+#+HEADER: :tangle-NO ../.env/echo-nixNote
#+BEGIN_SRC shell
echo '-*- mode: org -*-
@@ -892,13 +892,13 @@ $SpineBIN/spine --show-config --output="$SpineOUTversioned" $SpinePOD
,#+BEGIN_SRC shell
$SpineBIN/spine --very-verbose --sqlite-db-create --output="$SpineOUT" $SpinePOD/*
-$SpineBIN/spine -v --cgi-search-form-codegen --output=$SpineOUT $SpinePOD/*
+# CGI search form is built separately in sisudoc-spine-search-cgi/
$SpineBIN/spine -v --show-config --config=$SpinePOD/.dr
$SpineBIN/spine --html $SpinePOD/*
-$SpineBIN/spine -v --cgi-search-form-codegen --config=$SpinePOD/.dr/config_local_site
+# See sisudoc-spine-search-cgi/README.md for CGI search form build instructions
,#+END_SRC
,*** generate html linked to search form
@@ -967,7 +967,7 @@ webserv:
,*** make search form
,#+BEGIN_SRC shell
-$SpineBIN/spine -v --cgi-search-form-codegen --config=$SpinePOD/.dr/config_local_site
+# CGI search form is built separately - see sisudoc-spine-search-cgi/README.md
,#+END_SRC
,*** latex
@@ -1032,9 +1032,8 @@ postInstall:
echo `ls -la $${out}/bin/spine`
#+END_SRC
-* SHARED
-** versions
-*** spine project VERSION :version:set:project:
+* versions GET
+** spine project VERSION :version:set:project:
#+NAME: spine_version
#+HEADER: :noweb yes
@@ -1042,8 +1041,8 @@ postInstall:
<<./sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org:spine_project_version()>>
#+END_SRC
-*** dlang overlays
-**** ldc
+** dlang overlays
+*** ldc
#+NAME: ldc_version
#+HEADER: :noweb yes
@@ -1051,7 +1050,7 @@ postInstall:
<<./nix-develop-dlang-shared.org:ldc-version()>>
#+END_SRC
-**** dmd
+*** dmd
#+NAME: dmd_version
#+HEADER: :noweb yes
@@ -1059,7 +1058,7 @@ postInstall:
<<./nix-develop-dlang-shared.org:dmd-version()>>
#+END_SRC
-**** dub
+*** dub
#+NAME: dub_version
#+HEADER: :noweb yes
@@ -1067,7 +1066,7 @@ postInstall:
<<./nix-develop-dlang-shared.org:dub-version()>>
#+END_SRC
-**** dtools
+*** dtools
#+NAME: dtools_version
#+HEADER: :noweb yes
@@ -1075,15 +1074,14 @@ postInstall:
<<./nix-develop-dlang-shared.org:dtools-version()>>
#+END_SRC
-*** empty sha56 hash
+** sha256 blank hash
-#+NAME: blank_hash
+#+NAME: sha256-blank
#+BEGIN_SRC nix
-sha256-0000000000000000000000000000000000000000000=
+<<./nix-develop-dlang-shared.org:sha256-blank()>>
#+END_SRC
-#+NAME: assumed_hash
+#+NAME: blank_hash
#+BEGIN_SRC nix
-sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
+<<./nix-develop-dlang-shared.org:sha256-blank()>>
#+END_SRC
-
diff --git a/org/default_imports.org b/org/default_imports.org
index d708124..fb310c9 100644
--- a/org/default_imports.org
+++ b/org/default_imports.org
@@ -32,20 +32,18 @@ module sisudoc.meta;
#+NAME: imports_for_meta_general
#+BEGIN_SRC d
-public import
- sisudoc.meta.defaults;
+public import sisudoc.meta.defaults;
/+ std +/
-public import
- std.array,
- std.exception,
- std.range,
- std.regex,
- std.stdio,
- std.string,
- std.typecons,
- // std.uni,
- std.utf,
- std.conv : to;
+public import std.array;
+public import std.exception;
+public import std.range;
+public import std.regex;
+public import std.stdio;
+public import std.string;
+public import std.typecons;
+// public import std.uni;
+public import std.utf;
+public import std.conv : to;
#+END_SRC
* imports for _output_ :output:
@@ -63,25 +61,23 @@ module sisudoc.io_out;
#+NAME: imports_for_output_general
#+BEGIN_SRC d
-public import
- std.algorithm,
- std.array,
- std.container,
- std.exception,
- std.path,
- std.process,
- std.range,
- std.regex,
- std.stdio,
- std.string,
- std.typecons,
- // std.uni,
- std.utf;
-public import
- sisudoc.share.defaults,
- sisudoc.io_in.paths_source,
- sisudoc.io_out.defaults,
- sisudoc.io_out.paths_output;
+public import std.algorithm;
+public import std.array;
+public import std.container;
+public import std.exception;
+public import std.path;
+public import std.process;
+public import std.range;
+public import std.regex;
+public import std.stdio;
+public import std.string;
+public import std.typecons;
+// public import std.uni;
+public import std.utf;
+public import sisudoc.share.defaults;
+public import sisudoc.io_in.paths_source;
+public import sisudoc.io_out.defaults;
+public import sisudoc.io_out.paths_output;
#+END_SRC
* document header including copyright & license
diff --git a/org/default_misc.org b/org/default_misc.org
index baa7a81..1f58d45 100644
--- a/org/default_misc.org
+++ b/org/default_misc.org
@@ -190,24 +190,23 @@ module sisudoc.io_out.defaults;
#+NAME: defaults_imports
#+BEGIN_SRC d
-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.typecons,
- std.uni,
- std.utf,
- std.conv : to;
+import std.algorithm;
+import std.array;
+import std.container;
+import std.exception;
+import std.file;
+import std.getopt;
+import std.json;
+import std.path;
+import std.process;
+import std.range;
+import std.regex;
+import std.stdio;
+import std.string;
+import std.typecons;
+import std.uni;
+import std.utf;
+import std.conv : to;
#+END_SRC
** defaults shared by meta & output (generic)
diff --git a/org/default_paths.org b/org/default_paths.org
index 3cdb909..6ca6ea5 100644
--- a/org/default_paths.org
+++ b/org/default_paths.org
@@ -31,16 +31,14 @@
+/
module sisudoc.io_in.paths_source;
@safe:
-import
- std.array,
- std.file,
- std.path,
- std.regex,
- std.stdio,
- std.conv : to;
-import
- sisudoc.meta.defaults,
- sisudoc.meta.rgx_files;
+import std.array;
+import std.file;
+import std.path;
+import std.regex;
+import std.stdio;
+import std.conv : to;
+import sisudoc.meta.defaults;
+import sisudoc.meta.rgx_files;
<<template_paths_src_0>>
<<template_paths_src_1>>
<<template_paths_src_2>>
@@ -974,13 +972,11 @@ template spinePathsPods() {
+/
module sisudoc.io_out.paths_output;
@safe:
-import
- std.array,
- std.path,
- std.regex,
- std.stdio;
-import
- sisudoc.meta.rgx_files;
+import std.array;
+import std.path;
+import std.regex;
+import std.stdio;
+import sisudoc.meta.rgx_files;
<<template_paths_out_0>>
<<template_paths_out_1>>
<<template_paths_url>>
diff --git a/org/default_shared_snippets.org b/org/default_shared_snippets.org
index 3cdcb7d..c6d037f 100644
--- a/org/default_shared_snippets.org
+++ b/org/default_shared_snippets.org
@@ -27,16 +27,14 @@
module sisudoc.io_out.html_snippet;
@safe:
template htmlSnippet() {
- import
- std.file,
- std.outbuffer,
- std.format,
- std.uri,
- std.conv : to;
- import
- sisudoc.io_out.rgx,
- sisudoc.meta.rgx_files,
- sisudoc.io_out.rgx_xhtml;
+ import std.file;
+ import std.outbuffer;
+ import std.format;
+ import std.uri;
+ import std.conv : to;
+ import sisudoc.io_out.rgx;
+ import sisudoc.meta.rgx_files;
+ import sisudoc.io_out.rgx_xhtml;
auto format_html_blank_page_guide_home()(
string css_style,
string home_url,
diff --git a/org/in_source_files.org b/org/in_source_files.org
index cdd220f..5501af5 100644
--- a/org/in_source_files.org
+++ b/org/in_source_files.org
@@ -31,14 +31,12 @@
+/
module sisudoc.io_in.read_config_files;
@safe:
-import
- std.file,
- std.path;
-import
- sisudoc.meta,
- sisudoc.io_in.paths_source,
- sisudoc.meta.rgx_files,
- sisudoc.meta.rgx;
+import std.file;
+import std.path;
+import sisudoc.meta;
+import sisudoc.io_in.paths_source;
+import sisudoc.meta.rgx_files;
+import sisudoc.meta.rgx;
<<meta_config_file_hub_read_site_config>>
<<meta_config_file_hub_read_document_config>>
<<meta_config_file_hub_read_site_yaml>>
@@ -186,14 +184,12 @@ webserv:
#+HEADER: :noweb yes
#+BEGIN_SRC d
static template readConfigDoc() {
- import
- std.file,
- std.path;
- import
- sisudoc.meta,
- sisudoc.io_in.paths_source,
- sisudoc.meta.rgx_files,
- sisudoc.meta.rgx;
+ import std.file;
+ import std.path;
+ import sisudoc.meta;
+ import sisudoc.io_in.paths_source;
+ import sisudoc.meta.rgx_files;
+ import sisudoc.meta.rgx;
@system final auto readConfigDoc(M,E)(M _manifested, E _env) {
mixin spineRgxIn;
static auto rgx = RgxI();
@@ -249,14 +245,12 @@ static template readConfigDoc() {
#+HEADER: :noweb yes
#+BEGIN_SRC d
static template configReadSiteYAML() {
- import
- std.file,
- std.path;
- import
- sisudoc.meta,
- sisudoc.io_in.paths_source,
- sisudoc.meta.rgx_files,
- sisudoc.meta.rgx;
+ import std.file;
+ import std.path;
+ import sisudoc.meta;
+ import sisudoc.io_in.paths_source;
+ import sisudoc.meta.rgx_files;
+ import sisudoc.meta.rgx;
final YAMLDocument configReadSiteYAML(M,E)(M _manifested, E _env) {
string _configuration = configReadInSiteYAML!()(_manifested, _env);
auto _conf_file_details = configFilePaths!()(_manifested, _env);
@@ -266,12 +260,10 @@ static template configReadSiteYAML() {
}
}
static template configReadDocYAML() {
- import
- std.file,
- std.path;
- import
- sisudoc.meta,
- sisudoc.io_in.paths_source;
+ import std.file;
+ import std.path;
+ import sisudoc.meta;
+ import sisudoc.io_in.paths_source;
final YAMLDocument configReadDocYAML(M,E)(M _manifested, E _env) {
string _configuration = configReadInDocYAML!()(_manifested, _env);
auto _conf_file_details = configFilePaths!()(_manifested, _env);
@@ -297,15 +289,13 @@ static template configReadDocYAML() {
module sisudoc.io_in.read_source_files;
@safe:
template spineRawMarkupContent() {
- import
- std.digest.sha,
- std.file,
- std.path;
- import
- sisudoc.meta,
- sisudoc.io_in.paths_source,
- sisudoc.meta.rgx_files,
- sisudoc.meta.rgx;
+ import std.digest.sha;
+ import std.file;
+ import std.path;
+ import sisudoc.meta;
+ import sisudoc.io_in.paths_source;
+ import sisudoc.meta.rgx_files;
+ import sisudoc.meta.rgx;
mixin spineRgxIn;
static auto rgx = RgxI();
mixin spineRgxFiles;
@@ -374,7 +364,7 @@ template spineRawMarkupContent() {
sourcefile_body_content = _cii.contents;
insert_file_list_get = _cii.insert_files.dup;
images_list_get = _cii.images.dup;
- } else if (_opt_action.source || _opt_action.pod) {
+ } else if (_opt_action.source_or_pod) {
auto ins = Inserts();
ST_contents_inserts_images _cii
= ins.scan_master_src_for_insert_files_and_import_content(_opt_action, sourcefile_body_content, fn_src);
@@ -399,9 +389,8 @@ template spineRawMarkupContent() {
}
}
struct MarkupRawUnit {
- import
- std.digest.sha,
- std.file;
+ import std.digest.sha;
+ import std.file;
<<meta_markup_source_raw_read_file_source_string>>
<<meta_markup_source_raw_doc_header_and_content_split>>
<<meta_markup_source_raw_source_line_array>>
@@ -630,7 +619,7 @@ if (code_block_status == codeBlock.curly) {
markup_sourcesubfile_insert_content.length
);
}
- if (_opt_action.source || _opt_action.pod) {
+ if (_opt_action.source_or_pod) {
_images ~= _extract_images(markup_sourcesubfile_insert_content);
}
auto ins = Inserts();
@@ -646,7 +635,7 @@ if (code_block_status == codeBlock.curly) {
+/
} else {
contents_insert ~= line; // images to extract for image list?
- if (_opt_action.source || _opt_action.pod) {
+ if (_opt_action.source_or_pod) {
string[] _image_linelist = _extract_images(line);
if (_image_linelist.length > 0) {
_images ~= _image_linelist;
@@ -735,7 +724,7 @@ if (code_block_status == codeBlock.curly) {
fn_src_insert.to!string
);
contents ~= contents_insert_st.insert_contents;
- if (_opt_action.source || _opt_action.pod) {
+ if (_opt_action.source_or_pod) {
string[] _image_linelist = _extract_images(contents_insert_st.images);
if (_image_linelist.length > 0) {
_images ~= _image_linelist;
@@ -753,7 +742,7 @@ if (code_block_status == codeBlock.curly) {
+/
} else {
contents ~= line;
- if (_opt_action.source || _opt_action.pod) {
+ if (_opt_action.source_or_pod) {
string[] _image_linelist = _extract_images(line);
if (_image_linelist.length > 0) {
_images ~= _image_linelist;
diff --git a/org/meta_conf_make_meta.org b/org/meta_conf_make_meta.org
index 00bc3d3..7809370 100644
--- a/org/meta_conf_make_meta.org
+++ b/org/meta_conf_make_meta.org
@@ -197,24 +197,23 @@ webserv:
#+NAME: meta_defaults_imports
#+BEGIN_SRC d
-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.typecons,
- std.uni,
- std.utf,
- std.conv : to;
+import std.algorithm;
+import std.array;
+import std.container;
+import std.exception;
+import std.file;
+import std.getopt;
+import std.json;
+import std.path;
+import std.process;
+import std.range;
+import std.regex;
+import std.stdio;
+import std.string;
+import std.typecons;
+import std.uni;
+import std.utf;
+import std.conv : to;
import sisudoc.meta.conf_make_meta_structs;
#+END_SRC
@@ -239,20 +238,18 @@ module sisudoc.meta.conf_make_meta_structs;
#+NAME: meta_defaults_template_structs_init
#+BEGIN_SRC d
-import
- std.exception,
- std.json,
- std.path,
- std.regex,
- std.stdio,
- std.string,
- std.typecons,
- std.utf,
- std.conv : to;
-import
- sisudoc.meta.defaults,
- sisudoc.meta.rgx_yaml,
- sisudoc.meta.rgx;
+import std.exception;
+import std.json;
+import std.path;
+import std.regex;
+import std.stdio;
+import std.string;
+import std.typecons;
+import std.utf;
+import std.conv : to;
+import sisudoc.meta.defaults;
+import sisudoc.meta.rgx_yaml;
+import sisudoc.meta.rgx;
mixin spineRgxIn;
static auto rgx = RgxI();
mixin spineRgxYamlTags;
@@ -621,22 +618,20 @@ string check_input_markup()(
module sisudoc.meta.conf_make_meta_yaml;
@safe:
template contentYAMLtoSpineStruct() {
- import
- std.algorithm,
- std.array,
- std.exception,
- std.path,
- std.regex,
- std.stdio,
- std.string,
- std.typecons,
- std.utf,
- std.conv : to;
- import
- sisudoc.meta.conf_make_meta_structs,
- sisudoc.meta.defaults,
- sisudoc.meta.rgx_yaml,
- sisudoc.meta.rgx;
+ import std.algorithm;
+ import std.array;
+ import std.exception;
+ import std.path;
+ import std.regex;
+ import std.stdio;
+ import std.string;
+ import std.typecons;
+ import std.utf;
+ import std.conv : to;
+ import sisudoc.meta.conf_make_meta_structs;
+ import sisudoc.meta.defaults;
+ import sisudoc.meta.rgx_yaml;
+ import sisudoc.meta.rgx;
ConfComposite _struct_composite;
@system ConfComposite contentYAMLtoSpineStruct(C,Y,M,O,Cfg)(
C _struct_composite,
@@ -1448,21 +1443,19 @@ if ("rights" in _yaml
module sisudoc.meta.conf_make_meta_json;
@safe:
static template contentJSONtoSpineStruct() {
- import
- std.algorithm,
- std.array,
- std.exception,
- std.regex,
- std.stdio,
- std.string,
- std.typecons,
- std.utf,
- std.conv : to;
- import
- sisudoc.meta.conf_make_meta_structs,
- sisudoc.meta.conf_make_meta_json,
- sisudoc.meta.defaults,
- sisudoc.meta.rgx;
+ import std.algorithm;
+ import std.array;
+ import std.exception;
+ import std.regex;
+ import std.stdio;
+ import std.string;
+ import std.typecons;
+ import std.utf;
+ import std.conv : to;
+ import sisudoc.meta.conf_make_meta_structs;
+ import sisudoc.meta.conf_make_meta_json;
+ import sisudoc.meta.defaults;
+ import sisudoc.meta.rgx;
ConfComposite _struct_composite;
auto contentJSONtoSpineStruct(C,J,M)(C _struct_composite, J _json, M _manifested, string _identifier) {
mixin spineRgxIn;
@@ -2116,9 +2109,8 @@ if ("rights" in _json.object) {
#+BEGIN_SRC d
template configParseYAMLreturnSpineStruct() {
import dyaml;
- import
- sisudoc.meta.conf_make_meta_structs,
- sisudoc.meta.conf_make_meta_json;
+ import sisudoc.meta.conf_make_meta_structs;
+ import sisudoc.meta.conf_make_meta_json;
mixin contentYAMLtoSpineStruct;
@system ConfComposite configParseYAMLreturnSpineStruct(T,M,O,Cfg)(
T _document_struct,
@@ -2154,21 +2146,18 @@ template configParseYAMLreturnSpineStruct() {
#+NAME: doc_header_convert_to_struct
#+BEGIN_SRC d
template docHeaderMakeAndMetaTupYamlExtractAndConvertToStruct() {
- import
- std.exception,
- std.regex,
- std.stdio,
- // std.traits,
- std.typecons,
- std.utf,
- std.conv : to;
- import
- dyaml;
- import
- sisudoc.meta.conf_make_meta_structs,
- sisudoc.meta.conf_make_meta_json,
- sisudoc.meta.rgx_yaml,
- sisudoc.meta.rgx;
+ import std.exception;
+ import std.regex;
+ import std.stdio;
+ // import std.traits;
+ import std.typecons;
+ import std.utf;
+ import std.conv : to;
+ import dyaml;
+ import sisudoc.meta.conf_make_meta_structs;
+ import sisudoc.meta.conf_make_meta_json;
+ import sisudoc.meta.rgx_yaml;
+ import sisudoc.meta.rgx;
mixin spineRgxIn;
mixin contentJSONtoSpineStruct;
static auto rgx = RgxI();
@@ -2286,7 +2275,11 @@ header.
** dlang rgx example
#+BEGIN_SRC d
-import std.conv, std.regex, std.range, std.file, std.stdio;
+import std.conv;
+import std.regex;
+import std.range;
+import std.file;
+import std.stdio;
import std.string : format;
void main(string[] argv) {
immutable ratio = 1.5824; // UK pounds to US dollar as of this writing
diff --git a/org/meta_debugs.org b/org/meta_debugs.org
index b5948eb..8580c8b 100644
--- a/org/meta_debugs.org
+++ b/org/meta_debugs.org
@@ -52,24 +52,22 @@ template spineDebugs() {
#+NAME: debug_imports
#+BEGIN_SRC d
-import
- sisudoc.meta.defaults,
- sisudoc.meta.rgx_files;
-import
- std.algorithm,
- std.array,
- std.container,
- std.exception,
- std.json,
- std.stdio,
- std.file,
- std.path,
- std.range,
- std.regex,
- std.string,
- std.typecons,
- std.utf,
- std.conv : to;
+import sisudoc.meta.defaults;
+import sisudoc.meta.rgx_files;
+import std.algorithm;
+import std.array;
+import std.container;
+import std.exception;
+import std.json;
+import std.stdio;
+import std.file;
+import std.path;
+import std.range;
+import std.regex;
+import std.string;
+import std.typecons;
+import std.utf;
+import std.conv : to;
#+END_SRC
** initialize :report:
diff --git a/org/nix-develop-dlang-shared.org b/org/nix-develop-dlang-shared.org
index e40403d..671fa8d 100644
--- a/org/nix-develop-dlang-shared.org
+++ b/org/nix-develop-dlang-shared.org
@@ -17,20 +17,51 @@
* nix
** direnv
+*** NOTES to update direnv in .envrc-nix
+
+- https://github.com/nix-community/nix-direnv
+
+check for latest version:
+
+- https://github.com/nix-community/nix-direnv/releases
+
+update direnv version and sha hash:
+- emacs org/nix-develop-dlang-shared.org
+
+re-tangle file:
+
+- emacs org/config_env.org
+ updates: .envrc-nix
+
+update flake.lock:
+- nix flake update && nix flake check && nix flake show
+
*** version SET
#+NAME: direnv-version
#+BEGIN_SRC org
-<<direnv_version_3_0_6>>
+<<direnv_version_3_0_7>>
#+END_SRC
#+NAME: direnv-hash
#+BEGIN_SRC org
-<<direnv_hash_3_0_6>>
+<<direnv_hash_3_0_7>>
#+END_SRC
*** versions
+**** 3.0.7
+
+#+NAME: direnv_version_3_0_7
+#+BEGIN_SRC org
+3.0.7
+#+END_SRC
+
+#+NAME: direnv_hash_3_0_7
+#+BEGIN_SRC org
+sha256-bn8WANE5a91RusFmRI7kS751ApelG02nMcwRekC/qzc=
+#+END_SRC
+
**** 3.0.6
#+NAME: direnv_version_3_0_6
@@ -81,6 +112,40 @@ sha256-XQzUAvL6pysIJnRJyR7uVpmUSZfc7LSgWQwq/4mBr1U=
* dlang
** ldc
+*** tags link
+
+- https://github.com/ldc-developers/ldc/tags
+
+*** NOTES to update ldc
+
+check for latest version:
+
+update ldc version and sha hash:
+- emacs ./org/nix-develop-dlang-shared.org
+
+re-tangle files:
+- emacs ./org/nixpkgs_overlays_d_related.org
+ updates: nix-overlays/ldc/package.nix
+- emacs ./org/config_nix.org
+ updates: flake.nix
+- emacs ./org/config_env.org
+ updates: .envrc-nix
+
+update flake.lock:
+- nix flake update && nix flake check && nix flake show
+
+build:
+- nix build ".#spine-overlay-ldc" --print-build-logs
+
+adjust nix overlay if required (to get started):
+- git clone --depth 1 https://github.com/NixOS/nixpkgs
+- find ./nixpkgs/pkgs/ -type d -name "ldc"
+ ./nixpkgs/pkgs/by-name/ld/ldc
+- compare with overlay:
+ ./nix-overlays/ldc
+- overlay is tangled from:
+ emacs ./org/nixpkgs_overlays_d_related.org
+
*** version SET
**** version & sha256 nix composite
@@ -94,20 +159,41 @@ sha256 = "<<ldc-hash>>";
#+NAME: ldc-version
#+BEGIN_SRC org
-<<ldc_version_1_40_1>>
+<<ldc_version_1_41_0>>
#+END_SRC
#+NAME: ldc-hash
#+BEGIN_SRC org
-<<ldc_hash_1_40_1>>
+<<ldc_hash_1_41_0>>
#+END_SRC
#+NAME: ldc-llvm-set
#+BEGIN_SRC org
-<<ldc_llvm_set_1_40_1>>
+<<ldc_llvm_set_1_41_0>>
#+END_SRC
*** versions
+**** 1.41 OK ✓
+***** 1.41.0 OK ✓
+
+ - nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.41.0.tar.gz
+ - nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/releases/download/v${version}/ldc-${version}-src.tar.gz
+
+#+NAME: ldc_version_1_41_0
+#+BEGIN_SRC nix
+1.41.0
+#+END_SRC
+
+#+NAME: ldc_hash_1_41_0
+#+BEGIN_SRC nix
+sha256-6LcpY3LSFK4KgEiGrFp/LONu5Vr+/+vI04wEEpF3s+s=
+#+END_SRC
+
+#+NAME: ldc_llvm_set_1_41_0
+#+BEGIN_SRC nix
+llvm_20
+#+END_SRC
+
**** 1.40 OK ✓
***** 1.40.1 OK ✓
@@ -242,6 +328,10 @@ sha256-/bs3bwgkLZF5IqaiKnc5gCF/r6MQBG/F1kWUkK8j2s0=
#+END_SRC
** dmd
+*** tags link
+
+- https://github.com/dlang/dmd/tags
+
*** version SET
#+NAME: dmd-version
@@ -416,20 +506,39 @@ sha256-yRL9ub3u4mREG9PVxBvgQ/LDXD57RadPTZ2h08qyh/s=
#+END_SRC
** dub
+*** tags link
+
+- https://github.com/dlang/dub/releases
+
*** version SET
#+NAME: dub-version
#+HEADER: :noweb yes
#+BEGIN_SRC org
-<<dub_version_1_39_0>>
+<<dub_version_1_40_0>>
#+END_SRC
#+NAME: dub-hash
#+BEGIN_SRC org
-<<dub_hash_1_39_0>>
+<<dub_hash_1_40_0>>
#+END_SRC
*** versions
+**** 1.40 OK ✓
+***** 1.40.0
+
+- nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.40.0.tar.gz
+
+#+NAME: dub_version_1_40_0
+#+BEGIN_SRC nix
+1.40.0
+#+END_SRC
+
+#+NAME: dub_hash_1_40_0
+#+BEGIN_SRC nix
+sha256-OirchEKf66gis70gCSTOYcrHLyHhCsyt/rTEGT83Vcc=
+#+END_SRC
+
**** 1.39 OK ✓
***** 1.39.0
@@ -611,17 +720,17 @@ sha256-Pfj8Kwf5AlcrHhLs5A/0vIFWLZaNR3ro+esbs7oWN9I=
** sha256 blank_hash
#+NAME: blank_hash
-#+BEGIN_SRC nix
+#+BEGIN_SRC org
<<sha256-blank>>
#+END_SRC
#+NAME: sha256-blank
-#+BEGIN_SRC nix
+#+BEGIN_SRC org
sha256-0000000000000000000000000000000000000000000=
#+END_SRC
#+NAME: assumed_hash
-#+BEGIN_SRC nix
+#+BEGIN_SRC org
sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
#+END_SRC
diff --git a/org/nixpkgs_overlays_d_related.org b/org/nixpkgs_overlays_d_related.org
index f79d3e2..3b39d7a 100644
--- a/org/nixpkgs_overlays_d_related.org
+++ b/org/nixpkgs_overlays_d_related.org
@@ -503,10 +503,6 @@ pkgs.callPackage ./shell.nix {}
- version in nixpkgs:
- https://search.nixos.org/packages?channel=unstable&show=ldc&from=0&size=100&sort=relevance&type=packages&query=ldc
-**** notes
-
-- OK ldc 1.32.2 tested
-
*** overlays OK ✓
**** default.nix
@@ -523,6 +519,13 @@ import ./package.nix
lib,
stdenv,
fetchFromGitHub,
+ fetchpatch,
+ callPackage,
+ makeWrapper,
+ removeReferencesTo,
+ runCommand,
+ writeText,
+ targetPackages,
cmake,
ninja,
<<ldc_llvm_set>>,
@@ -531,12 +534,6 @@ import ./package.nix
lit,
gdb,
unzip,
- darwin,
- callPackage,
- makeWrapper,
- runCommand,
- writeText,
- targetPackages,
ldcBootstrap ? callPackage ./bootstrap.nix { },
}:
@@ -585,8 +582,6 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
cmake ldcBootstrap lit lit.python <<ldc_llvm_set>>.dev makeWrapper ninja unzip
- ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
- darwin.apple_sdk.frameworks.Foundation
] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
# https://github.com/NixOS/nixpkgs/pull/36378#issuecomment-385034818
gdb
@@ -656,6 +651,12 @@ stdenv.mkDerivation (finalAttrs: {
--set-default CC ${targetPackages.stdenv.cc}/bin/cc
'';
+ preFixup = ''
+ find $out/bin -type f -exec ${removeReferencesTo}/bin/remove-references-to -t ${ldcBootstrap} '{}' +
+ '';
+
+ disallowedReferences = [ ldcBootstrap ];
+
meta = with lib; {
description = "LLVM-based D compiler";
homepage = "https://github.com/ldc-developers/ldc";
@@ -723,7 +724,7 @@ let
inherit (stdenv) hostPlatform;
OS = if hostPlatform.isDarwin then "osx" else hostPlatform.parsed.kernel.name;
ARCH = if hostPlatform.isDarwin && hostPlatform.isAarch64 then "arm64" else hostPlatform.parsed.cpu.name;
- <<ldc_bootstrap_1-25-0_hashes>>
+ <<ldc_bootstrap_1-41-0_hashes>>
in stdenv.mkDerivation {
pname = "ldc-bootstrap";
inherit version;
@@ -763,17 +764,17 @@ in stdenv.mkDerivation {
#+END_SRC
***** bootstrap.nix version SELECT
-****** bootstrap.nix ldc2-1.25.0
+****** bootstrap.nix ldc2-1.41.0
-#+NAME: ldc_bootstrap_1-25-0_hashes
+#+NAME: ldc_bootstrap_1-41-0_hashes
#+BEGIN_SRC nix
-version = "1.25.0";
+version = "1.41.0";
hashes = {
- # Get these from `nix store prefetch-file https://github.com/ldc-developers/ldc/releases/download/v1.25.0/ldc2-1.25.0-osx-x86_64.tar.xz` etc..
- osx-x86_64 = "sha256-6iKnbS+oalLKmyS8qYD/wS21b7+O+VgsWG2iT4PrWPU=";
- linux-x86_64 = "sha256-sfg47RdlsIpryc3iZvE17OtLweh3Zw6DeuNJYgpuH+o=";
- linux-aarch64 = "sha256-UDZ43x4flSo+SfsPeE8juZO2Wtk2ZzwySk0ADHnvJBI=";
- osx-arm64 = "sha256-O/x0vy0wwQFaDc4uWSeMhx+chJKqbQb6e5QNYf+7DCw=";
+ # Get these from `nix store prefetch-file https://github.com/ldc-developers/ldc/releases/download/v1.41.0/ldc2-1.41.0-osx-x86_64.tar.xz` etc..
+ osx-x86_64 = "sha256-W8/0i2PFakXbqs2wxb3cjqa+htSgx7LHyDGOBH9yEYE=";
+ linux-x86_64 = "sha256-SkOUV/D+WeadAv1rV1Sfw8h60PVa2fueQlB7b44yfI8=";
+ linux-aarch64 = "sha256-HEuVChPVM3ntT1ZDZsJ+xW1iYeIWhogNcMdIaz6Me6g=";
+ osx-arm64 = "sha256-FXJnBC8QsEchBhkxSqcZtPC/iHYB6TscY0qh7LPFRuQ=";
};
#+END_SRC
@@ -791,6 +792,20 @@ hashes = {
};
#+END_SRC
+****** bootstrap.nix ldc2-1.25.0
+
+#+NAME: ldc_bootstrap_1-25-0_hashes
+#+BEGIN_SRC nix
+version = "1.25.0";
+hashes = {
+ # Get these from `nix store prefetch-file https://github.com/ldc-developers/ldc/releases/download/v1.25.0/ldc2-1.25.0-osx-x86_64.tar.xz` etc..
+ osx-x86_64 = "sha256-6iKnbS+oalLKmyS8qYD/wS21b7+O+VgsWG2iT4PrWPU=";
+ linux-x86_64 = "sha256-sfg47RdlsIpryc3iZvE17OtLweh3Zw6DeuNJYgpuH+o=";
+ linux-aarch64 = "sha256-UDZ43x4flSo+SfsPeE8juZO2Wtk2ZzwySk0ADHnvJBI=";
+ osx-arm64 = "sha256-O/x0vy0wwQFaDc4uWSeMhx+chJKqbQb6e5QNYf+7DCw=";
+};
+#+END_SRC
+
** dmd OK ✓
*** info
**** links
@@ -805,12 +820,6 @@ hashes = {
- version in nixpkgs:
- https://search.nixos.org/packages?channel=unstable&show=dmd&from=0&size=100&sort=relevance&type=packages&query=dmd
-**** notes KO ✗
-
-- dmd nixpkg modified and appears to build ok
-
-- ISSUES dmd on nixos FAILS to build (my working projects), appears not to find parts of itself
-
*** overlays
**** default.nix
@@ -1190,19 +1199,6 @@ stdenv.mkDerivation {
- version in nixpkgs:
- https://search.nixos.org/packages?channel=unstable&show=dub&from=0&size=100&sort=relevance&type=packages&query=dub
-**** notes
-
-- OK dub == current OK ✓
-
-- NOTES for dub 1.33.0 >= 1.31.0 KO ✗
- - dub builds test tilix which calls in gtkd
- - ISSUES dub FAILS to build project from local disk that has built without issue
- since dub v1.23.0
- - BROKEN breaks on subproject ends up in nix: Error /homeless-shelter:
- Permission denied
-
-- OK dub == 1.30.0 OK ✓
-
*** overlays
**** default.nix
@@ -1287,6 +1283,7 @@ stdenv.mkDerivation (finalAttrs: {
rm -rf test/pr2642-cache-db # added to build v1.34.0
rm -rf test/pr2644-describe-artifact-path # added to build v1.36.0
rm -rf test/pr2647-build-deep # added to build v1.36.0
+ rm -rf test/issue2698-cimportpaths-broken-with-dmd-ldc # added to build v1.40.0
./test/run-unittest.sh
runHook postCheck
@@ -1309,7 +1306,7 @@ stdenv.mkDerivation (finalAttrs: {
})
#+END_SRC
-*** dcompiler SET
+*** dcompiler
#+NAME: dcompiler
#+BEGIN_SRC nix
@@ -1522,9 +1519,9 @@ Adapted from https://github.com/dlang/tools/commit/6c6a042d1b08e3ec1790bd07a7f69
$(ROOT)/catdoc$(DOTEXE) \
#+END_SRC
-** versions SET
+** versions GET
*** direnv
-***** select version SET OK ✓
+***** select version
#+NAME: direnv_version
#+HEADER: :noweb yes
@@ -1545,7 +1542,7 @@ Adapted from https://github.com/dlang/tools/commit/6c6a042d1b08e3ec1790bd07a7f69
<<./nix-develop-dlang-shared.org:ldc-version-info()>>
#+END_SRC
-***** select version SET OK ✓
+***** selected version
#+NAME: ldc_version
#+HEADER: :noweb yes
@@ -1564,6 +1561,7 @@ Adapted from https://github.com/dlang/tools/commit/6c6a042d1b08e3ec1790bd07a7f69
#+END_SRC
*** dmd
+**** selected version
#+NAME: dmd_version
#+HEADER: :noweb yes
@@ -1582,6 +1580,7 @@ Adapted from https://github.com/dlang/tools/commit/6c6a042d1b08e3ec1790bd07a7f69
#+END_SRC
*** dub
+**** selected version
#+NAME: dub_version
#+HEADER: :noweb yes
@@ -1595,6 +1594,7 @@ Adapted from https://github.com/dlang/tools/commit/6c6a042d1b08e3ec1790bd07a7f69
#+END_SRC
*** dtools
+**** selected version
#+NAME: dtools_version
#+HEADER: :noweb yes
@@ -1610,12 +1610,12 @@ Adapted from https://github.com/dlang/tools/commit/6c6a042d1b08e3ec1790bd07a7f69
** sha256 blank_hash
#+NAME: sha256-blank
-#+BEGIN_SRC nix
+#+BEGIN_SRC emacs-lisp
<<./nix-develop-dlang-shared.org:sha256-blank()>>
#+END_SRC
#+NAME: blank_hash
-#+BEGIN_SRC nix
+#+BEGIN_SRC emacs-lisp
<<./nix-develop-dlang-shared.org:sha256-blank()>>
#+END_SRC
diff --git a/org/ocda.org b/org/ocda.org
index 148edf8..4c27706 100644
--- a/org/ocda.org
+++ b/org/ocda.org
@@ -1,6 +1,7 @@
-*- mode: org -*-
#+TITLE: sisudoc spine (doc_reform) object-centric document abstraction
#+DESCRIPTION: documents - structuring, publishing in multiple formats & search
+#+SUMMARY: process markup document, create document abstraction
#+FILETAGS: :spine:abstraction:
#+AUTHOR: Ralph Amissah
#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]]
@@ -18,7 +19,8 @@
- [[./doc-reform.org][doc-reform.org]] [[./][org/]]
* (Object-Centric) Document Abstraction
-Process markup document, create document abstraction.
+
+- Process markup document, create document abstraction
** _module template_ :module:metadoc_from_src:
@@ -51,25 +53,23 @@ template docAbstraction() {
#+HEADER: :noweb yes
#+BEGIN_SRC d
// ↓ abstraction imports
-import
- std.algorithm,
- std.container,
- std.digest.sha,
- std.file,
- std.json,
- std.path;
-import
- sisudoc.meta,
- sisudoc.meta.defaults,
- sisudoc.meta.rgx,
- sisudoc.meta.metadoc_object_setter,
- sisudoc.meta.rgx;
+import std.algorithm;
+import std.container;
+import std.digest.sha;
+import std.file;
+import std.json;
+import std.path;
+import sisudoc.meta;
+import sisudoc.meta.defaults;
+import sisudoc.meta.rgx;
+import sisudoc.meta.metadoc_object_setter;
+import sisudoc.meta.rgx;
public import sisudoc.meta.metadoc_from_src_functions;
mixin docAbstractionFunctions;
#+END_SRC
** docAbstraction
-*** abstraction summary
+*** _toc_ abstraction summary
#+NAME: docAbstraction
#+HEADER: :noweb yes
@@ -219,7 +219,7 @@ int cnt1 = 1; int cnt2 = 1; int cnt3 = 1;
// abstraction init ↑
#+END_SRC
-*** abstraction init substitutions
+*** debug abstraction init substitutions
#+NAME: docAbstractionInitSubstitutionsDebug
#+HEADER: :noweb yes
@@ -231,8 +231,8 @@ debug (substitutions) {
}
if (conf_make_meta.make.substitute) {
foreach(substitution_pair; conf_make_meta.make.substitute) {
- writeln("regex to match: ", substitution_pair[Substitute.match]);
- writeln("substitution to make: ", substitution_pair[Substitute.markup]);
+ writeln("regex to match: ", substitution_pair[Substitute.match]);
+ writeln("substitution to make: ", substitution_pair[Substitute.markup]);
}
}
if (conf_make_meta.make.bold) {
@@ -250,7 +250,7 @@ debug (substitutions) {
}
#+END_SRC
-*** loop source by line (large block)
+*** _loop_ source by line (large block)
#+NAME: docAbstractionMainLoopSrcByLine
#+HEADER: :noweb yes
@@ -883,7 +883,7 @@ _loopMarkupSrcByLineStruct loopMarkupSrcByLine(
}
#+END_SRC
-*** post loop (consider and segment/break up further in code & org)
+*** _post loop_ (consider and segment/break up further in code & org)
#+NAME: docAbstractionPostMainLoop
#+HEADER: :noweb yes
@@ -1456,7 +1456,7 @@ debug(segnames) {
}
#+END_SRC
-*** return structure
+*** _return structure_
#+NAME: docAbstractionReturnsStruct
#+HEADER: :noweb yes
diff --git a/org/out_curate_metadata.org b/org/out_curate_metadata.org
index f01229a..559f5e0 100644
--- a/org/out_curate_metadata.org
+++ b/org/out_curate_metadata.org
@@ -50,19 +50,17 @@ template spineMetaDocCurate() {
#+NAME: metadoc_curate_imports
#+BEGIN_SRC d
-import
- sisudoc.meta.defaults,
- sisudoc.meta.rgx;
-import
- std.array,
- std.exception,
- std.regex,
- std.stdio,
- std.string,
- std.typecons,
- std.uni,
- std.utf,
- std.conv : to;
+import sisudoc.meta.defaults;
+import sisudoc.meta.rgx;
+import std.array;
+import std.exception;
+import std.regex;
+import std.stdio;
+import std.string;
+import std.typecons;
+import std.uni;
+import std.utf;
+import std.conv : to;
#+END_SRC
*** initialize :report:
@@ -127,17 +125,15 @@ return hvst.curate;
<<doc_header_including_copyright_and_license>>
module sisudoc.meta.metadoc_curate_topics;
@safe:
- import
- std.algorithm,
- std.array,
- std.exception,
- std.regex,
- std.stdio,
- std.string,
- std.conv : to;
- import
- sisudoc.meta.defaults,
- sisudoc.meta.rgx;
+ import std.algorithm;
+ import std.array;
+ import std.exception;
+ import std.regex;
+ import std.stdio;
+ import std.string;
+ import std.conv : to;
+ import sisudoc.meta.defaults;
+ import sisudoc.meta.rgx;
mixin spineCurateMetadata;
mixin InternalMarkup;
template spineMetaDocCuratesTopics() {
@@ -472,17 +468,15 @@ try {
<<doc_header_including_copyright_and_license>>
module sisudoc.meta.metadoc_curate_authors;
@safe:
- import
- std.algorithm,
- std.array,
- std.exception,
- std.regex,
- std.stdio,
- std.string,
- std.conv : to;
- import
- sisudoc.meta.defaults,
- sisudoc.meta.rgx;
+ import std.algorithm;
+ import std.array;
+ import std.exception;
+ import std.regex;
+ import std.stdio;
+ import std.string;
+ import std.conv : to;
+ import sisudoc.meta.defaults;
+ import sisudoc.meta.rgx;
mixin spineCurateMetadata;
mixin InternalMarkup;
template spineMetaDocCuratesAuthors() {
diff --git a/org/out_latex.org b/org/out_latex.org
index 9767286..9312827 100644
--- a/org/out_latex.org
+++ b/org/out_latex.org
@@ -41,9 +41,8 @@ module sisudoc.io_out.latex;
#+HEADER: :noweb yes
#+BEGIN_SRC d
template paperLaTeX() {
- import
- std.format,
- std.conv : to;
+ import std.format;
+ import std.conv : to;
auto paperLaTeX() {
<<Struct_shared_geometry_paper_dimensions>>
return PaperType();
@@ -289,9 +288,8 @@ void outputLaTeX(D,M)(
#+NAME: Initialize_output_style
#+BEGIN_SRC d
-import
- std.format,
- std.conv : to;
+import std.format;
+import std.conv : to;
#+END_SRC
**** write latex styles output :latex:out:
@@ -663,15 +661,13 @@ fonts to try:
#+NAME: ImportsAndMixins_imports
#+BEGIN_SRC d
-import
- std.file,
- std.outbuffer,
- std.uri,
- std.conv : to;
-import
- sisudoc.io_out,
- sisudoc.io_out.rgx,
- sisudoc.io_out.rgx_latex;
+import std.file;
+import std.outbuffer;
+import std.uri;
+import std.conv : to;
+import sisudoc.io_out;
+import sisudoc.io_out.rgx;
+import sisudoc.io_out.rgx_latex;
mixin spineRgxOut;
static auto rgx = RgxO();
mixin spineRgxLSC;
diff --git a/org/out_metadata.org b/org/out_metadata.org
index 92f3eda..7a080fa 100644
--- a/org/out_metadata.org
+++ b/org/out_metadata.org
@@ -47,11 +47,10 @@ template outputMetadata() {
#+NAME: output_imports
#+BEGIN_SRC d
-import
- std.digest.crc,
- std.digest.sha,
- std.file,
- std.format;
+import std.digest.crc;
+import std.digest.sha;
+import std.file;
+import std.format;
import sisudoc.io_out;
mixin InternalMarkup;
char[] metadata_;
diff --git a/org/out_odt.org b/org/out_odt.org
index 75ea565..3acc5ed 100644
--- a/org/out_odt.org
+++ b/org/out_odt.org
@@ -1041,20 +1041,17 @@ void outputODT(D,I)(
#+NAME: output_imports
#+BEGIN_SRC d
-import
- sisudoc.io_out,
- sisudoc.io_out.rgx,
- sisudoc.io_out.rgx_xhtml;
-import
- std.file,
- std.outbuffer,
- std.uri,
- std.zip,
- std.conv : to;
-import
- sisudoc.io_out.create_zip_file,
- sisudoc.io_out.xmls,
- sisudoc.io_out.xmls_css;
+import sisudoc.io_out;
+import sisudoc.io_out.rgx;
+import sisudoc.io_out.rgx_xhtml;
+import std.file;
+import std.outbuffer;
+import std.uri;
+import std.zip;
+import std.conv : to;
+import sisudoc.io_out.create_zip_file;
+import sisudoc.io_out.xmls;
+import sisudoc.io_out.xmls_css;
#+END_SRC
*** make directory tree
diff --git a/org/out_sqlite.org b/org/out_sqlite.org
index 2d10d87..a6802f6 100644
--- a/org/out_sqlite.org
+++ b/org/out_sqlite.org
@@ -560,14 +560,12 @@ db.close;
#+NAME: sqlite_imports
#+BEGIN_SRC d
-import
- sisudoc.io_out,
- sisudoc.io_out.rgx,
- sisudoc.io_out.rgx_xhtml;
-import
- // std.digest.sha,
- std.file,
- std.uri;
+import sisudoc.io_out;
+import sisudoc.io_out.rgx;
+import sisudoc.io_out.rgx_xhtml;
+import std.file;
+import std.uri;
+// import std.digest.sha;
import std.conv : to;
import std.typecons : Nullable;
import d2sqlite3;
diff --git a/org/out_src_pod.org b/org/out_src_pod.org
index e72d332..4da9133 100644
--- a/org/out_src_pod.org
+++ b/org/out_src_pod.org
@@ -31,7 +31,7 @@ template spinePod() {
<<output_imports>>
void spinePod(T)(T doc_matters) {
<<source_pod_init>>
- if (doc_matters.opt.action.pod) {
+ if (doc_matters.opt.action.source_or_pod) {
try {
{
podArchive_directory_tree(doc_matters, pths_pod);
@@ -69,18 +69,15 @@ template spinePod() {
#+NAME: output_imports
#+BEGIN_SRC d
-import
- sisudoc.meta.rgx_files,
- sisudoc.io_out;
-import
- std.digest.sha,
- std.file,
- std.outbuffer,
- std.zip,
- std.conv : to;
-import
- sisudoc.io_out.create_zip_file,
- sisudoc.io_out.xmls;
+import std.digest.sha;
+import std.file;
+import std.outbuffer;
+import std.zip;
+import std.conv : to;
+import sisudoc.meta.rgx_files;
+import sisudoc.io_out;
+import sisudoc.io_out.create_zip_file;
+import sisudoc.io_out.xmls;
#+END_SRC
*** init
@@ -105,8 +102,8 @@ assert (doc_matters.src.filename.match(rgx_files.src_fn));
#+BEGIN_SRC d
auto pod_zipMakeReady(M,P,S)(M doc_matters, P pths_pod, S _st) {
auto pth_dr_doc_src = doc_matters.src_path_info;
- if (doc_matters.opt.action.debug_do_pod && doc_matters.opt.action.vox_gt1) {
- writeln(__LINE__, ": ",
+ if (doc_matters.opt.action.vox_gt2) { // correct
+ writeln(__LINE__, ":", __FILE__, ":\n",
doc_matters.src.filename, " -> ",
pths_pod.fn_doc(doc_matters.src.filename, doc_matters.src.language).filesystem_open_zpod
);
@@ -116,7 +113,7 @@ auto pod_zipMakeReady(M,P,S)(M doc_matters, P pths_pod, S _st) {
string[string][string] _digests;
{ // bundle images - get digest
foreach (image; doc_matters.srcs.image_list) {
- debug(podimages) {
+ if (doc_matters.opt.action.vox_gt2) {
writeln(
pth_dr_doc_src.image_root.to!string, "/", image, " -> ",
pths_pod.image_root(doc_matters.src.filename).zpod, "/", image
@@ -139,7 +136,7 @@ auto pod_zipMakeReady(M,P,S)(M doc_matters, P pths_pod, S _st) {
if (doc_matters.opt.action.source_or_pod) {
fn_src_in.copy(fn_src_out_filesystem);
}
- if (doc_matters.opt.action.pod) {
+ if (doc_matters.opt.action.source_or_pod) {
zip = podArchive("file_path_bin", fn_src_in, fn_src_out_pod_zip_base, zip);
}
} else {
@@ -163,7 +160,7 @@ auto pod_zipMakeReady(M,P,S)(M doc_matters, P pths_pod, S _st) {
if (doc_matters.opt.action.source_or_pod) {
fn_src_in.copy(fn_src_out_filesystem);
}
- if (doc_matters.opt.action.pod) {
+ if (doc_matters.opt.action.source_or_pod) {
zip = podArchive("file_path_text", fn_src_in, fn_src_out_pod_zip_base, zip);
}
} else {
@@ -208,7 +205,7 @@ auto pod_zipMakeReady(M,P,S)(M doc_matters, P pths_pod, S _st) {
if (doc_matters.opt.action.source_or_pod) {
pod_filelist_yaml_string.writeln(_pm);
}
- if (doc_matters.opt.action.pod) {
+ if (doc_matters.opt.action.source_or_pod) {
zip = podArchive("string", _pm, fn_src_out_pod_zip_base, zip);
}
}
@@ -228,11 +225,14 @@ auto pod_zipMakeReady(M,P,S)(M doc_matters, P pths_pod, S _st) {
string fn_src_out_filesystem_lng
= pths_pod.fn_doc(doc_matters.src.filename, _lang).filesystem_open_zpod.to!string;
string _sstm = (doc_matters.pod.manifest_path ~ "/media/text/" ~ _lang ~ "/" ~ doc_matters.src.filename);
- // writeln(_sstm);
- if (exists(_sstm)) { // what of language?
- debug(io) { writeln("(io debug) src in found: ", _sstm); }
+ string _pth_file_sstm;
+ if (exists(_sstm)) { _pth_file_sstm = _sstm;
+ } else if (exists(fn_src_in)) { _pth_file_sstm = fn_src_in;
+ }
+ if (exists(_pth_file_sstm)) { // what of language?
+ debug(io) { writeln("(io debug) src in found: ", _pth_file_sstm); }
{ // take DIGEST write to pod file digests.txt
- auto data = (cast(byte[]) (_sstm).read);
+ auto data = (cast(byte[]) (_pth_file_sstm).read);
_digests[_lang]["sstm"] ~= data.sha256Of.toHexString ~ "::" ~ data.length.to!string ~ " - " ~ doc_matters.src.filename ~ " - [" ~ _lang ~ "]";
// writeln(data.sha256Of.toHexString, "::", data.length, " - ", doc_matters.src.filename);
}
@@ -240,11 +240,11 @@ auto pod_zipMakeReady(M,P,S)(M doc_matters, P pths_pod, S _st) {
filelist_src_zpod_arr ~= fn_src_out_inside_pod;
string _pod_to_markup_file = doc_matters.src.pod_name ~ "/" ~ "media/text/" ~ _lang ~ "/" ~ doc_matters.src.filename;
if (doc_matters.opt.action.source_or_pod) {
- _sstm.copy(fn_src_out_filesystem_lng);
+ _pth_file_sstm.copy(fn_src_out_filesystem_lng);
}
- if (doc_matters.opt.action.pod) {
+ if (doc_matters.opt.action.source_or_pod) {
auto _rgx_sstm = regex(r"(?P<path_to_pod>\S+?)(?P<podname>[a-z_-]+)/(?P<from_root>media/text/)(?P<language>\S+?)/(?P<filename>\S+?\.ss[mt])");
- if (auto _x = _sstm.match(_rgx_sstm)){
+ if (auto _x = _pth_file_sstm.match(_rgx_sstm)){
if (doc_matters.src.lng == doc_matters.pod.manifest_list_of_languages[$-1]) { // again wait until all language versions of .ssm parsed
string _path_to_pod = _x.captures["path_to_pod"];
string _podname = _x.captures["podname"];
@@ -259,12 +259,12 @@ auto pod_zipMakeReady(M,P,S)(M doc_matters, P pths_pod, S _st) {
}
}
} else {
- zip = podArchive("file_path_text", _sstm, fn_src_out_pod_zip_base, zip);
+ zip = podArchive("file_path_text", _pth_file_sstm, fn_src_out_pod_zip_base, zip);
}
}
} else {
if (doc_matters.opt.action.debug_do_pod && doc_matters.opt.action.vox_gt1) {
- writeln("WARNING (io) src in NOT found (markup source): ", _sstm);
+ writeln("WARNING (io) src in NOT found (markup source): \n", _sstm, "or in", fn_src_in);
}
}
}
@@ -308,7 +308,7 @@ auto pod_zipMakeReady(M,P,S)(M doc_matters, P pths_pod, S _st) {
).filesystem_open_zpod.to!string;
_pth_mkup_src_in.copy(fn_src_out_filesystem); // check why here, thought dealt with elsewhere
}
- if (doc_matters.opt.action.pod) {
+ if (doc_matters.opt.action.source_or_pod) {
zip = podArchive("file_path_text", _pth_mkup_src_in, _pth_mkup_src_out, zip);
}
} else {
@@ -342,7 +342,7 @@ auto pod_zipMakeReady(M,P,S)(M doc_matters, P pths_pod, S _st) {
if (doc_matters.opt.action.source_or_pod) {
fn_src_in.copy(fn_src_out_filesystem);
}
- if (doc_matters.opt.action.pod) {
+ if (doc_matters.opt.action.source_or_pod) {
zip = podArchive("file_path_text", fn_src_in, fn_src_out_pod_zip_base, zip);
}
} else {
diff --git a/org/out_xmls.org b/org/out_xmls.org
index 8d0b475..65afb8c 100644
--- a/org/out_xmls.org
+++ b/org/out_xmls.org
@@ -91,38 +91,34 @@ template outputXHTMLs() {
#+NAME: output_imports_xml
#+BEGIN_SRC d
-import
- std.file,
- std.outbuffer,
- std.uri,
- std.conv : to;
-import
- sisudoc.io_out,
- sisudoc.io_out.rgx,
- sisudoc.meta.rgx_files,
- sisudoc.io_out.rgx_xhtml,
- sisudoc.io_out.create_zip_file,
- sisudoc.io_out.xmls,
- sisudoc.io_out.xmls_css;
+import std.file;
+import std.outbuffer;
+import std.uri;
+import std.conv : to;
+import sisudoc.io_out;
+import sisudoc.io_out.rgx;
+import sisudoc.meta.rgx_files;
+import sisudoc.io_out.rgx_xhtml;
+import sisudoc.io_out.create_zip_file;
+import sisudoc.io_out.xmls;
+import sisudoc.io_out.xmls_css;
#+END_SRC
**** epub3
#+NAME: output_imports_epub
#+BEGIN_SRC d
-import
- std.file,
- std.outbuffer,
- std.uri,
- std.zip,
- std.conv : to;
-import
- sisudoc.io_out,
- sisudoc.io_out.rgx,
- sisudoc.io_out.rgx_xhtml,
- sisudoc.io_out.create_zip_file,
- sisudoc.io_out.xmls,
- sisudoc.io_out.xmls_css;
+import std.file;
+import std.outbuffer;
+import std.uri;
+import std.zip;
+import std.conv : to;
+import sisudoc.io_out;
+import sisudoc.io_out.rgx;
+import sisudoc.io_out.rgx_xhtml;
+import sisudoc.io_out.create_zip_file;
+import sisudoc.io_out.xmls;
+import sisudoc.io_out.xmls_css;
#+END_SRC
*** misc
diff --git a/org/out_zip.org b/org/out_zip.org
index 5bd503b..5ffd1ae 100644
--- a/org/out_zip.org
+++ b/org/out_zip.org
@@ -28,11 +28,10 @@
module sisudoc.io_out.create_zip_file;
@safe:
template createZipFile() {
- import
- std.file,
- std.outbuffer,
- std.string,
- std.zip;
+ import std.file;
+ import std.outbuffer;
+ import std.string;
+ import std.zip;
void createZipFile(
string zip_file_name,
void[] compressed_zip_data,
diff --git a/org/output_show.org b/org/output_show.org
index 6f54451..ffea8b3 100644
--- a/org/output_show.org
+++ b/org/output_show.org
@@ -532,27 +532,25 @@ writefln(
#+NAME: metadoc_show_imports_shared
#+BEGIN_SRC d
-import
- std.array,
- std.digest.crc,
- std.digest.sha,
- std.exception,
- std.regex,
- std.stdio,
- std.string,
- std.typecons,
- std.uni,
- std.utf,
- std.conv : to;
+import std.array;
+import std.digest.crc;
+import std.digest.sha;
+import std.exception;
+import std.regex;
+import std.stdio;
+import std.string;
+import std.typecons;
+import std.uni;
+import std.utf;
+import std.conv : to;
#+END_SRC
*** imports
#+NAME: metadoc_show_summary_imports
#+BEGIN_SRC d
-import
- sisudoc.meta.defaults,
- sisudoc.meta.rgx;
+import sisudoc.meta.defaults;
+import sisudoc.meta.rgx;
#+END_SRC
*** initialize :report:
diff --git a/org/spine.org b/org/spine.org
index 05245f7..2b4b14e 100644
--- a/org/spine.org
+++ b/org/spine.org
@@ -125,52 +125,48 @@ string program_name = "spine";
#+NAME: imports_spine
#+BEGIN_SRC d
-import
- std.algorithm,
- std.datetime,
- std.getopt,
- std.file,
- std.path,
- std.process;
-import
- sisudoc.conf.compile_time_info,
- sisudoc.meta,
- sisudoc.meta.metadoc,
- sisudoc.meta.metadoc_curate,
- sisudoc.meta.metadoc_curate_authors,
- sisudoc.meta.metadoc_curate_topics,
- sisudoc.meta.metadoc_from_src,
- sisudoc.meta.conf_make_meta_structs,
- sisudoc.meta.conf_make_meta_json,
- sisudoc.meta.defaults,
- sisudoc.meta.doc_debugs,
- sisudoc.meta.rgx,
- sisudoc.meta.rgx_yaml,
- sisudoc.meta.rgx_files,
- sisudoc.io_in.paths_source,
- sisudoc.io_in.read_config_files,
- sisudoc.io_in.read_source_files,
- sisudoc.io_out.hub;
+import std.algorithm;
+import std.datetime;
+import std.getopt;
+import std.file;
+import std.path;
+import std.process;
+import sisudoc.conf.compile_time_info;
+import sisudoc.meta;
+import sisudoc.meta.metadoc;
+import sisudoc.meta.metadoc_curate;
+import sisudoc.meta.metadoc_curate_authors;
+import sisudoc.meta.metadoc_curate_topics;
+import sisudoc.meta.metadoc_from_src;
+import sisudoc.meta.conf_make_meta_structs;
+import sisudoc.meta.conf_make_meta_json;
+import sisudoc.meta.defaults;
+import sisudoc.meta.doc_debugs;
+import sisudoc.meta.rgx;
+import sisudoc.meta.rgx_yaml;
+import sisudoc.meta.rgx_files;
+import sisudoc.io_in.paths_source;
+import sisudoc.io_in.read_config_files;
+import sisudoc.io_in.read_source_files;
+import sisudoc.io_out.hub;
#+END_SRC
***** spine metadoc :spine:
#+NAME: imports_spine_metadoc
#+BEGIN_SRC d
-import
- std.datetime,
- std.digest.crc,
- std.digest.sha;
-import
- sisudoc.meta,
- sisudoc.meta.metadoc_from_src,
- sisudoc.meta.conf_make_meta_structs,
- sisudoc.meta.conf_make_meta_json,
- sisudoc.meta.defaults,
- sisudoc.io_in.paths_source,
- sisudoc.io_in.read_config_files,
- sisudoc.io_in.read_source_files,
- sisudoc.io_out.hub;
+import std.datetime;
+import std.digest.crc;
+import std.digest.sha;
+import sisudoc.meta;
+import sisudoc.meta.metadoc_from_src;
+import sisudoc.meta.conf_make_meta_structs;
+import sisudoc.meta.conf_make_meta_json;
+import sisudoc.meta.defaults;
+import sisudoc.io_in.paths_source;
+import sisudoc.io_in.read_config_files;
+import sisudoc.io_in.read_source_files;
+import sisudoc.io_out.hub;
#+END_SRC
****** notes
diff --git a/org/spine_info.org b/org/spine_info.org
index a2078fe..2d61c20 100644
--- a/org/spine_info.org
+++ b/org/spine_info.org
@@ -77,7 +77,7 @@
<<sisudoc_spine_README_command_examples_populate_db_text>>
-,*** generate a cgi search form in d
+,*** generate a cgi search form
<<sisudoc_spine_README_command_examples_search_db_cgi_text>>
@@ -85,7 +85,7 @@
<<sisudoc_spine_README_command_examples_compile_search_db_cgi_text>>
-,*** create db & search form
+,*** create db
<<sisudoc_spine_README_command_examples_create_db_and_search_form_text>>
@@ -196,7 +196,7 @@
<<sisudoc_spine_README_command_examples_compile_search_db_cgi_text>>
-### create db & search form
+### create db
<<sisudoc_spine_README_command_examples_create_db_and_search_form_text>>
@@ -624,23 +624,16 @@ for a document collection you can point to the document collection:
#+NAME: sisudoc_spine_README_command_examples_search_db_cgi_text
#+BEGIN_SRC text
-spine -v --cgi-search-form-codegen \
- --output=/var/www/html \
- ~spineMarkupSamples/pod
-
-spine -v --cgi-search-form-codegen --config=~spineMarkupSamples/pod
+The CGI search form is built separately in the sisudoc-spine-search-cgi/ directory.
-spine -v --cgi-search-form-codegen --config=~spineMarkupSamples/pod/.dr/config_local_site
+Steps:
+1. Clone the sisudoc-spine-search-cgi repository
+2. Configure views/configuration.txt with your web server settings
+3. Build the CGI binary using Nix or dub
+4. Deploy the CGI binary to your web server's cgi-bin directory
-spine --cgi-search-form-codegen --output=`echo ~webDocRoot` ~spineMarkupSamples/pod
-
-spine --cgi-search-form-codegen --cgi-sqlite-search-filename="spine_search" --output=`echo ~webDocRoot`
-
-spine -v --cgi-search-form-codegen \
- --sqlite-db-filename="spine.search.db" \
- --cgi-sqlite-search-filename="spine-search" \
- --output=/var/www/html \
- ~spineMarkupSamples/pod
+For detailed instructions, see:
+ sisudoc-spine-search-cgi/README.md
#+END_SRC
#+NAME: sisudoc_spine_README_command_examples_compile_search_db_cgi_text
@@ -676,9 +669,10 @@ cgi-bin directory
#+BEGIN_SRC text
spine -v \
--sqlite-db-create --sqlite-db-filename="spine.search.db" \
- --cgi-search-form-codegen --cgi-sqlite-search-filename="spine-search" \
--output=/var/www/html \
~spineMarkupSamples/pod/*
+
+Note: The CGI search form is built separately in sisudoc-spine-search-cgi/
#+END_SRC
#+NAME: sisudoc_spine_README_command_examples_html_with_links_to_search_form_text