aboutsummaryrefslogtreecommitdiffhomepage
path: root/org/spine_build_scaffold.org
diff options
context:
space:
mode:
authorRalph Amissah <ralph.amissah@gmail.com>2021-08-07 07:49:05 -0400
committerRalph Amissah <ralph.amissah@gmail.com>2021-08-09 15:07:04 -0400
commitc16231db78629d2b3f352ef51b88e0ca6dc1aabe (patch)
treedb27e7a9276acaa6b8be1e57a11176eb2823a1d3 /org/spine_build_scaffold.org
parenttrack org config suggestions that require bespoke adjustment (diff)
nix help files, .envrc_local_ (& nix_notes_.org)
Diffstat (limited to 'org/spine_build_scaffold.org')
-rw-r--r--org/spine_build_scaffold.org359
1 files changed, 241 insertions, 118 deletions
diff --git a/org/spine_build_scaffold.org b/org/spine_build_scaffold.org
index 36563a6..d982526 100644
--- a/org/spine_build_scaffold.org
+++ b/org/spine_build_scaffold.org
@@ -258,7 +258,7 @@ data/sisudir/media/text/un_contracts_international_sale_of_goods_convention_1980
data/sisudir/media/text/viral_spiral.david_bollier.sst
#+END_SRC
-******** sample markup file list
+****** sample markup file list
#+NAME: make_find_markup_samples_0_pod_and_dir
#+BEGIN_SRC makefile
@@ -2128,8 +2128,7 @@ fi
#+BEGIN_SRC sh
export NIX_PATH=<<nix_path_channel>>
#export NIX_PATH=<<nixpkgs_path_local>>
-## reload when these files change
-#use flake
+# reload when these files change
watch_file flake.nix
# watch_file flake.lock
## load the flake devShell
@@ -2139,7 +2138,7 @@ export SpineVER=$(git describe --long --tags | sed 's/^[ a-z_-]\+\([0-9.]\+\)/\1
export SpineSRC=<<project_path_local_src>>
export SpineBIN=<<project_path_local_bin>>
export SpineDOC=<<project_path_local_doc>>
-export SpineOUT=<<project_path_local_out>>
+export SpineOUTversioned=<<project_path_local_out>>
export SpineOUTstatic=<<project_path_local_out_static>>
echo '-*- mode: org -*-
@@ -2147,119 +2146,188 @@ echo '-*- mode: org -*-
,* nixpkgs path?
eval "$(nix print-dev-env)"
-' > nix_note_
+' > nix_note_.org
-echo " <nixpkgs> == `nix-instantiate --find-file nixpkgs`" >> nix_note_
+echo " <nixpkgs> == `nix-instantiate --find-file nixpkgs`" >> nix_note_.org
echo '
,* nix build and show derivation
- nix-shell --pure
+,#+BEGIN_SRC sh
+nix-shell --pure
- nix-build
- nix build -f default.nix
- nix shell -f default.nix
- nix-instantiate | nix-build
- nix build `nix-instantiate`
+nix-build
+nix build -f default.nix
+nix shell -f default.nix
+nix-instantiate | nix-build
+nix build `nix-instantiate`
- nix develop
+nix develop
- nix-instantiate | nix show-derivation | jq
- nix-instantiate | nix show-derivation --recursive | jq
+nix-instantiate | nix show-derivation | jq
+nix-instantiate | nix show-derivation --recursive | jq
- nix search --json 2>/dev/null |jq
+nix search --json 2>/dev/null |jq
+,#+END_SRC
,* version and build info
-' >> nix_note_
-echo " spine version (git) == $SpineVER" >> nix_note_
-echo " nix-instantiate == `nix-instantiate`" >> nix_note_
+,#+BEGIN_SRC sh' >> nix_note_.org
+
+echo 'spine version (git) == $SpineVER' >> nix_note_.org
+echo "spine version (git) == $SpineVER" >> nix_note_.org
+echo 'nix-instantiate == `nix-instantiate`' >> nix_note_.org
+echo "nix-instantiate == `nix-instantiate`" >> nix_note_.org
+
+echo "#+END_SRC
-echo "
,* initialised shell variables
- SpineSRC=$SpineSRC
- SpineDOC=$SpineDOC
- SpineOUT=$SpineOUT
- SpineOUTstatic=$SpineOUTstatic
-" >> nix_note_
+,#+BEGIN_SRC sh
+SpineSRC=$SpineSRC
+SpineDOC=$SpineDOC
+SpineOUTversioned=$SpineOUTversioned
+SpineOUTstatic=$SpineOUTstatic
+,#+END_SRC
+" >> nix_note_.org
echo '* spine run instruction examples
,** parallelized tasks
+,*** doc source
+
+,#+BEGIN_SRC sh
+$SpineBIN/spine --very-verbose --pod --source --output="$SpineOUTversioned" $SpineDOC/markup/pod/*
+,#+END_SRC
+
+,*** html & epub output
+
+,#+BEGIN_SRC sh
+$SpineBIN/spine --very-verbose --html --epub --output="$SpineOUTversioned" $SpineDOC/markup/pod/*
+,#+END_SRC
+
+,*** sqlite db for each document - populate each db
+
+,#+BEGIN_SRC sh
+$SpineBIN/spine --very-verbose --sqlite-discrete --output="$SpineOUTversioned" $SpineDOC/markup/pod/*
+,#+END_SRC
+
+,*** doc source; html, epub; sqlite outputs
+
+,#+BEGIN_SRC sh
+$SpineBIN/spine --verbose --pod --html --epub --sqlite-discrete --output="$SpineOUTversioned" $SpineDOC/markup/pod/*
+,#+END_SRC
- - doc source
- $SpineBIN/spine --very-verbose --pod --source --output="$SpineOUT" $SpineDOC/markup/pod/*
+,*** harvest (authors topics)
- - html & epub output
- $SpineBIN/spine --very-verbose --html --epub --output="$SpineOUT" $SpineDOC/markup/pod/*
+,#+BEGIN_SRC sh
+$SpineBIN/spine --very-verbose --harvest --output="$SpineOUTversioned" $SpineDOC/markup/pod/*
+,#+END_SRC
- - sqlite db for each document - populate each db
- $SpineBIN/spine --very-verbose --sqlite-discrete --output="$SpineOUT" $SpineDOC/markup/pod/*
+,*** html, harvest
- - doc source; html, epub; sqlite outputs
- $SpineBIN/spine --verbose --pod --html --epub --sqlite-discrete --output="$SpineOUT" $SpineDOC/markup/pod/*
+,#+BEGIN_SRC sh
+$SpineBIN/spine --verbose --dark --html --html-link-harvest --harvest --output="$SpineOUTversioned" $SpineDOC/markup/pod/*
+$SpineBIN/spine --very-verbose --html --html-link-harvest --harvest --output="$SpineOUTversioned" $SpineDOC/markup/pod/*
+,#+END_SRC
- - harvest (authors topics)
- $SpineBIN/spine --very-verbose --harvest --output="$SpineOUT" $SpineDOC/markup/pod/*
- - html, harvest
- $SpineBIN/spine --verbose --dark --html --html-link-harvest --harvest --output="$SpineOUT" $SpineDOC/markup/pod/*
- $SpineBIN/spine --very-verbose --html --html-link-harvest --harvest --output="$SpineOUT" $SpineDOC/markup/pod/*
+,*** composite command: source pod, html, epub, harvest, sqlite
- - composite command: source pod, html, epub, harvest, sqlite
- $SpineBIN/spine --verbose --dark --pod --epub --html --html-link-harvest --harvest --sqlite-discrete --output="$SpineOUT" $SpineDOC/markup/pod/*
+,#+BEGIN_SRC sh
+$SpineBIN/spine --verbose --dark --pod --epub --html --html-link-harvest --harvest --sqlite-discrete --output="$SpineOUTversioned" $SpineDOC/markup/pod/*
+,#+END_SRC
,** sequential tasks
- - sqlite db (shared) - create db
- $SpineBIN/spine --very-verbose --sqlite-db-create --output="$SpineOUT"
- - sqlite db (shared) - populate db
- $SpineBIN/spine --very-verbose --sqlite-update --output="$SpineOUT" $SpineDOC/spine-markup-samples/markup/pod/*
- - sqlite db (shared) - drop db
- $SpineBIN/spine --very-verbose --sqlite-db-drop --output="$SpineOUT"
+,*** sqlite db (shared) - create db
- - sqlite db (shared) - create & populate db (single step)
- $SpineBIN/spine --very-verbose --sqlite-db-create --sqlite-update --output="$SpineOUT" $SpineDOC/markup/pod/*
+,#+BEGIN_SRC sh
+$SpineBIN/spine --very-verbose --sqlite-db-create --output="$SpineOUTversioned"
+,#+END_SRC
- - composite command: source pod, html, epub, harvest, sqlite
- $SpineBIN/spine --verbose --no-parallel --dark --pod --epub --html --html-link-harvest --harvest --sqlite-discrete --output="$SpineOUT" $SpineDOC/markup/pod/*
+,*** sqlite db (shared) - populate db
+
+,#+BEGIN_SRC sh
+$SpineBIN/spine --very-verbose --sqlite-update --output="$SpineOUTversioned" $SpineDOC/spine-markup-samples/markup/pod/*
+,#+END_SRC
+
+,*** sqlite db (shared) - drop db
+
+,#+BEGIN_SRC sh
+$SpineBIN/spine --very-verbose --sqlite-db-drop --output="$SpineOUTversioned"
+,#+END_SRC
+
+,*** sqlite db (shared) - create & populate db (single step)
+
+,#+BEGIN_SRC sh
+$SpineBIN/spine --very-verbose --sqlite-db-create --sqlite-update --output="$SpineOUTversioned" $SpineDOC/markup/pod/*
+,#+END_SRC
+
+,*** composite command: source pod, html, epub, harvest, sqlite
+
+,#+BEGIN_SRC sh
+$SpineBIN/spine --verbose --no-parallel --dark --pod --epub --html --html-link-harvest --harvest --sqlite-discrete --output="$SpineOUTversioned" $SpineDOC/markup/pod/*
+,#+END_SRC
,** config [./pod/].dr/config_local_site
- cat $SpineDOC/markup/pod/.dr/config_local_site
- $SpineBIN/spine --show-config $SpineDOC/markup/pod
- $SpineBIN/spine --show-config --output="$SpineOUT" $SpineDOC/markup/pod
+,#+BEGIN_SRC sh
+cat $SpineDOC/markup/pod/.dr/config_local_site
+$SpineBIN/spine --show-config $SpineDOC/markup/pod
+$SpineBIN/spine --show-config --output="$SpineOUTversioned" $SpineDOC/markup/pod
+,#+END_SRC
,** cgi operations (output to $SpineOUTstatic /var/www)
- $SpineBIN/spine --very-verbose --sqlite-db-create --output="$SpineOUTstatic" $SpineDOC/markup/pod/*
+,#+BEGIN_SRC sh
+$SpineBIN/spine --very-verbose --sqlite-db-create --output="$SpineOUTstatic" $SpineDOC/markup/pod/*
+
+$SpineBIN/spine -v --cgi-search-form-codegen --output=$SpineOUTstatic $SpineDOC/markup/pod/*
- $SpineBIN/spine -v --cgi-search-form-codegen --output=$SpineOUTstatic $SpineDOC/markup/pod/*
+$SpineBIN/spine -v --show-config --config=$SpineDOC/markup/pod/.dr
- $SpineBIN/spine -v --show-config --config=$SpineDOC/markup/pod/.dr
+$SpineBIN/spine --html $SpineDOC/markup/pod/*
- $SpineBIN/spine --html $SpineDOC/markup/pod/*
- $SpineBIN/spine -v --sqlite-db-create --sqlite-db-filename="spine.search.db" --output="$SpineOUTstatic" $SpineDOC/markup/pod/*
+$SpineBIN/spine -v --cgi-search-form-codegen --config=$SpineDOC/markup/pod/.dr/config_local_site
+,#+END_SRC
- $SpineBIN/spine -v --sqlite-db-create --sqlite-db-filename="spine.search.db" --cgi-sqlite-search-filename="spine-search" --output=$SpineOUTstatic $SpineDOC/markup/pod/*
- $SpineBIN/spine -v --sqlite-db-recreate --sqlite-db-filename="spine.search.db" --cgi-sqlite-search-filename="spine-search" --output=$SpineOUTstatic $SpineDOC/markup/pod/*
+,*** generate html linked to search form
- $SpineBIN/spine -v --sqlite-update --sqlite-db-filename="spine.search.db" --output=$SpineOUTstatic $SpineDOC/markup/pod/*
+,#+BEGIN_SRC sh
+$SpineBIN/spine -v --html --html-link-search --html-link-harvest --harvest --output=$SpineOUTstatic $SpineDOC/markup/pod/*
+,#+END_SRC
- $SpineBIN/spine -v --cgi-search-form-codegen --config=$SpineDOC/markup/pod/.dr/config_local_site
+,*** create or re-create sql db (--sqlite-db-create or --sqlite-db-recreate)
- - generate html linked to search form
- $SpineBIN/spine -v --html --html-link-search --html-link-harvest --harvest --output=$SpineOUTstatic $SpineDOC/markup/pod/*
+,#+BEGIN_SRC sh
+$SpineBIN/spine -v --sqlite-db-create --sqlite-db-filename="<<spine_search_db>>" --output="$SpineOUTstatic"
+$SpineBIN/spine -v --sqlite-db-recreate --sqlite-db-filename="<<spine_search_db>>" --output="$SpineOUTstatic"
+,#+END_SRC
- - populate sqlite db
- $SpineBIN/spine -v --sqlite-db-recreate --sqlite-db-filename="spine.search.db" --cgi-sqlite-search-filename="spine-search" --sqlite-update --output=$SpineOUTstatic $SpineDOC/markup/pod/*
+,*** populate sqlite db
- - make search form
- $SpineBIN/spine -v --cgi-search-form-codegen --config=$SpineDOC/markup/pod/.dr/config_local_site --output=$SpineOUTstatic
+,#+BEGIN_SRC sh
+$SpineBIN/spine -v --sqlite-update --sqlite-db-filename="<<spine_search_db>>" --output=$SpineOUTstatic $SpineDOC/markup/pod/*
+,#+END_SRC
-' >> nix_note_
-cat nix_note_
-echo "cat nix_note_"
+,*** generate html (linked to search form), sql output, harvest COMPOSITE
+
+,#+BEGIN_SRC sh
+$SpineBIN/spine -v --html --html-link-search --html-link-harvest --harvest --sqlite-update --sqlite-db-filename="<<spine_search_db>>" --cgi-sqlite-search-filename="<<spine_search_cgi>>" --output="$SpineOUTstatic" $SpineDOC/markup/pod/*
+,#+END_SRC
+
+,*** make search form
+
+,#+BEGIN_SRC sh
+$SpineBIN/spine -v --cgi-search-form-codegen --config=$SpineDOC/markup/pod/.dr/config_local_site
+,#+END_SRC
+
+' >> nix_note_.org
+
+cat nix_note_.org
+
+echo "emacs nix_note_.org"
+echo "cat nix_note_.org"
#+END_SRC
***** nixpkgs_path SETUP
@@ -2310,6 +2378,11 @@ nixpkgs=<<nixpkgs_path_local>>
<<project_path_local_src>>/result/bin
#+END_SRC
+#+NAME: project_path_cgi_bin
+#+BEGIN_SRC nix
+/var/www/cgi/cgi-bin
+#+END_SRC
+
#+NAME: project_path_local_doc
#+BEGIN_SRC nix
/grotto-ra/repo/git.repo/projects/project-spine/doc-reform-markup/spine-markup-samples
@@ -3039,92 +3112,130 @@ fi
#+BEGIN_SRC sh
export NIX_PATH=/nix/var/nix/profiles/per-user/root/channels/nixos
#export NIX_PATH=nixpkgs=/nixpkgs-ra/nixpkgs
-## reload when these files change
-#use flake
+# reload when these files change
watch_file flake.nix
# watch_file flake.lock
## load the flake devShell
eval "$(nix print-dev-env)"
# echo $NIX_BUILD_TOP
export SpineVER=$(git describe --long --tags | sed 's/^[ a-z_-]\+\([0-9.]\+\)/\1/;s/\([^-]*-g\)/r\1/;s/-/./g')
-export SpineSRC=/grotto-ra/repo/git.repo/projects/project-spine/doc-reform
-export SpineDOC=/grotto-ra/repo/git.repo/projects/project-spine/doc-reform-markup/spine-markup-samples
-export SpineOUT=/tmp/spine/$SpineVER/www
-export SpineOUTstatic=/var/www
+export SpineSRC=<<project_path_local_src>>
+export SpineBIN=<<project_path_local_bin>>
+export SpineDOC=<<project_path_local_doc>>
+#export SpineOUTversioned=<<project_path_local_out>>
+export SpineOUTstatic=<<project_path_local_out_static>>
+export SpineCgiBIN=<<project_path_cgi_bin>>
echo '-*- mode: org -*-
,* nixpkgs path?
eval "$(nix print-dev-env)"
-' > nix_note_
+' > nix_note_.org
-echo " <nixpkgs> == `nix-instantiate --find-file nixpkgs`" >> nix_note_
+echo " <nixpkgs> == `nix-instantiate --find-file nixpkgs`" >> nix_note_.org
echo '
,* nix build and show derivation
- nix-shell --pure
+,#+BEGIN_SRC sh
+nix-shell --pure
- nix-build
- nix build -f default.nix
- nix shell -f default.nix
- nix-instantiate | nix-build
- nix build `nix-instantiate`
+nix-build
+nix build -f default.nix
+nix shell -f default.nix
+nix-instantiate | nix-build
+nix build `nix-instantiate`
- nix develop
+nix develop
- nix-instantiate | nix show-derivation | jq
- nix-instantiate | nix show-derivation --recursive | jq
+nix-instantiate | nix show-derivation | jq
+nix-instantiate | nix show-derivation --recursive | jq
- nix search --json 2>/dev/null |jq
+nix search --json 2>/dev/null |jq
+,#+END_SRC
,* version and build info
-' >> nix_note_
-echo " spine version (git) == $SpineVER" >> nix_note_
-echo " nix-instantiate == `nix-instantiate`" >> nix_note_
+,#+BEGIN_SRC sh' >> nix_note_.org
+
+echo 'spine version (git) == $SpineVER' >> nix_note_.org
+echo "spine version (git) == $SpineVER" >> nix_note_.org
+echo 'nix-instantiate == `nix-instantiate`' >> nix_note_.org
+echo "nix-instantiate == `nix-instantiate`" >> nix_note_.org
+
+echo "#+END_SRC
-echo "
,* initialised shell variables
- SpineSRC=$SpineSRC
- SpineDOC=$SpineDOC
- SpineOUT=$SpineOUT
- SpineOUTstatic=$SpineOUTstatic
-" >> nix_note_
+,#+BEGIN_SRC sh
+SpineSRC=$SpineSRC
+SpineBIN=$SpineBIN
+SpineDOC=$SpineDOC
+#SpineOUTversioned=$SpineOUTversioned
+SpineOUTstatic=$SpineOUTstatic
+SpineCgiBIN=$SpineCgiBIN
+,#+END_SRC
+" >> nix_note_.org
-echo '* spine run instruction examples
-,** cgi operations (output to $SpineOUTstatic /var/www)
+echo '* cgi form spine_search nix build and copy to spine-search
+
+,#+BEGIN_SRC sh
+nix-build
+sudo cp -vi result/share/cgi-bin/spine_search $SpineCgiBIN/.
+,#+END_SRC
+
+,* spine run instruction examples
+,** cgi operations (output to $SpineOUTstatic)
+,*** configuration
+
+,#+BEGIN_SRC sh
+$SpineBIN/spine -v --show-config --config=$SpineDOC/markup/pod/.dr
+,#+END_SRC
+
+,*** generate html (linked to search form & harvest)
+
+,#+BEGIN_SRC sh
+$SpineBIN/spine -v --html --html-link-search --html-link-harvest --sqlite-db-filename="<<spine_search_db>>" --cgi-sqlite-search-filename="<<spine_search_cgi>>"--output=$SpineOUTstatic $SpineDOC/markup/pod/*
+,#+END_SRC
+
+,*** generate sql output
- $SpineSRC/result/bin/spine --very-verbose --sqlite-db-create --output="$SpineOUTstatic" $SpineDOC/markup/pod/*
+,#+BEGIN_SRC sh
+SpineBIN/spine -v --sqlite-update --sqlite-db-filename="<<spine_search_db>>" --output=$SpineOUTstatic $SpineDOC/markup/pod/*
+,#+END_SRC
- $SpineSRC/result/bin/spine -v --cgi-search-form-codegen --output=$SpineOUTstatic $SpineDOC/markup/pod/*
+,*** generate harvest
- $SpineSRC/result/bin/spine -v --show-config --config=$SpineDOC/markup/pod/.dr
+,#+BEGIN_SRC sh
+$SpineBIN/spine -v --harvest --output=$SpineOUTstatic $SpineDOC/markup/pod/*
+$SpineBIN/spine -v --html --html-link-harvest --harvest --output=$SpineOUTstatic $SpineDOC/markup/pod/*
+,#+END_SRC
- $SpineSRC/result/bin/spine --html $SpineDOC/markup/pod/*
+,*** create or re-create sql db (--sqlite-db-create or --sqlite-db-recreate)
- $SpineSRC/result/bin/spine -v --sqlite-db-create --sqlite-db-filename="spine.search.db" --output="$SpineOUTstatic" $SpineDOC/markup/pod/*
+,#+BEGIN_SRC sh
+$SpineBIN/spine -v --sqlite-db-recreate --sqlite-db-filename="<<spine_search_db>>" --output="$SpineOUTstatic"
+,#+END_SRC
- $SpineSRC/result/bin/spine -v --sqlite-db-create --sqlite-db-filename="spine.search.db" --cgi-sqlite-search-filename="spine-search" --output=$SpineOUTstatic $SpineDOC/markup/pod/*
- $SpineSRC/result/bin/spine -v --sqlite-db-recreate --sqlite-db-filename="spine.search.db" --cgi-sqlite-search-filename="spine-search" --output=$SpineOUTstatic $SpineDOC/markup/pod/*
+,*** generate html (linked to search form), sql output, harvest
- $SpineSRC/result/bin/spine -v --sqlite-update --sqlite-db-filename="spine.search.db" --output=$SpineOUTstatic $SpineDOC/markup/pod/*
+,#+BEGIN_SRC sh
+$SpineBIN/spine -v --html --html-link-search --html-link-harvest --harvest --sqlite-db-filename="<<spine_search_db>>" --cgi-sqlite-search-filename="<<spine_search_cgi>>" --sqlite-update --output=$SpineOUTstatic $SpineDOC/markup/pod/*
+,#+END_SRC
- $SpineSRC/result/bin/spine -v --cgi-search-form-codegen --config=$SpineDOC/markup/pod/.dr/config_local_site
+,*** make search form
- $SpineSRC/result/bin/spine -v --html --html-link-search --html-link-harvest --harvest --output=$SpineOUTstatic $SpineDOC/markup/pod/*
+,#+BEGIN_SRC sh
+$SpineBIN/spine -v --cgi-search-form-codegen --config=$SpineDOC/markup/pod/.dr/config_local_site
+#$SpineBIN/spine -v --cgi-search-form-codegen --output=$SpineOUTstatic $SpineDOC/markup/pod/*
+,#+END_SRC
+' >> nix_note_.org
- - generate html linked to search form
- $SpineSRC/result/bin/spine -v --sqlite-db-recreate --sqlite-db-filename="spine.search.db" --cgi-sqlite-search-filename="spine-search" --sqlite-update --output=$SpineOUTstatic $SpineDOC/markup/pod/*
- - make search form
- $SpineSRC/result/bin/spine -v --cgi-search-form-codegen --config=$SpineDOC/markup/pod/.dr/config_local_site
- #$SpineSRC/result/bin/spine -v --cgi-search-form-codegen --output=$SpineOUTstatic $SpineDOC/markup/pod/*
+cat nix_note_.org
-' >> nix_note_
-cat nix_note_
-echo "cat nix_note_"
+echo "emacs nix_note_.org"
+echo "cat nix_note_.org"
#+END_SRC
*** dub.json
@@ -5105,6 +5216,18 @@ tmp/**
#.reggae/**
#+END_SRC
+*** set names SET
+
+#+NAME: spine_search_db
+#+BEGIN_SRC sh
+spine.search.db
+#+END_SRC
+
+#+NAME: spine_search_cgi
+#+BEGIN_SRC sh
+spine_search
+#+END_SRC
+
** sh script to batch process _emacs org babel tangle_ :shell_script:tangle:
[[https://orgmode.org/manual/Batch-execution.html]]
creates a shell batch script called "tangle", that will tangle (emacs org