diff options
Diffstat (limited to 'org')
-rw-r--r-- | org/config_env.org | 17 | ||||
-rw-r--r-- | org/config_git.org | 3 | ||||
-rw-r--r-- | org/config_nix.org | 44 | ||||
-rw-r--r-- | org/default_imports.org | 60 | ||||
-rw-r--r-- | org/default_misc.org | 35 | ||||
-rw-r--r-- | org/default_paths.org | 30 | ||||
-rw-r--r-- | org/default_shared_snippets.org | 18 | ||||
-rw-r--r-- | org/in_source_files.org | 83 | ||||
-rw-r--r-- | org/meta_conf_make_meta.org | 157 | ||||
-rw-r--r-- | org/meta_debugs.org | 34 | ||||
-rw-r--r-- | org/nix-develop-dlang-shared.org | 129 | ||||
-rw-r--r-- | org/nixpkgs_overlays_d_related.org | 92 | ||||
-rw-r--r-- | org/ocda.org | 42 | ||||
-rw-r--r-- | org/out_curate_metadata.org | 64 | ||||
-rw-r--r-- | org/out_latex.org | 26 | ||||
-rw-r--r-- | org/out_metadata.org | 9 | ||||
-rw-r--r-- | org/out_odt.org | 25 | ||||
-rw-r--r-- | org/out_sqlite.org | 14 | ||||
-rw-r--r-- | org/out_src_pod.org | 60 | ||||
-rw-r--r-- | org/out_xmls.org | 48 | ||||
-rw-r--r-- | org/out_zip.org | 9 | ||||
-rw-r--r-- | org/output_show.org | 28 | ||||
-rw-r--r-- | org/spine.org | 76 | ||||
-rw-r--r-- | org/spine_info.org | 32 |
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 |