diff options
-rw-r--r-- | .env/echo-nixNote | 239 | ||||
-rw-r--r-- | .env/nix-commands | 20 | ||||
-rw-r--r-- | .envrc | 11 | ||||
-rw-r--r-- | .envrc-git-init | 4 | ||||
-rw-r--r-- | .envrc-local_ | 15 | ||||
-rw-r--r-- | .envrc-nix | 33 | ||||
-rw-r--r-- | .gitignore | 38 | ||||
-rw-r--r-- | CHANGELOG | 280 | ||||
-rw-r--r-- | README | 43 | ||||
-rw-r--r-- | flake.lock | 48 | ||||
-rw-r--r-- | flake.nix | 200 | ||||
-rw-r--r-- | org/config_env.org | 195 | ||||
-rw-r--r-- | org/config_git.org | 87 | ||||
-rw-r--r-- | org/config_nix.org | 482 | ||||
-rw-r--r-- | org/sisu_version_info_and_doc_header_including_copyright_and_license.org | 83 | ||||
-rwxr-xr-x | shell.nix | 23 |
16 files changed, 1629 insertions, 172 deletions
diff --git a/.env/echo-nixNote b/.env/echo-nixNote new file mode 100644 index 0000000..ad8717f --- /dev/null +++ b/.env/echo-nixNote @@ -0,0 +1,239 @@ +echo '-*- mode: org -*- + +* nixpkgs path? + + # eval "$(nix print-dev-env)" +' > nixNote_.org + +echo " <nixpkgs> == `nix-instantiate --find-file nixpkgs`" >> nixNote_.org + +echo ' +* nix build and show derivation + +#+BEGIN_SRC sh +nix-shell --pure + +nix-build +nix build -f default.nix --print-build-logs +nix shell -f default.nix --print-build-logs +nix develop --build -f derivation.nix -I .envrc --print-build-logs + +nix-instantiate | nix-build + +nix-instantiate -I .envrc | nix-build -I .envrc +nix build `nix-instantiate` +nix build `nix-instantiate -I .envrc` + +nix develop + +nix-instantiate | nix show-derivation | jq +nix-instantiate -I .envrc | nix show-derivation -f derivation.nix -I .envrc | jq + +nix-instantiate | nix show-derivation --recursive | jq +nix-instantiate -I .envrc | nix show-derivation -f derivation.nix --recursive -I .envrc | jq + +nix search --json 2>/dev/null |jq +#+END_SRC + +* version and build info + +#+BEGIN_SRC sh' >> nixNote_.org + +echo 'spine version (git) == $SpineVER' >> nixNote_.org +echo "spine version (git) == $SpineVER" >> nixNote_.org +echo 'nix-instantiate == `nix-instantiate`' >> nixNote_.org +echo "nix-instantiate == `nix-instantiate`" >> nixNote_.org + +echo "#+END_SRC + +* initialised shell variables + +#+BEGIN_SRC sh +SpineSRC=$SpineSRC +SpineDOC=$SpineDOC +SpinePOD=$SpinePOD +SpineOUTversioned=$SpineOUTversioned +SpineOUT=$SpineOUT +#+END_SRC +" >> nixNote_.org + +echo '* spine run instruction examples +** parallelized tasks +*** doc source + +#+BEGIN_SRC sh +$SpineBIN/spine --very-verbose --pod --source --output="$SpineOUTversioned" $SpinePOD/* +#+END_SRC + +*** html & epub output + +#+BEGIN_SRC sh +$SpineBIN/spine --very-verbose --html --epub --output="$SpineOUTversioned" $SpinePOD/* +#+END_SRC + +*** sqlite db for each document - populate each db + +#+BEGIN_SRC sh +$SpineBIN/spine --very-verbose --sqlite-discrete --output="$SpineOUTversioned" $SpinePOD/* +#+END_SRC + +*** doc source; html, epub; sqlite outputs + +#+BEGIN_SRC sh +$SpineBIN/spine --verbose --pod --html --epub --sqlite-discrete --output="$SpineOUTversioned" $SpinePOD/* +#+END_SRC + +*** curate (authors topics) + +#+BEGIN_SRC sh +$SpineBIN/spine --very-verbose --curate --output="$SpineOUTversioned" $SpinePOD/* +#+END_SRC + +*** html, curate + +#+BEGIN_SRC sh +$SpineBIN/spine --verbose --dark --html --html-link-curate --curate --output="$SpineOUTversioned" $SpinePOD/* +$SpineBIN/spine --very-verbose --html --html-link-curate --curate --output="$SpineOUTversioned" $SpinePOD/* +#+END_SRC + +*** composite command: source pod, html, epub, curate, sqlite + +#+BEGIN_SRC sh +$SpineBIN/spine --verbose --dark --pod --epub --html --html-link-curate --curate --sqlite-discrete --output="$SpineOUTversioned" $SpinePOD/* +#+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" $SpinePOD/* +#+END_SRC + +*** composite command: source pod, html, epub, curate, sqlite + +#+BEGIN_SRC sh +$SpineBIN/spine --verbose --no-parallel --dark --pod --epub --html --html-link-curate --curate --sqlite-discrete --output="$SpineOUTversioned" $SpinePOD/* +#+END_SRC + +** config [./pod/].dr/config_local_site + +#+BEGIN_SRC sh +cat $SpinePOD/.dr/config_local_site +$SpineBIN/spine --show-config $SpinePOD +$SpineBIN/spine --show-config --output="$SpineOUTversioned" $SpinePOD +#+END_SRC + +** cgi operations (output to $SpineOUT /var/www) + +#+BEGIN_SRC sh +$SpineBIN/spine --very-verbose --sqlite-db-create --output="$SpineOUT" $SpinePOD/* + +$SpineBIN/spine -v --cgi-search-form-codegen --output=$SpineOUT $SpinePOD/* + +$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 +#+END_SRC + +*** generate html linked to search form + +#+BEGIN_SRC sh +$SpineBIN/spine -v --html --html-link-search --html-link-curate --curate --output=$SpineOUT $SpinePOD/* +#+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" --sqlite-db-path="$SpineDBpath" +$SpineBIN/spine -v --sqlite-db-recreate --sqlite-db-filename="spine.search.db" --sqlite-db-path="$SpineDBpath" +#+END_SRC + +*** populate sqlite db + +#+BEGIN_SRC sh +$SpineBIN/spine -v --sqlite-update --sqlite-db-filename="spine.search.db" --output=$SpineOUT $SpinePOD/* +#+END_SRC + +*** generate html (linked to search form), sql output, curate COMPOSITE + +#+BEGIN_SRC sh +$SpineBIN/spine -v --html --html-link-search --html-link-curate --curate --sqlite-update --sqlite-db-filename="spine.search.db" --cgi-sqlite-search-filename="spine_search" --sqlite-db-path="$SpineDBpath" --output="$SpineOUT" $SpinePOD/* +$SpineBIN/spine --epub --html --html-link-search --html-link-curate --curate --sqlite-update --sqlite-db-filename="spine.search.db" --cgi-sqlite-search-filename="spine_search" --cgi-url-action="https://sisudoc.org/spine_search" --ouput="$SpineOUT" $SpinePOD/* +#+END_SRC + +*** generate html (linked to search form), sql output, curate COMPOSITE with resource configuration + +if names and paths are configured in resource configuration file, e.g. $SpinePOD/.rc/config_local_site + +#+BEGIN_SRC sh +$SpineBIN/spine -v --html --html-link-search --html-link-curate --curate --sqlite-update $SpinePOD/* +#+END_SRC + +#+BEGIN_SRC yaml +# sample resource configuration file ( $SpinePOD/.rc/config_local_site ) +output: + path: "/srv/www/spine" +default: + language: "en" + papersize: "a4" + text_wrap: "80" + digest: "sha256" +webserv: + http: "http" + domain: "localhost" + data_http: "http" + data_domain: "localhost" + data_root_url: "https://sisudoc.org" + data_root_path: "/srv/www/spine" + images_root_part: "image" + cgi_search_form_title: "≅ SiSU Spine search" + cgi_http: "https" + cgi_domain: "sisudoc.org" + cgi_bin_url: "http://sisudoc.org/cgi-bin" + cgi_bin_part: "cgi-bin" + cgi_bin_path: "/var/www/cgi/cgi-bin" + cgi_search_script: "spine_search" + cgi_action: "https://sisudoc.org/spine_search" + db_sqlite_filename: "spine.search.db" + db_sqlite_path: "/var/www/sqlite" +#+END_SRC + +*** make search form + +#+BEGIN_SRC sh +$SpineBIN/spine -v --cgi-search-form-codegen --config=$SpinePOD/.dr/config_local_site +#+END_SRC + +*** latex + +#+BEGIN_SRC sh +$SpineBIN/spine --latex --serial --output="$SpineOUT" $SpinePOD/* +ls $SpineOutstatic/latex/*.tex +#+END_SRC +' >> nixNote_.org + +#cat nixNote_.org + +#echo "emacs nixNote_.org" +#echo "cat nixNote_.org" diff --git a/.env/nix-commands b/.env/nix-commands new file mode 100644 index 0000000..7cfa723 --- /dev/null +++ b/.env/nix-commands @@ -0,0 +1,20 @@ +- nix flake update && nix flake check --show-trace && nix flake show && nix develop .#devShell + +- nix build .#default --print-build-logs +- nix build .#spine-dmd --print-build-logs +- nix build .#spine-ldc --print-build-logs +- nix build .#spine-gdc --print-build-logs + +- nix develop + - nix develop .#devShell --print-build-logs + - nix develop .#devShell-html --print-build-logs + - nix develop .#devShell-epub --print-build-logs + - nix develop .#devShell-latex-pdf --print-build-logs + - nix develop .#devShell-sqlite --print-build-logs + - nix develop .#devShell-i18n --print-build-logs + +nix run .#default --print-build-logs + +nix develop --build .#default --print-build-logs + +nix-shell '<nixpkgs>' -A nix --pure @@ -0,0 +1,11 @@ +if [ -f .envrc-git-init ]; then + source_env_if_exists .envrc-git-init || source .envrc-git-init +fi +if [ -f .envrc-local ]; then + source_env_if_exists .envrc-local || source .envrc-local +fi +if [ -f .envrc-nix ]; then + source_env_if_exists .envrc-nix || source .envrc-nix +fi +PATH_add result/bin +#nix flake update && nix flake check --show-trace && nix flake show diff --git a/.envrc-git-init b/.envrc-git-init new file mode 100644 index 0000000..ca74ec3 --- /dev/null +++ b/.envrc-git-init @@ -0,0 +1,4 @@ +if [[ ! -d ./.git ]]; then + git init + git add . +fi diff --git a/.envrc-local_ b/.envrc-local_ new file mode 100644 index 0000000..4790ed9 --- /dev/null +++ b/.envrc-local_ @@ -0,0 +1,15 @@ +export SisuVER=$(git describe --long --tags | sed 's/^[ a-z_-]\+\([0-9.]\+\)/\1/;s/\([^-]*-g\)/r\1/;s/-/./g') +PATH_add result/bin +#export sisuBIN=result/bin +export sisuPROJ=~/grotto/repo/git.repo/projects/doc-reform/code/software/sisu +export sisuDOC=./data/samples/current +export sisuOUT=/srv/www/sisu +#export sisuOUT=/var/www +#export sisuOUTver=/tmp/sisu/$sisuVER/www +export sisuCGIbin=/var/www/cgi/cgi-bin +export sisuSearchActionLocal='http://localhost/sisu_search' +export sisuSearchActionRemote='https://sisudoc.org/sisu_search' +export sisuCGIform='sisu_search' +export sisuSQLdb='spine.search.db' +export sisuDBpath=/var/www/sqlite +#export sisuDBpath=/srv/www/sisu/sqlite diff --git a/.envrc-nix b/.envrc-nix new file mode 100644 index 0000000..f827dff --- /dev/null +++ b/.envrc-nix @@ -0,0 +1,33 @@ +NIX_ENFORCE_PURITY=1 +# - https://github.com/nix-community/nix-direnv +NixDirEnvVersion="3.0.6" +NixDirEnvSHA="sha256-RYcUJaRMf8oF5LznDrlCXbkOQrywm0HDv1VjYGaJGdM=" +if ! has nix_direnv_version || ! nix_direnv_version ${NixDirEnvVersion}; then + source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/${NixDirEnvVersion}/direnvrc" "${NixDirEnvSHA}" +fi +watch_file flake.lock +watch_file flake.nix +watch_file shell.nix +watch_file makefile +watch_file nixDevEnv.sh +watch_file .envrc-local +watch_file .envrc-nix +PATH_add result/bin +use flake . +echo " +• consider running: + ❯❯ nix flake show + ❯❯ nix flake update && nix flake check && nix flake show + +• for a dev shell (development environment): + + ❯❯ nix develop + ❯❯ nix develop '.#' --print-build-logs -c zsh + ❯❯ nix develop '.#dsh-latex-pdf' --print-build-logs -c zsh + +• to build project: + + ❯❯ nix build '.#' --print-build-logs + - (see nix other/additional build options): + ❯❯ nix flake show +" @@ -1,4 +1,33 @@ # git ls-files --others --exclude-from=.git/info/exclude +# git check-ignore -v flake.lock +# git clean -ix +# find . -name "*_" | xargs rm -rf +* +!.gitignore +!.gitattributes +!nix/** +!*.nix +!flake.lock +!README +!COPYRIGHT +!CHANGELOG +!makefile +!configuration.txt +!conf/ +!conf/** +!*.json +!*.org +!org/ +!org/*.org +!*.rb +!*.sst +!*.ssm +!*.ssi +!**/*.sst +!**/*.ssm +!**/*.ssi +!data +!data/** *~ *_ \#* @@ -9,7 +38,14 @@ *.gemspec *_.rb *.rb_ -.pc 0???-*.patch *.gz *.xz +*_ +.* +!.gitignore +!.gitattributes +!.envrc +!.envrc-local_ +!.envrc-nix +!.envrc-git-init @@ -1,252 +1,236 @@ SiSU markup samples CHANGELOG -*- mode: org; -*- #+OPTIONS: ^:nil _:nil -Homepages: <http://sisudoc.org> <http://www.jus.uio.no/sisu> -Source: <http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=summary> +Homepages: <http://sisudoc.org> +Source: <https://git.sisudoc.org/data/sisu-markup-samples/> Reverse Chronological: +* sisu-markup-samples_7.2.0.orig.tar.xz (2019-09-04:35/3) [version follows sisu] + + - markup modifications + - distinguish use of block and group + - table attributes + * sisu-markup-samples_7.1.3.orig.tar.xz (2018-02-14:7/3) [sisu at 7.1.11] - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_7.1.3 - * data directory, housekeeping, small corrections + - data directory, housekeeping, small corrections * sisu-markup-samples_7.1.2.orig.tar.xz (2015-09-30:39/3) [sisu at 7.1.5] - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_7.1.2 - * book index markup related touches + - book index markup related touches Democratizing Innovation; Free Culture; Two Bits; Viral Spiral - * bibliography related, minor + - bibliography related, minor Free For All; Two Bits - * update a few urls + - update a few urls Democratizing Innovation; Two Bits - * make a blurb non-substantive, no ocn + - make a blurb non-substantive, no ocn Wealth of Networks - * typo... + - typo... Two Bits - * minimal markup samples, header, identify structure (heading match regex) + - minimal markup samples, header, identify structure (heading match regex) Don Quixote; War and Peace - * header cleaning + - header cleaning War and Peace * sisu-markup-samples_7.1.1.orig.tar.xz (2015-05-21:20/4) [version follows sisu] - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_7.1.1 - * Bibliography example, Two Bits, Kelty, note the importance of + - Bibliography example, Two Bits, Kelty, note the importance of the exclamation mark in naming the section 1~!bibliography or 1~!biblio (left out for Two Bits on previous upload) * sisu-markup-samples_7.1.0.orig.tar.xz (2015-05-15:19/5) [version follows sisu] - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_7.1.0 - * markup samples - * Democratizing Innovation, von Hippel, minor markup fixes - * The Public Domain, James Boyle, name non chapter sections/headings - * Bibliography - * provide examples using tags (sisu-7.1.0) + - markup samples + - Democratizing Innovation, von Hippel, minor markup fixes + - The Public Domain, James Boyle, name non chapter sections/headings + - Bibliography + - provide examples using tags (sisu-7.1.0) (Democratizing Innovation, von Hippel; Two Bits, Kelty; Free For All, Wayner) - * Glossary (sisu-7.1.0) - * provide example + - Glossary (sisu-7.1.0) + - provide example (Free For All, Wayner) - * config files - * update sisurc (config) - * update - * remove redundant files - * update sisu_document_make files + - config files + - update sisurc (config) + - update + - remove redundant files + - update sisu_document_make files - * setup.rb s/Config/RbConfig/ + - setup.rb s/Config/RbConfig/ - * CHANGELOG, clean up some cruft + - CHANGELOG, clean up some cruft * sisu-markup-samples_5.0.2.orig.tar.xz (2014-08-07:26/2) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_5.0.2 * sisu-markup-samples_5.0.1.orig.tar.xz (2014-07-01:26/2) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_5.0.1 - * Free Culture, use quote block markers (sisu >= 5.4.3) + - Free Culture, use quote block markers (sisu >= 5.4.3) data/samples/current/en/free_culture.lawrence_lessig.sst * sisu-markup-samples_5.0.0.orig.tar.xz (2014-05-21:20/3) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_5.0.0 - * document structure errors in a couple of documents, detected by sisu 5.3.5, + - document structure errors in a couple of documents, detected by sisu 5.3.5, fixed * sisu-markup-samples release follows sisu: 4.2.5.orig.tar.xz (2013-09-22:37/7) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_4.2.5 * sisu-markup-samples_4.2.0.orig.tar.xz (2013-10-14:41/1) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_4.2.0 - * provide alternative samples to give an idea of acceptable sisu markup styles + - provide alternative samples to give an idea of acceptable sisu markup styles (for the same document set) * sisu-markup-samples_4.1.1.orig.tar.xz (2013-05-19:19/7) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_4.1.1 - * removed + - removed free_as_in_freedom.richard_stallman_crusade_for_free_software.sam_williams.sst - * the 2nd edition is available - * be rid of concerns over its use of license GFDL-NIV-1.1 + - the 2nd edition is available + - be rid of concerns over its use of license GFDL-NIV-1.1 * sisu-markup-samples_4.1.0.orig.tar.xz (2013-05-16:19/4) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_4.1.0 - * data/samples shared by sisu v4 & v5, v3 document markup branch closed - * v3: close version 3 markup sample branch - * v4: remove version 4 markup branch, have instead default samples branch - * COPYRIGHT update location of files + - data/samples shared by sisu v4 & v5, v3 document markup branch closed + - v3: close version 3 markup sample branch + - v4: remove version 4 markup branch, have instead default samples branch + - COPYRIGHT update location of files - * data/samples small fixes in text + - data/samples small fixes in text * sisu-markup-samples_4.0.0.orig.tar.xz (2012-12-12:50/3) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_4.0.0 - * v4: version 4 branch - * open branch - * update markup samples & directory configuration + - v4: version 4 branch + - open branch + - update markup samples & directory configuration - * v3: (public domian) texts added as markup samples - * Gulliver's Travels, Jonathan Swift - * Alice in Wonderland, Lewis Carroll - * Through the Looking Glass, Lewis Carroll + - v3: (public domian) texts added as markup samples + - Gulliver's Travels, Jonathan Swift + - Alice in Wonderland, Lewis Carroll + - Through the Looking Glass, Lewis Carroll - * v3: re-arranging, update, fixes + - v3: re-arranging, update, fixes * sisu-markup-samples_3.0.1.orig.tar.xz (2012-04-23:17/1) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_3.0.1 - * The Public Domain - Enclosing the Commons of the Mind, James Boyle + - The Public Domain - Enclosing the Commons of the Mind, James Boyle added, so far without book index, and font attributes (bold, italics) - * Free as in Freedom (2.0) - Richard Stallman and the Free Software + - Free as in Freedom (2.0) - Richard Stallman and the Free Software Revolution, Sam Williams, 2nd edition revisions Richard Stallman - * COPYRIGHT, format changed, influenced by Machine-readable debian/copyright + - COPYRIGHT, format changed, influenced by Machine-readable debian/copyright file <http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/> * sisu-markup-samples_3.0.0.orig.tar.gz (2011-02-16:07/3) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_3.0.0 [post debian squeeze] - * removes v1 branch, v1 markup (headers) no longer supported by sisu (v3) + - removes v1 branch, v1 markup (headers) no longer supported by sisu (v3) - * v2 & v3 samples moved to common directory data/samples + - v2 & v3 samples moved to common directory data/samples [Note: sisu v2 and v3 will run against the same docuements, separate v2 and v3 directories may be introduced later if determined to be useful (e.g. v3 permits alternative directory structure using language code for markup source] * sisu-markup-samples_2.0.7.orig.tar.gz (2010-10-11:41/1) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_2.0.7 [debian in freeze for squeeze, the only changes are documentation related] - * The Wealth of Networks, Yochai Benkler, missing image added/included, fix + - The Wealth of Networks, Yochai Benkler, missing image added/included, fix - * Down and Out in the Magic Kingdom, Cory Doctorow markup sample added + - Down and Out in the Magic Kingdom, Cory Doctorow markup sample added - * For the Win, Cory Doctorow markup sample added + - For the Win, Cory Doctorow markup sample added - * COPYRIGHT and data/README updated + - COPYRIGHT and data/README updated - * yml list and promo updated + - yml list and promo updated - * manpage updated + - manpage updated - * Other related updates to inclusion of two new markup samples, primarily + - Other related updates to inclusion of two new markup samples, primarily associated linking documents * sisu-markup-samples_2.0.6.orig.tar.gz (2010-08-24:34/2) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_2.0.6 [debian in freeze for squeeze, the only changes are documentation related] - * Viral Spiral, David Bollier markup sample added + - Viral Spiral, David Bollier markup sample added - * Book index fixes to existing markup samples + - Book index fixes to existing markup samples - * Minor adjustments to markup sample headers where appropriate + - Minor adjustments to markup sample headers where appropriate - * miscellaneous fixes, - * add missing skin for v1 markup of "CONTENT", Cory Doctorow - * "CONTENT", use preferred curly braces with emphasized text (v1 & v2) - * "Free Culture", document structure - * add v1 markup for "Democratizing Innovation", Eric von Hippel - * (headers & yaml), links added/updated + - miscellaneous fixes, + - add missing skin for v1 markup of "CONTENT", Cory Doctorow + - "CONTENT", use preferred curly braces with emphasized text (v1 & v2) + - "Free Culture", document structure + - add v1 markup for "Democratizing Innovation", Eric von Hippel + - (headers & yaml), links added/updated - * COPYRIGHT and README update on contents + - COPYRIGHT and README update on contents - * Manpage update + - Manpage update - * debian markup-samples headers tended to + - debian markup-samples headers tended to - * debian/control - * update contents - * make description match sisu - * update Standards-Version 3.9.1 - * update Maintainers - * add Uploaders field + - debian/control + - update contents + - make description match sisu + - update Standards-Version 3.9.1 + - update Maintainers + - add Uploaders field * sisu-markup-samples_2.0.5.orig.tar.gz (2010-07-15:28/4) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_2.0.5 - * Little Brother, use image by Richard Wilkinson (image 4 cropped), + - Little Brother, use image by Richard Wilkinson (image 4 cropped), (replacing previous image used based on original book cover) - * CONTENT, remove image based on original book cover + - CONTENT, remove image based on original book cover * sisu-markup-samples_2.0.4.orig.tar.gz (2010-06-27:25/7) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_2.0.4 - * adds text Democratizing Innovation, Eric von Hippel + - adds text Democratizing Innovation, Eric von Hippel - * CHANGELOG, COPYRIGHT, README and links updated accordingly, plus small + - CHANGELOG, COPYRIGHT, README and links updated accordingly, plus small touches * sisu-markup-samples_2.0.3.orig.tar.gz (2010-05-06:18/4) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_2.0.3 - * CONTENT: skin and image added; *{emphasis}* set to italics (>= sisu-2.3.2); + - CONTENT: skin and image added; *{emphasis}* set to italics (>= sisu-2.3.2); invisible character at start of document removed, fix - * small touches + - small touches * sisu-markup-samples_2.0.2.orig.tar.gz (2010-04-27:17/2) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_2.0.2 - * oclc, a few online computer library center numbers of texts added (see + - oclc, a few online computer library center numbers of texts added (see sisu-2.3.0 changelog) - * topic_register, minor tweaking for a few documents + - topic_register, minor tweaking for a few documents * sisu-markup-samples_2.0.1.orig.tar.gz (2010-03-23:12/1) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_2.0.1 - * adds text: CONTENT - Selected Essays on Technology, Creativity, Copyright + - adds text: CONTENT - Selected Essays on Technology, Creativity, Copyright and the Future of the Future, Cory Doctorow - * minor touches + - minor touches [uploaded with sisu-2.0.4] * sisu-markup-samples_2.0.0.orig.tar.gz (2010-03-06:09/6) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_2.0.0 - * version 2 markup samples provided (document headers changed) + - version 2 markup samples provided (document headers changed) version 1 markup samples retained - * document markup samples include: + - document markup samples include: Free as in Freedom - Richard Stallman's Crusade for Free Software, Sam Williams @@ -269,137 +253,122 @@ Reverse Chronological: Accelerando, Charles Stross * sisu-markup-samples_1.1.2.orig.tar.gz (2010-02-17:07/3) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_1.1.2 - * document sample skins, utf-8 specified (in some cases needed by ruby 1.9.1) + - document sample skins, utf-8 specified (in some cases needed by ruby 1.9.1) * sisu-markup-samples_1.1.1.orig.tar.gz (2010-02-10:06/3) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_1.1.1 - * Free as in Freedom (on RMS), Sam Williams, markup variation, affects numbering + - Free as in Freedom (on RMS), Sam Williams, markup variation, affects numbering - * minor consistency changes + - minor consistency changes * sisu-markup-samples_1.1.0.orig.tar.gz (2010-02-08:06/1) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_1.1.0 - * package directory structure changed for sisu version 1.0.0, v1 directory + - package directory structure changed for sisu version 1.0.0, v1 directory introduced to allow parallel maintenance of markup changes if any in v2 - * additional content, includes "Two Bits", Christopher Kelty and "Little + - additional content, includes "Two Bits", Christopher Kelty and "Little Brother", Cory Doctorow, for list of markup samples see COPYRIGHT or v1/README - * updated COPYRIGHT and v1/README information, includes list of markup + - updated COPYRIGHT and v1/README information, includes list of markup samples - * sisu 1.0.0 does not support older style headers, old style markup samples + - sisu 1.0.0 does not support older style headers, old style markup samples removed - * change in some samples first heading that will affect object numbering, + - change in some samples first heading that will affect object numbering, first headings, where title (and author) take from header metadata, all placed in heading level A (previoulsy spread across level A & B) which will affect object numbers * sisu-markup-samples_1.0.11.orig.tar.gz (2009-07-16:28/4) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_1.0.11 - * add topics register, and use surname, other names format + - add topics register, and use surname, other names format (both used by: "sisu --harvest *.sst") - * minor adjustments to "Free Culture" + - minor adjustments to "Free Culture" * sisu-markup-samples_1.0.10.orig.tar.gz (2008-10-09:40/4) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_1.0.10 - * book index sample markup for sisu-0.69 series for books "Free Culture" and "The Wealth of Networks" + - book index sample markup for sisu-0.69 series for books "Free Culture" and "The Wealth of Networks" - * debian, older markup samples retained as an earlier version of sisu makes it to lenny + - debian, older markup samples retained as an earlier version of sisu makes it to lenny - * debian policy Standards-Version 3.8.0 + - debian policy Standards-Version 3.8.0 * sisu-markup-samples_1.0.9.orig.tar.gz (2007-12-09:49/7) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_1.0.9 - * debian build update, with debian maintainer upload permission + - debian build update, with debian maintainer upload permission * sisu-markup-samples_1.0.8.orig.tar.gz (2007-08-19:33/7) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_1.0.8 - * minor adjustment of rights headers (C) introduced (used by sisu-0.56.3) + - minor adjustment of rights headers (C) introduced (used by sisu-0.56.3) * sisu-markup-samples_1.0.7.orig.tar.gz (2007w26/7 - 2007-07-01) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_1.0.7 - * fixes to skins post sisu-0.55.0, gpl3 + - fixes to skins post sisu-0.55.0, gpl3 * sisu-markup-samples_1.0.6.orig.tar.gz (2007w14/6 - 2007-04-07) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_1.0.6 - * declared document type, markup version identifier added + - declared document type, markup version identifier added * sisu-markup-samples_1.0.5.orig.tar.gz (2007w13/6 - 2007-03-31) - * skins updated to work with sisu-0.51.0 + - skins updated to work with sisu-0.51.0 - * "The Cathedral and the Bazaar" by Eric S. Raymond added + - "The Cathedral and the Bazaar" by Eric S. Raymond added - * "The Wealth of Networks" by Yochai Benkler, corrections from conversion + - "The Wealth of Networks" by Yochai Benkler, corrections from conversion extended ascii characters still not accurately represented - * "The Wealth of Networks" by Yochai Benkler, book index added + - "The Wealth of Networks" by Yochai Benkler, book index added * sisu-markup-samples_1.0.4.orig.tar.gz (2006w48/1 - 20061127) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_1.0.4 - * "The Wealth of Networks" by Yochai Benkler, added as markup sample + - "The Wealth of Networks" by Yochai Benkler, added as markup sample ["visual" representation of table 3.1 of document requires >= sisu-0.48.8] * sisu-markup-samples_1.0.3.orig.tar.gz (2006w44/2 - 20061031) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_1.0.3 - * housekeeping, minor adjustments + - housekeeping, minor adjustments - * [debian ruby build ruby-1.8.5-3 (uploaded yesterday) detects and breaks on + - [debian ruby build ruby-1.8.5-3 (uploaded yesterday) detects and breaks on cyclic include errors which were found at a basic level of operation, rendering program effectively broken. New ruby build affects all previous versions of sisu. (affects provided 'skin' samples)] * sisu-markup-samples_1.0.2.orig.tar.gz (2006w25/6 - 20060624) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_1.0.2 - * document samples placed within sub-directory non-free to avoid clashes with + - document samples placed within sub-directory non-free to avoid clashes with content in the dfsg compliant (Debian Free Software Guideline) document samples contained in the main package as there is some duplication of content, skins and images to make this package more or less self contained. - * removed/moved "GPL2" and "Free as in Freedom" texts and + - removed/moved "GPL2" and "Free as in Freedom" texts and associated images back into main sisu package [FaiF is published under the GNU Free Documentation License] - ** debian/control, added line Conflicts: sisu-examples to the existing + -* debian/control, added line Conflicts: sisu-examples to the existing Replaces: sisu-examples * sisu-markup-samples_1.0.1.orig.tar.gz (2006w21/7 - 20060528) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_1.0.1 - * minor markup fix + - minor markup fix * sisu-markup-samples_1.0.0.orig.tar.gz (2006w19/6 - 20060514) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_1.0.0 - * sample markup has been separated from the main sisu package and + - sample markup has been separated from the main sisu package and sisu-examples where it once resided, which are in debian main to non-free, as they contain authored works that cannot be changed * sisu_0.39.2.orig.tar.gz (2006w19/5 - 20060512) - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_0.39.2 - * what to do when missing required: header title; heading top; + - what to do when missing required: header title; heading top; heading seg. carries risk, false positives not acceptable, testing required, may need to scrap - * debian policy standards version 3.7.2 + - debian policy standards version 3.7.2 debian vim policy changes, rename sisu_vim vim_sisu vim 7 in debian includes filetypes, syntax, and color, removed vim-sisu includes ftplugin @@ -407,9 +376,8 @@ Reverse Chronological: ... * sisu_0.16.25.orig.tar.gz (2005w28/6 - 20050716) [First Debian Release] - http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=log;h=refs/tags/sisu-markup-samples_0.16.25 - * sisu-examples, Free as in Freedom ... minor touch, + - sisu-examples, Free as in Freedom ... minor touch, previous markup broken, will check later ... @@ -1,29 +1,42 @@ +-*- mode: org -*- + +git clone git://git.sisudoc.org/markup/sisu-markup-samples + +* what is this + These are samples of documents for use by SiSU prepared with SiSU markup -markup samples in sisu-markup-samples are installed to -/usr/share/doc/markup-samples + +the current markup versions are contained in the sub-directory: + +./data/samples/current/en/ + +* To install sisu using nix (flake) + +nix flake update +nix flake show +nix build . --print-build-logs + +nix develop .#devShell --print-build-logs -c zsh + +* To run sisu against sisu-markup samples Output in multiple formats can be generated running SiSU against the markup -samples, e.g.: +samples, e.g. you could try: -sisu --html filename.sst -sisu --html --epub --pdf filename.sst +sisu -v --html ./data/samples/current/en/the_wealth_of_networks.yochai_benkler.sst +sisu -v --html --epub ./data/samples/current/en/the_wealth_of_networks.yochai_benkler.sst + +sisu --html ./data/samples/current/en/* see: - man sisu <http://www.sisudoc.org> - <http://www.jus.uio.no/sisu> - -On Debian: - -(a) the lines to add for the upstream archive in /etc/apt/sources.list are: - deb http://www.jus.uio.no/sisu/archive unstable main non-free - deb-src http://www.jus.uio.no/sisu/archive unstable main non-free +* On Debian -(b) this package is placed in non-free, as the documents are released under the +(a) this package is placed in non-free, as the documents are released under the author or original publisher's license, and the substantive texts of the document is to be kept un-altered, which falls outside the Debian Free Software Guidelines -(c) this package would be placed in /usr/share/doc/sisu-markup-samples +(b) this package would be placed in /usr/share/doc/sisu-markup-samples as reference material on how to markup documents diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..4793592 --- /dev/null +++ b/flake.lock @@ -0,0 +1,48 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1738136902, + "narHash": "sha256-pUvLijVGARw4u793APze3j6mU1Zwdtz7hGkGGkD87qw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "9a5db3142ce450045840cc8d832b13b8a2018e0c", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs", + "sisu": "sisu" + } + }, + "sisu": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1738174683, + "narHash": "sha256-YA/q2irn+lFLpLJyXZjQ9MXHUlbignyVFjtFvolfALk=", + "ref": "refs/heads/upstream", + "rev": "8423b6155fa943204e7b9ff9cb92cc5e6d9f7381", + "revCount": 2047, + "type": "git", + "url": "git://git.sisudoc.org/software/sisu" + }, + "original": { + "type": "git", + "url": "git://git.sisudoc.org/software/sisu" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..89fa050 --- /dev/null +++ b/flake.nix @@ -0,0 +1,200 @@ +{ + description = "sisu parser & document generator"; + inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + inputs.sisu.url = "git://git.sisudoc.org/software/sisu"; + #git clone git://git.sisudoc.org/software/sisu + inputs.sisu.inputs.nixpkgs.follows = "nixpkgs"; + inputs.sisu.flake = true; + outputs = { + self, + nixpkgs, + sisu + } @ inputs: let + version = "7.3.1"; + shell = ./shell.nix; # ./default.nix; + devEnv = ./.envrc; # ./.envrc; # ./shell.nix; # ./default.nix; + supportedSystems = [ "x86_64-linux" ]; # [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ]; + forAllSystems = nixpkgs.lib.genAttrs supportedSystems; + nixpkgsFor = forAllSystems (system: import nixpkgs { inherit system; }); # nixpkgs instantiated for supported system types + in { + packages = forAllSystems (system: let + pkgs = nixpkgsFor.${system}; + in { + default = sisu.packages.${system}.default; + #vendorSha256 = "sha256-0Q00000000000000000000000000000000000000000="; + }); + apps = forAllSystems (system: { + default = { + type = "app"; + program = "${self.packages.${system}.default}/bin/sisu"; + }; + }); + devShells = forAllSystems (system: let + pkgs = nixpkgsFor.${system}; + shellHook = '' + export Date=`date "+%Y%m%d"` + ### set local values in .envrc-local (or modify here if you must) + # export sisuPROJ=~/grotto/repo/git.repo/projects/doc-reform/code/software/sisu + # export sisuDOC=~/grotto/repo/git.repo/projects/project-sisu/doc-reform-markup/sisu-markup-samples + # export sisu=/srv/www/sisu + # export sisu=/var/www/sqlite + # export sisu=/srv/www/sisu/sqlite + export sisu=$sisuPROJ/src + export sisu=$sisuPROJ/result/lib + export sisu=$sisuDOC/markup/pod + export sisu=$sisuOUT/$sisuVER + export sisu='http://localhost/sisu_search' + # export sisuSearchActionRemote='https://sisudoc.org/sisu_search' + export sisuCGIform='sisu_search' + export sisuSQLdb='sisusearch.db' + export PROG_VER_GIT="`git describe --long --tags | sed -e 's/^[ a-z_-]\+\([0-9.]\+\)/\1/;s/\([^-]*-g\)/r\1/;s/-/./g'`" + export sisuNixHelp="cat ./.env/nix-commands" + export sisuTest="nix shell .#default --print-build-logs --command sisu --very-verbose --epub --html --html-link-search --html-link-curate --curate --output=\"\$sisuOUT\" $sisuPOD/*" + export sisuHtml="sisu --very-verbose --html --html-link-search --html-link-curate --curate --sqlite-update --sqlite-db-filename=\"sisu.search.db\" --cgi-sqlite-search-filename=\"sisu_search\" --sqlite-db-path=\"\$sisuDBpath\" --output=\"\$sisuOUT\" $sisuPOD/*" + export sisuEpub="sisu --very-verbose --epub --output=\"\$sisuOUT\" $sisuPOD/*" + export sisuLatex="sisu --very-verbose --latex --output=\"\$sisuOUT\" $sisuPOD/*" + export sisuPdf="sisu --very-verbose --pdf --output=\"\$sisuOUT\" $sisuPOD/*" + export sisuSqliteCreateDB="sisu --very-verbose --sqlite-db-recreate --sqlite-db-path=\"$sisuDBpath\" --sqlite-db-filename=\"sisu.search.db\"" + export sisuSqlite="sisu --very-verbose --sqlite-discrete --sqlite-db-path=\"$sisuDBpath\" --sqlite-db-filename=\"sisu.search.db\" --output=\"\$sisuOUT\" $sisuPOD/*" + #export sisuSqlite="sisu --very-verbose --sqlite-update --sqlite-db-path=\"$sisuDBpath\" --sqlite-db-filename=\"sisu.search.db\" --output=\"\$sisuOUT\" $sisuPOD/*" + ''; + in + with pkgs; { + dsh = mkShell { + name = "sisu dev base shell"; + inherit shell; + inherit devEnv; + packages = [ + ruby + rubyPackages.rake + rubyPackages.sqlite3 + rubyPackages.thor + sqlite + jq + git + ]; + inherit shellHook; + }; + dsh-epub = mkShell { + name = "sisu dev shell for epub output"; + inherit shell; + inherit devEnv; + packages = [ + ruby + rubyPackages.rake + rubyPackages.sqlite3 + rubyPackages.thor + sqlite + graphicsmagick + zip + unzip + xz + libxml2 + html-tidy + xmlstarlet + epubcheck + ebook_tools + libxml2 + html-tidy + xmlstarlet + epubcheck + ebook_tools + epr + sigil + calibre #(suite includes: ebook-viewer) + foliate + validatePkgConfig + jq + git + ]; + inherit shellHook; + }; + dsh-html = mkShell { + name = "sisu dev shell for html output"; + inherit shell; + inherit devEnv; + packages = [ + ruby + rubyPackages.rake + rubyPackages.sqlite3 + rubyPackages.thor + sqlite + graphicsmagick + zip + unzip + xz + validatePkgConfig + jq + git + ]; + inherit shellHook; + }; + dsh-latex-pdf = mkShell { + name = "sisu dev shell for latex & pdf output"; + inherit shell; + inherit devEnv; + packages = [ + ruby + rubyPackages.rake + rubyPackages.sqlite3 + rubyPackages.thor + sqlite + graphicsmagick + zip + unzip + xz + source-sans-pro + source-serif-pro + source-code-pro + texliveFull # texliveTeTeX + noto-fonts + noto-fonts-cjk-sans + takao + validatePkgConfig + jq + git + ]; + inherit shellHook; + }; + dsh-sqlite = mkShell { + name = "sisu dev shell for sqlite3 output"; + inherit shell; + inherit devEnv; + packages = [ + ruby + rubyPackages.rake + rubyPackages.sqlite3 + rubyPackages.thor + sqlite + graphicsmagick + zip + unzip + xz + validatePkgConfig + jq + git + ]; + inherit shellHook; + }; + dsh-i18n = mkShell { + name = "sisu dev shell internationalization, po4a"; + inherit shell; + inherit devEnv; + packages = [ + ruby + rubyPackages.rake + rubyPackages.sqlite3 + rubyPackages.thor + sqlite + graphicsmagick + perl538Packages.Po4a + validatePkgConfig + jq + git + ]; + inherit shellHook; + }; + default = import ./shell.nix { inherit pkgs; }; + }); + }; +} diff --git a/org/config_env.org b/org/config_env.org new file mode 100644 index 0000000..63ff47e --- /dev/null +++ b/org/config_env.org @@ -0,0 +1,195 @@ +-*- mode: org -*- +#+TITLE: sisudoc spine (doc_reform) (project) environment +#+DESCRIPTION: env envrc used by make & nix +#+FILETAGS: :spine:build:tools: +#+AUTHOR: Ralph Amissah +#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] +#+COPYRIGHT: Copyright (C) 2015 - 2025 Ralph Amissah +#+LANGUAGE: en +#+STARTUP: content hideblocks hidestars noindent entitiespretty +#+PROPERTY: header-args :exports code +#+PROPERTY: header-args+ :noweb yes +#+PROPERTY: header-args+ :results no +#+PROPERTY: header-args+ :cache no +#+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes +#+OPTIONS: H:3 num:nil toc:t \n:t ::t |:t ^:nil -:t f:t *:t + +- [[./doc-reform.org][doc-reform.org]] [[../org/][org/]] +- [[./config_nix.org][config_nix.org]] +- [[./config_make.org][config_make.org]] + +* envrc +** nixDevEnv envrc :envrc: + +#+HEADER: :tangle ../nixDevEnv.sh +#+BEGIN_SRC shell +if [ -f .envrc ]; then + source_env_if_exists .envrc || source .envrc +fi +#+END_SRC + +* envrc :envrc: + +- https://github.com/nix-community/nix-direnv + - source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/${NixDirEnvVersion}/direnvrc" "sha256-0000000000000000000000000000000000000000000=" + +** .envrc + +#+NAME: envrc +#+HEADER: :tangle ../.envrc +#+BEGIN_SRC shell +if [ -f .envrc-git-init ]; then + source_env_if_exists .envrc-git-init || source .envrc-git-init +fi +if [ -f .envrc-local ]; then + source_env_if_exists .envrc-local || source .envrc-local +fi +if [ -f .envrc-nix ]; then + source_env_if_exists .envrc-nix || source .envrc-nix +fi +PATH_add result/bin +#nix flake update && nix flake check --show-trace && nix flake show +#+END_SRC + +** .envrc-nix + +- https://github.com/nix-community/nix-direnv + - source_url + - direnv fetchurl "https://raw.githubusercontent.com/nix-community/nix-direnv/<<direnv-version>>/direnvrc" "<<direnv-sha>>" + - ${NixDirEnvVersion} + +#+HEADER: :tangle ../.envrc-nix +#+BEGIN_SRC shell +NIX_ENFORCE_PURITY=1 +# - https://github.com/nix-community/nix-direnv +NixDirEnvVersion="3.0.6" +NixDirEnvSHA="sha256-RYcUJaRMf8oF5LznDrlCXbkOQrywm0HDv1VjYGaJGdM=" +if ! has nix_direnv_version || ! nix_direnv_version ${NixDirEnvVersion}; then + source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/${NixDirEnvVersion}/direnvrc" "${NixDirEnvSHA}" +fi +watch_file flake.lock +watch_file flake.nix +watch_file shell.nix +watch_file makefile +watch_file nixDevEnv.sh +watch_file .envrc-local +watch_file .envrc-nix +PATH_add result/bin +use flake . +echo " +• consider running: + ❯❯ nix flake show + ❯❯ nix flake update && nix flake check && nix flake show + +• for a dev shell (development environment): + + ❯❯ nix develop + ❯❯ nix develop '.#' --print-build-logs -c zsh + ❯❯ nix develop '.#dsh-latex-pdf' --print-build-logs -c zsh + +• to build project: + + ❯❯ nix build '.#' --print-build-logs + - (see nix other/additional build options): + ❯❯ nix flake show +" +#+END_SRC + +*** 3.0.6 + +#+NAME: direnv-version +#+BEGIN_SRC shell +3.0.6 +#+END_SRC + +#+NAME: direnv-sha +#+BEGIN_SRC shell +sha256-RYcUJaRMf8oF5LznDrlCXbkOQrywm0HDv1VjYGaJGdM= +#+END_SRC + +*** 3.0.4 + +#+BEGIN_SRC shell +3.0.4 +#+END_SRC + +#+BEGIN_SRC shell +sha256-DzlYZ33mWF/Gs8DDeyjr8mnVmQGx7ASYqA5WlxwvBG4= +#+END_SRC + +*** 3.0.0 + +#+BEGIN_SRC shell +3.0.0 +#+END_SRC + +#+BEGIN_SRC shell +sha256-21TMnI2xWX7HkSTjFFri2UaohXVj854mgvWapWrxRXg= +#+END_SRC + +*** 2.4.0 + +#+BEGIN_SRC shell +2.4.0 +#+END_SRC + +#+BEGIN_SRC shell +sha256-XQzUAvL6pysIJnRJyR7uVpmUSZfc7LSgWQwq/4mBr1U= +#+END_SRC + +#+BEGIN_SRC shell +2.3.0 +#+END_SRC + +#+BEGIN_SRC shell +sha256-Dmd+j63L84wuzgyjITIfSxSD57Tx7v51DMxVZOsiUD8= +#+END_SRC + +*** empty + +#+NAME: direnv-sha_ +#+BEGIN_SRC shell +sha256-0000000000000000000000000000000000000000000= +#+END_SRC + +#+BEGIN_SRC shell +- https://github.com/nix-community/nix-direnv +NixDirEnvSHA="sha256-0000000000000000000000000000000000000000000=" +direnv fetchurl https://raw.githubusercontent.com/nix-community/nix-direnv/${NixDirEnvVersion}/direnvrc +#+END_SRC + +** .envrc-git-init + +#+HEADER: :tangle ../.envrc-git-init +#+HEADER: :noweb yes +#+BEGIN_SRC shell +if [[ ! -d ./.git ]]; then + git init + git add . +fi +#+END_SRC + +** .envrc-local CHECK MODIFY + +- bespoke modify appropriately and generate if needed + +#+HEADER: :tangle ../.envrc-local_ +#+HEADER: :noweb yes +#+BEGIN_SRC shell +export SisuVER=$(git describe --long --tags | sed 's/^[ a-z_-]\+\([0-9.]\+\)/\1/;s/\([^-]*-g\)/r\1/;s/-/./g') +PATH_add result/bin +#export sisuBIN=result/bin +export sisuPROJ=~/grotto/repo/git.repo/projects/doc-reform/code/software/sisu +export sisuDOC=./data/samples/current +export sisuOUT=/srv/www/sisu +#export sisuOUT=/var/www +#export sisuOUTver=/tmp/sisu/$sisuVER/www +export sisuCGIbin=/var/www/cgi/cgi-bin +export sisuSearchActionLocal='http://localhost/sisu_search' +export sisuSearchActionRemote='https://sisudoc.org/sisu_search' +export sisuCGIform='sisu_search' +export sisuSQLdb='spine.search.db' +export sisuDBpath=/var/www/sqlite +#export sisuDBpath=/srv/www/sisu/sqlite +#+END_SRC diff --git a/org/config_git.org b/org/config_git.org new file mode 100644 index 0000000..3772967 --- /dev/null +++ b/org/config_git.org @@ -0,0 +1,87 @@ +-*- mode: org -*- +#+TITLE: configuration git +#+DESCRIPTION: documents - structuring, various output representations & search +#+FILETAGS: :spine:hub: +#+AUTHOR: Ralph Amissah +#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] +#+COPYRIGHT: Copyright (C) 2015 - 2023 Ralph Amissah +#+LANGUAGE: en +#+STARTUP: content hideblocks hidestars noindent entitiespretty +#+PROPERTY: header-args :exports code +#+PROPERTY: header-args+ :noweb yes +#+PROPERTY: header-args+ :results no +#+PROPERTY: header-args+ :cache no +#+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes +#+OPTIONS: H:3 num:nil toc:t \n:t ::t |:t ^:nil -:t f:t *:t + +- [[./doc-reform.org][doc-reform.org]] [[./][org/]] + +* spine +** .gitignore :gitignore: + +#+HEADER: :tangle "../.gitignore" +#+BEGIN_SRC sh +# git ls-files --others --exclude-from=.git/info/exclude +# git check-ignore -v flake.lock +# git clean -ix +# find . -name "*_" | xargs rm -rf +,* +!.gitignore +!.gitattributes +!nix/** +!*.nix +!flake.lock +!README +!COPYRIGHT +!CHANGELOG +!makefile +!configuration.txt +!conf/ +!conf/** +!*.json +!*.org +!org/ +!org/*.org +!*.rb +!*.sst +!*.ssm +!*.ssi +!**/*.sst +!**/*.ssm +!**/*.ssi +!data +!data/** +,*~ +,*_ +\#* +,*.\#* +,*.tmp +,*_tmp +,*.gem +,*.gemspec +,*_.rb +,*.rb_ +0???-*.patch +,*.gz +,*.xz +,*_ +.* +!.gitignore +!.gitattributes +!.envrc +!.envrc-local_ +!.envrc-nix +!.envrc-git-init +#+END_SRC + +** .gitattributes :gitattributes: + +#+HEADER: :tangle-NO "../.gitattributes" +#+BEGIN_SRC sh +/org export-ignore +.gitattributes export-ignore +#.gitignore export-ignore +tangle export-ignore +flake.lock export-ignore +#+END_SRC diff --git a/org/config_nix.org b/org/config_nix.org new file mode 100644 index 0000000..ddc0122 --- /dev/null +++ b/org/config_nix.org @@ -0,0 +1,482 @@ +-*- mode: org -*- +#+TITLE: configuration nix +#+DESCRIPTION: configuration nix +#+FILETAGS: :sisu:build:tools: +#+AUTHOR: Ralph Amissah +#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] +#+COPYRIGHT: Copyright (C) 2015 - 2025 Ralph Amissah +#+LANGUAGE: en +#+STARTUP: content hideblocks hidestars noindent entitiespretty +#+PROPERTY: header-args :exports code +#+PROPERTY: header-args+ :noweb yes +#+PROPERTY: header-args+ :results no +#+PROPERTY: header-args+ :cache no +#+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes +#+OPTIONS: H:3 num:nil toc:t \n:t ::t |:t ^:nil -:t f:t *:t + +* sisu +** flake.nix :flake: + +#+HEADER: :tangle ../flake.nix +#+HEADER: :noweb yes +#+BEGIN_SRC nix +{ + description = "sisu parser & document generator"; + inputs.nixpkgs.url = "<<nixpkgs_url>>"; + inputs.sisu.url = "git://git.sisudoc.org/software/sisu"; + #git clone git://git.sisudoc.org/software/sisu + inputs.sisu.inputs.nixpkgs.follows = "nixpkgs"; + inputs.sisu.flake = true; + outputs = { + self, + nixpkgs, + sisu + } @ inputs: let + version = "<<sisu_project_version>>"; + shell = ./shell.nix; # ./default.nix; + devEnv = ./.envrc; # ./.envrc; # ./shell.nix; # ./default.nix; + supportedSystems = [ "x86_64-linux" ]; # [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ]; + forAllSystems = nixpkgs.lib.genAttrs supportedSystems; + nixpkgsFor = forAllSystems (system: import nixpkgs { inherit system; }); # nixpkgs instantiated for supported system types + in { + packages = forAllSystems (system: let + pkgs = nixpkgsFor.${system}; + in { + default = sisu.packages.${system}.default; + #vendorSha256 = "sha256-0Q00000000000000000000000000000000000000000="; + }); + apps = forAllSystems (system: { + default = { + type = "app"; + program = "${self.packages.${system}.default}/bin/sisu"; + }; + }); + devShells = forAllSystems (system: let + pkgs = nixpkgsFor.${system}; + shellHook = '' + export Date=`date "+%Y%m%d"` + ### set local values in .envrc-local (or modify here if you must) + # export sisuPROJ=~/grotto/repo/git.repo/projects/doc-reform/code/software/sisu + # export sisuDOC=~/grotto/repo/git.repo/projects/project-sisu/doc-reform-markup/sisu-markup-samples + # export sisu=/srv/www/sisu + # export sisu=/var/www/sqlite + # export sisu=/srv/www/sisu/sqlite + export sisu=$sisuPROJ/src + export sisu=$sisuPROJ/result/lib + export sisu=$sisuDOC/markup/pod + export sisu=$sisuOUT/$sisuVER + export sisu='http://localhost/sisu_search' + # export sisuSearchActionRemote='https://sisudoc.org/sisu_search' + export sisuCGIform='sisu_search' + export sisuSQLdb='sisusearch.db' + export PROG_VER_GIT="`git describe --long --tags | sed -e 's/^[ a-z_-]\+\([0-9.]\+\)/\1/;s/\([^-]*-g\)/r\1/;s/-/./g'`" + export sisuNixHelp="cat ./.env/nix-commands" + export sisuTest="nix shell .#default --print-build-logs --command sisu --very-verbose --epub --html --html-link-search --html-link-curate --curate --output=\"\$sisuOUT\" $sisuPOD/*" + export sisuHtml="sisu --very-verbose --html --html-link-search --html-link-curate --curate --sqlite-update --sqlite-db-filename=\"sisu.search.db\" --cgi-sqlite-search-filename=\"sisu_search\" --sqlite-db-path=\"\$sisuDBpath\" --output=\"\$sisuOUT\" $sisuPOD/*" + export sisuEpub="sisu --very-verbose --epub --output=\"\$sisuOUT\" $sisuPOD/*" + export sisuLatex="sisu --very-verbose --latex --output=\"\$sisuOUT\" $sisuPOD/*" + export sisuPdf="sisu --very-verbose --pdf --output=\"\$sisuOUT\" $sisuPOD/*" + export sisuSqliteCreateDB="sisu --very-verbose --sqlite-db-recreate --sqlite-db-path=\"$sisuDBpath\" --sqlite-db-filename=\"sisu.search.db\"" + export sisuSqlite="sisu --very-verbose --sqlite-discrete --sqlite-db-path=\"$sisuDBpath\" --sqlite-db-filename=\"sisu.search.db\" --output=\"\$sisuOUT\" $sisuPOD/*" + #export sisuSqlite="sisu --very-verbose --sqlite-update --sqlite-db-path=\"$sisuDBpath\" --sqlite-db-filename=\"sisu.search.db\" --output=\"\$sisuOUT\" $sisuPOD/*" + ''; + in + with pkgs; { + dsh = mkShell { + name = "sisu dev base shell"; + inherit shell; + inherit devEnv; + packages = [ + <<ruby_current>> + sqlite + jq + git + ]; + inherit shellHook; + }; + dsh-epub = mkShell { + name = "sisu dev shell for epub output"; + inherit shell; + inherit devEnv; + packages = [ + <<ruby_current>> + sqlite + graphicsmagick + zip + unzip + xz + libxml2 + html-tidy + xmlstarlet + epubcheck + ebook_tools + libxml2 + html-tidy + xmlstarlet + epubcheck + ebook_tools + epr + sigil + calibre #(suite includes: ebook-viewer) + foliate + validatePkgConfig + jq + git + ]; + inherit shellHook; + }; + dsh-html = mkShell { + name = "sisu dev shell for html output"; + inherit shell; + inherit devEnv; + packages = [ + <<ruby_current>> + sqlite + graphicsmagick + zip + unzip + xz + validatePkgConfig + jq + git + ]; + inherit shellHook; + }; + dsh-latex-pdf = mkShell { + name = "sisu dev shell for latex & pdf output"; + inherit shell; + inherit devEnv; + packages = [ + <<ruby_current>> + sqlite + graphicsmagick + zip + unzip + xz + source-sans-pro + source-serif-pro + source-code-pro + texliveFull # texliveTeTeX + noto-fonts + noto-fonts-cjk-sans + takao + validatePkgConfig + jq + git + ]; + inherit shellHook; + }; + dsh-sqlite = mkShell { + name = "sisu dev shell for sqlite3 output"; + inherit shell; + inherit devEnv; + packages = [ + <<ruby_current>> + sqlite + graphicsmagick + zip + unzip + xz + validatePkgConfig + jq + git + ]; + inherit shellHook; + }; + dsh-i18n = mkShell { + name = "sisu dev shell internationalization, po4a"; + inherit shell; + inherit devEnv; + packages = [ + <<ruby_current>> + sqlite + graphicsmagick + perl538Packages.Po4a + validatePkgConfig + jq + git + ]; + inherit shellHook; + }; + default = import ./shell.nix { inherit pkgs; }; + }); + }; +} +#+END_SRC + +** shell.nix :shell: +*** tangle + +#+HEADER: :tangle ../shell.nix +#+HEADER: :tangle-mode (identity #o755) +#+HEADER: :shebang "#!/usr/bin/env -S nix-shell --pure\n#!nix-shell -i bash" +#+HEADER: :noweb yes +#+BEGIN_SRC nix +{ pkgs ? import <nixpkgs> {} }: +let +in pkgs.mkShell { + buildInputs = with pkgs; [ + nix + bundler + bundix + <<ruby_current>> + sqlite + graphicsmagick + unzip + xz + zip + #texliveFull # texliveTeTeX + ]; + shellHook = '' + ''; +} +#+END_SRC + +** shared parts +*** nixpkgs url + +#+NAME: nixpkgs_url +#+BEGIN_SRC nix +github:NixOS/nixpkgs/nixpkgs-unstable +#+END_SRC + +*** ruby versions +**** ruby package selection +***** ruby next + +#+NAME: ruby_next +#+BEGIN_SRC nix +ruby<<ruby_version_next>> +rubyPackages<<ruby_version_next>>.rake +rubyPackages<<ruby_version_next>>.sqlite3 +rubyPackages<<ruby_version_next>>.thor +#+END_SRC + +***** ruby current + +#+NAME: ruby_current +#+BEGIN_SRC nix +ruby<<ruby_version_current>> +rubyPackages<<ruby_version_current>>.rake +rubyPackages<<ruby_version_current>>.sqlite3 +rubyPackages<<ruby_version_current>>.thor +#+END_SRC + +***** ruby legacy + +#+NAME: ruby_legacy +#+BEGIN_SRC nix +ruby<<ruby_version_legacy>> +rubyPackages<<ruby_version_legacy>>.rake +rubyPackages<<ruby_version_legacy>>.sqlite3 +rubyPackages<<ruby_version_legacy>>.thor +#+END_SRC + +**** SET ruby nix package versions (current, next) +***** SET ruby version next + +#+NAME: ruby_version_next +#+BEGIN_SRC nix +_3_4 +#+END_SRC + +***** SET ruby version current + +- default to current nix version, which is ruby 3.3 but not provided as a fixed lable/tag, so leave blank and will + follow nix current nix + +#+NAME: ruby_version_current +#+BEGIN_SRC nix +#+END_SRC + +***** SET ruby version legacy + +#+NAME: ruby_version_legacy +#+BEGIN_SRC nix +_3_2 +#+END_SRC + +**** ruby fixed versions +***** ruby 3.4 - ruby_version_3_4 + +#+NAME: ruby_version_3_4 +#+BEGIN_SRC nix +ruby_3_4 +rubyPackages_3_4.rake +rubyPackages_3_4.sqlite3 +rubyPackages_3_4.thor +#+END_SRC + +***** ruby 3.2 - ruby_version_3_2 + +#+NAME: ruby_version_3_2 +#+BEGIN_SRC nix +ruby_3_2 +rubyPackages_3_2.rake +rubyPackages_3_2.sqlite3 +rubyPackages_3_2.thor +#+END_SRC + +*** packages.nix +*** set names SET + +#+NAME: sisu_search_db +#+BEGIN_SRC sh +sisu.search.db +#+END_SRC + +#+NAME: sisu_search_cgi +#+BEGIN_SRC sh +sisu_search +#+END_SRC + +*** nixpkgs_path SETUP +**** nixpkgs select path SELECT + +#+NAME: nixpkgs_path +#+HEADER: :noweb yes +#+BEGIN_SRC nix +<<nixpkgs_path_local>> +#+END_SRC + +**** nixpkgs path options + +- <nixpkgs> + +#+NAME: nixpkgs_path_default +#+HEADER: :noweb yes +#+BEGIN_SRC nix +<nixpkgs> +#+END_SRC + +#+NAME: nix_path_directory +#+HEADER: :noweb yes +#+BEGIN_SRC nix +nixpkgs=<<nixpkgs_path_local>> +#+END_SRC + +#+NAME: project_path_local_project +#+HEADER: :noweb yes +#+BEGIN_SRC nix +~/grotto/repo/git.repo/projects/project-sisu/sisu +#+END_SRC + +#+NAME: project_path_local_src +#+HEADER: :noweb yes +#+BEGIN_SRC nix +<<project_path_local_project>>/lib +#+END_SRC + +#+NAME: project_path_local_bin +#+HEADER: :noweb yes +#+BEGIN_SRC nix +<<project_path_local_project>>/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/repo/git.repo/projects/project-sisu/sisu-markup/sisu-markup-samples +#+END_SRC + +#+NAME: project_path_local_out +#+BEGIN_SRC nix +/srv/www/sisu +#+END_SRC + +#+NAME: project_path_local_out_ +#+HEADER: :noweb yes +#+BEGIN_SRC nix +/tmp/sisu/$SisuVER/www +#+END_SRC + +#+NAME: project_path_local_out_static +#+HEADER: :noweb yes +#+BEGIN_SRC nix +/srv/www/sisu +#+END_SRC + +#+NAME: project_path_local_out_static_ +#+BEGIN_SRC nix +/var/www +#+END_SRC + +#+NAME: project_path_sqlite +#+BEGIN_SRC nix +/var/www/sqlite +#+END_SRC + +#+BEGIN_SRC nix +github:nixos/nixpkgs +#+END_SRC + +#+HEADER: :noweb yes +#+BEGIN_SRC nix +<<nixpkgs_path_local>> +#+END_SRC + +- local path SET WARN + +#+NAME: nixpkgs_path_local +#+BEGIN_SRC nix +/srv/nix/nixpkgs +#+END_SRC + +** texlive xetex xelatex shell.nix +*** shell.nix :shell: + +#+BEGIN_SRC nix +#!/usr/bin/env -S nix-shell --pure +{ pkgs ? import <nixpkgs> {} }: +pkgs.mkShell { + buildInputs = with pkgs; [ + nixVersions.unstable #nixFlakes + nix-prefetch-git + validatePkgConfig + jq + git + fontconfig + source-sans-pro + source-serif-pro + source-code-pro + #(texlive.combine { + # inherit (texlive) scheme-tetex xetex fontspec footmisc multirow titlesec listings anysize float graphics helvetic times courier; + #}) + texliveFull # texliveTeTeX + dejavu_fonts dejavu_fontsEnv + liberation_ttf + evince + zathura + apvlv + ]; + #FONTCONFIG_FILE = makeFontsConf { fontDirectories = [ + # liberation_ttf + #]; + shellHook = '' + if [[ -f ".envrc" ]]; then + source .envrc + fi + #for texfile in *.tex; do xelatex -interaction=nonstopmode $texfile; done + #for texfile in *.tex; do xelatex -interaction=batchmode $texfile; done + ''; +} +#+END_SRC + +*** sisu version SET VERSION :version:set:project: + +#+NAME: sisu_project_version +#+BEGIN_SRC emacs-lisp +<<./sisu_version_info_and_doc_header_including_copyright_and_license.org:sisu_project_version()>> +#+END_SRC + +* nix :nix: + +#+NAME: nixpkgs_local +#+BEGIN_SRC sh +/srv/nix/nixpkgs +#+END_SRC diff --git a/org/sisu_version_info_and_doc_header_including_copyright_and_license.org b/org/sisu_version_info_and_doc_header_including_copyright_and_license.org new file mode 100644 index 0000000..0d66a58 --- /dev/null +++ b/org/sisu_version_info_and_doc_header_including_copyright_and_license.org @@ -0,0 +1,83 @@ +-*- mode: org -*- +#+TITLE: spine (doc_reform) object-centric document abstraction +#+DESCRIPTION: documents - structuring, publishing in multiple formats & search +#+FILETAGS: :spine:abstraction: +#+AUTHOR: Ralph Amissah +#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] +#+COPYRIGHT: Copyright (C) 2015 - 2023 Ralph Amissah +#+LANGUAGE: en +#+STARTUP: content hideblocks hidestars noindent entitiespretty +#+PROPERTY: header-args :noweb yes +#+PROPERTY: header-args+ :exports code +#+PROPERTY: header-args+ :results no +#+PROPERTY: header-args+ :cache no +#+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes +#+OPTIONS: H:3 num:nil toc:t \n:t ::t |:t ^:nil -:t f:t *:t + +- [[./doc-reform.org][doc-reform.org]] [[./][org/]] + +* sisu doc header including copyright & license + +#+NAME: sisu_doc_header_including_copyright_and_license +#+BEGIN_SRC org +encoding: utf-8 +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + sisu + + - Author: Ralph Amissah + <ralph.amissah@gmail.com> + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 2024, 2025 Ralph Amissah, + All Rights Reserved. + + - License: GPL 3 or later: + + SiSU, a framework for document structuring, publishing and search + + Copyright (C) Ralph Amissah + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the Free + Software Foundation, either version 3 of the License, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + more details. + + You should have received a copy of the GNU General Public License along with + this program. If not, see <http://www.gnu.org/licenses/>. + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + <http://www.fsf.org/licensing/licenses/gpl.html> + <http://www.gnu.org/licenses/gpl.html> + + <http://www.sisudoc.org/sisu/en/manifest/gpl.fsf.html> + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + <http://www.sisudoc.org> + + - Git + <https://git.sisudoc.org/projects/> + <https://git.sisudoc.org/projects/sisu> + <https://git.sisudoc.org/projects/sisu-markup> +#+END_SRC + +* sisu version info SET VERSION :version:set:project: + +#+NAME: sisu_project_version +#+BEGIN_SRC org +7.3.1 +#+END_SRC diff --git a/shell.nix b/shell.nix new file mode 100755 index 0000000..e2cc7b7 --- /dev/null +++ b/shell.nix @@ -0,0 +1,23 @@ +#!/usr/bin/env -S nix-shell --pure +#!nix-shell -i bash +{ pkgs ? import <nixpkgs> {} }: +let +in pkgs.mkShell { + buildInputs = with pkgs; [ + nix + bundler + bundix + ruby + rubyPackages.rake + rubyPackages.sqlite3 + rubyPackages.thor + sqlite + graphicsmagick + unzip + xz + zip + #texliveFull # texliveTeTeX + ]; + shellHook = '' + ''; +} |