export NIX_PATH=/nix/var/nix/profiles/per-user/root/channels/nixos #export NIX_PATH=/nixpkgs-ra/nixpkgs # 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 SpineBIN=/grotto-ra/repo/git.repo/projects/project-spine/doc-reform/result/bin export SpineDOC=/grotto-ra/repo/git.repo/projects/project-spine/doc-reform-markup/spine-markup-samples export SpineOUTversioned=/srv/www/spine/$SpineVER export SpineOUTstatic=/srv/www/spine/static echo '-*- mode: org -*- * nixpkgs path? eval "$(nix print-dev-env)" ' > nix_note_.org echo " == `nix-instantiate --find-file nixpkgs`" >> nix_note_.org echo ' * nix build and show derivation #+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 develop nix-instantiate | nix show-derivation | jq nix-instantiate | nix show-derivation --recursive | jq nix search --json 2>/dev/null |jq #+END_SRC * version and build info #+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 * initialised shell variables #+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 *** harvest (authors topics) #+BEGIN_SRC sh $SpineBIN/spine --very-verbose --harvest --output="$SpineOUTversioned" $SpineDOC/markup/pod/* #+END_SRC *** html, harvest #+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 *** composite command: source pod, html, epub, harvest, sqlite #+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 #+BEGIN_SRC sh $SpineBIN/spine --very-verbose --sqlite-db-create --output="$SpineOUTversioned" #+END_SRC *** 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 #+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) #+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 --show-config --config=$SpineDOC/markup/pod/.dr $SpineBIN/spine --html $SpineDOC/markup/pod/* $SpineBIN/spine -v --cgi-search-form-codegen --config=$SpineDOC/markup/pod/.dr/config_local_site #+END_SRC *** generate html linked to search form #+BEGIN_SRC sh $SpineBIN/spine -v --html --html-link-search --html-link-harvest --harvest --output=$SpineOUTstatic $SpineDOC/markup/pod/* #+END_SRC *** create or re-create sql db (--sqlite-db-create or --sqlite-db-recreate) #+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 #+BEGIN_SRC sh $SpineBIN/spine -v --sqlite-update --sqlite-db-filename="spine.search.db" --output=$SpineOUTstatic $SpineDOC/markup/pod/* #+END_SRC *** 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" --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"