diff options
-rw-r--r-- | .env/echo-nixNote | 4 | ||||
-rw-r--r-- | .gitignore | 4 | ||||
-rw-r--r-- | derivation.nix | 8 | ||||
-rw-r--r-- | flake.lock | 12 | ||||
-rw-r--r-- | flake.nix | 4 | ||||
-rw-r--r-- | makefile | 4 | ||||
-rw-r--r-- | markup/spine-bespoke-output/html/homepage.index.html | 671 | ||||
-rw-r--r-- | org/config_env.org | 2 | ||||
-rw-r--r-- | org/config_git.org | 4 | ||||
-rw-r--r-- | org/config_make.org | 15 | ||||
-rw-r--r-- | org/config_nix.org | 39 | ||||
-rw-r--r-- | org/sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org | 109 | ||||
-rw-r--r-- | org/spine-bespoke-output-homepage-html.org | 2 |
13 files changed, 163 insertions, 715 deletions
diff --git a/.env/echo-nixNote b/.env/echo-nixNote index 8b39e61..9115d60 100644 --- a/.env/echo-nixNote +++ b/.env/echo-nixNote @@ -112,7 +112,7 @@ $SpineBIN/spine --very-verbose --sqlite-db-create --output="$SpineOUTversioned" *** sqlite db (shared) - populate db #+BEGIN_SRC sh -$SpineBIN/spine --very-verbose --sqlite-update --output="$SpineOUTversioned" $SpineDOC/spine-markup-samples/markup/pod/* +$SpineBIN/spine --very-verbose --sqlite-update --output="$SpineOUTversioned" $SpineDOC/sisudoc-spine-markup-samples/markup/pod/* #+END_SRC *** sqlite db (shared) - drop db @@ -207,7 +207,7 @@ webserv: data_root_url: "https://sisudoc.org" data_root_path: "/srv/www/spine" images_root_part: "image" - cgi_search_form_title: "≅ SiSU Spine search" + cgi_search_form_title: "≅ SiSU Spine search ፨" cgi_http: "https" cgi_domain: "sisudoc.org" cgi_bin_url: "http://sisudoc.org/cgi-bin" @@ -59,8 +59,8 @@ !markup/pod/*/tools/po4a/po/*/*.sst.po !markup/pod/*/tools/po4a/po/*/*.ssm.po !markup/pod/*/tools/po4a/po/*/*.ssi.po -!markup/spine-bespoke-output/ -!markup/spine-bespoke-output/** +!markup/sisudoc-spine-bespoke-output/ +!markup/sisudoc-spine-bespoke-output/** .dub/** **/.dub/** tmp/** diff --git a/derivation.nix b/derivation.nix index b1fc601..d574ab7 100644 --- a/derivation.nix +++ b/derivation.nix @@ -73,12 +73,12 @@ with ( runHook preInstall mkdir -p $out/bin cp -r "${targetOf package}" $out/bin - #cp -rv "${targetOf package}" $out/spine-markup-samples/. - #cp -rv ./markup $out/spine-markup-samples/. + #cp -rv "${targetOf package}" $out/sisudoc-spine-markup-samples/. + #cp -rv ./markup $out/sisudoc-spine-markup-samples/. runHook postInstall ''; #postInstall= '' - # cp -rv ./markup $out/spine-markup-samples/. + # cp -rv ./markup $out/sisudoc-spine-markup-samples/. #''; meta = lib.optionalAttrs (package ? description) { @@ -93,7 +93,7 @@ with ( ); mkDubDerivation rec { pname = "spine"; - version = "0.14.0"; + version = "0.16.0"; #zipfile = "spine-0.12.0-tag-0.11.2.r107.gf89a107.tar.gz"; src = fetchTarball { url = "file:///home/ralph/grotto/repo/git.repo/projects/doc-reform/code/software/tarball/spine-0.12.0-tag-0.11.2.r107.gf89a107.tar.gz"; @@ -107,17 +107,17 @@ ] }, "locked": { - "lastModified": 1710099593, - "narHash": "sha256-OGHde1tqXPvbgbDzkektKgXLWa/wGDe1KkBdCGMow9U=", + "lastModified": 1712804898, + "narHash": "sha256-zVL2/R+FsSH+SXVgcXnx37zi7xTgBDL/GEWO1hBtoS8=", "ref": "refs/heads/main", - "rev": "2a874332f535d13ae0dbe3ced6cd5cd55ae74f93", - "revCount": 624, + "rev": "90873fabd7451e1dd8c4b39303906e19bdc481f7", + "revCount": 628, "type": "git", - "url": "file:///home/ralph/grotto/repo/git.repo/projects/doc-reform/code/software/spine" + "url": "file:///home/ralph/grotto/repo/git.repo/projects/doc-reform/code/software/sisudoc-spine" }, "original": { "type": "git", - "url": "file:///home/ralph/grotto/repo/git.repo/projects/doc-reform/code/software/spine" + "url": "file:///home/ralph/grotto/repo/git.repo/projects/doc-reform/code/software/sisudoc-spine" } }, "systems": { @@ -3,7 +3,7 @@ inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; inputs.flake-utils.url = "github:numtide/flake-utils"; inputs.spine = { - url = "git+file:///home/ralph/grotto/repo/git.repo/projects/doc-reform/code/software/spine"; + url = "git+file:///home/ralph/grotto/repo/git.repo/projects/doc-reform/code/software/sisudoc-spine"; inputs.nixpkgs.follows = "nixpkgs"; flake = true; }; @@ -19,7 +19,7 @@ spine, d-overlay, } @ inputs: let - version = "0.14.0"; + version = "0.16.0"; shell = ./shell.nix; devEnv = ./nixDevEnv.sh; supportedSystems = ["x86_64-linux"]; # [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ]; @@ -811,8 +811,8 @@ gitsnapshot: distclean tangle # find data/sisudir/media/text -name *.ss[tm] | sort version_tag: - echo "DRV=; git tag -f doc-reform-markup-samples_v$$\{DRV} -m\"doc-reform markup-samples spine-$$\{DRV}\" HEAD"; \ - echo "git tag -f doc-reform-markup-samples_v -m\"doc-reform markup-samples spine-\" HEAD"; + echo "DRV=0.16.0; git tag -f doc-reform-markup-samples_v$$\{DRV} -m\"doc-reform markup-samples spine-$$\{DRV}\" HEAD"; \ + echo "git tag -f doc-reform-markup-samples_v0.16.0 -m\"doc-reform markup-samples spine-0.16.0\" HEAD"; .PHONY : all build release \ distclean init \ diff --git a/markup/spine-bespoke-output/html/homepage.index.html b/markup/spine-bespoke-output/html/homepage.index.html deleted file mode 100644 index 01108df..0000000 --- a/markup/spine-bespoke-output/html/homepage.index.html +++ /dev/null @@ -1,671 +0,0 @@ -<!DOCTYPE html> -<html> -<head> - <meta http-equiv="Content-Type" content="text/plain; charset=UTF-8" /> - <title>≅ SiSU project sisudoc.org</title> - <link href="./css/html_seg.css" rel="stylesheet" /> -</head> - -<body> - -<h1>≅ - SiSU for documents - structuring, publishing in multiple -formats & search</h1> - -<h2>ℹ - A short description</h2> - -<p> - -SiSU is an object-centric, lightweight markup based, document structuring, -parser, publishing and search tool for document collections. It is command line -oriented and generates static content that is currently made searchable at an -object level through an SQL database. -Markup helps define (delineate) objects (primarily various types of text block) -which are tracked in sequence, substantive objects being numbered sequentially -by the program for object citation. - -</p> - -<h2>Δ - SiSU project source</h2> - -<p> - <a href="./projects"> - Δ SiSU projects repo (git) - </a><br> - - <a href="https://git.sisudoc.org"> - https://git.sisudoc.org - </a><br> -</p> - -<p> - <a href="./projects/sisu"> - Δ SiSU (scribe): document publishing (multiple formats + search) - </a><br> - - <a href="https://git.sisudoc.org/sisu"> - https://git.sisudoc.org/sisu - </a><br> -</p> - -<p> - <a href="./projects/sisu-markup"> - Δ SiSU markup samples in document pods for sisu (scribe) - </a><br> - - <a href="https://git.sisudoc.org/sisu-markup"> - https://git.sisudoc.org/sisu-markup - </a><br> -</p> - -<h2>⌘ - SiSU Spine markup sample output</h2> - -<p> -To give an idea of how this works here is a small collection of documents marked -up for and generated by the software. The curation of topics for a collection of -specialized related documents would benefit from a consistently applied bespoke -ontology or thesaurus.<br> The documents presented are documents that have been -released under various creative commons licences, in the public domain, or the -author's work, with the exception of one that is under GPL and the old abandoned -Debian live-manual -</p> - -<p> - <a href="./authors.html"> - ⌘ Authors - </a> - (software curated from provided document header metadata)<br> - - <a href="./authors.html"> - https://sisudoc.org/spine/authors.html - </a> -</p> - -<p> - <a href="./topics.html"> - ⌘ Topics - </a> - (software curated from provided document header metadata)<br> - - <a href="./topics.html"> - https://sisudoc.org/spine/topics.html - </a> -</p> - -<h2>፨ - SiSU Spine search</h2> -<p> - <a href="./spine_search"> - ፨ Search - </a> - (granular search of text objects)<br> - - <a href="https://sisudoc.org/spine_search"> - https://sisudoc.org/spine_search - </a> -</p> - -<div class="p"> - <!-- SiSU Spine Search --> - <form action="https://sisudoc.org/spine_search" target="_top" method="POST" accept-charset="UTF-8" id="search"> - <input type="text" name="sf" size="24" maxlength="255"> - <input type="hidden" name="db" value="spine.search.db"> - <input type="hidden" name="sml" value="1000"> - <input type="hidden" name="ec" value="on"> - <input type="hidden" name="url" value="on"> - <button type="submit" form="search"> ㏈ ፨ </button> - </form> - <!-- SiSU Spine Search --> -</div> - -<h2>ℹ - SiSU description</h2> - -<p> - -SiSU is an object-centric, lightweight markup based, document structuring, -parser, publishing and search tool for document collections. It is command line -oriented and generates static content that is currently made searchable at an -object level through an SQL database. -Markup helps define (delineate) objects (primarily various types of text block) -which are tracked in sequence, substantive objects being numbered sequentially -by the program for object citation. - -</p> -<p> - -<b>Summary.</b> An object is a unit of text within a document the most common -being a paragraph. Objects include individual headings, paragraphs, tables, -grouped text of various types such as code blocks and within poems, verse. -Objects have properties and attributes, of particular significance are headings -and their levels which provide document structure. A heading is an object with a -heirarchical value, that conceptually contains other objects (such as paragraphs -and possibly sub-headings etc.). Objects are tracked sequentially as they relate -to each other object within a document and substantive objects are numbered -sequentially, for citation purposes. Notably footnotes are not objects in -themselves, rather belonging to the object from which they are referenced, and -following their own numbering sequence. From heading objects (linked) tables of -content may be generated, and if additional metadata is provided book type -indexes can be generated that link back to the objects to which they relate. - -</p> -<p> - -<b>Unpacking this a bit further.</b> SiSU as a concept independent of its markup -language and the parsers that have been implemented, is based on the following -ideas: - -</p> -<p> - -<b>Object-Centricity. On objects:</b> In SiSU objects are the fundamental unit -from which larger constructs within a document and the document itself is built. -Breaking the document into objects provides interesting possibilities. - -</p> -<p> - -<b>Objects are fundamental building blocks:</b> Conceptually within SiSU, -objects are the building blocks or individual units of construction of a -document. Objects are usually blocks of text, the most common of which is the -paragraph, other examples include: individual headings, tables, grouped text of -various types which include code blocks and verse within poems, ... and as -mentioned an object could also, for example, be an image. Objects can be -formatted and placed as needed, providing flexibility and enabling multiple -types of representation across disperate formats and text recepticle, examples -including html, epub, latex (in the past mind-maps) and sql (populated at an -object level, and thereby providing search with that degree of granularity). - -</p> -<p> - -<b>Sequential. Objects have sequence:</b> That objects have sequence, goes -largely without saying, this follows authorship, it is part of the definition of -a document and how a document is written to convey meaning. - -</p> -<p> - -<b>Object Numbers & Citation. Substantive objects are numbered for citation -purposes:</b> Most objects within a document are meant by the author to be a -substantive part of the document. All such objects are numbered sequentially and -can be referenced thereby for citation purposes. -Object numbers provide the possibility of citing/locating text precisely across -different document formats and different languages (assuming the document has -been translated). For search it also makes it possible to identify precisely -where search criteria is met within in each document in the form of an index or -to view those precise text objects before deciding which documents are of -interest. Additionally the use of objects (and that objects are numbered) frees -the possibility to represent the document in the manner considered most suitable -to a specific document format wilst retaining its structural (and citation) -integrity). - -</p> -<p> -<b>Characteristics. Objects have properties and attributes:</b> Objects have -properties (and may have attributes). By properties I here refer to the -fundamental type of object, be it a heading, a paragraph, table, verse etc. -Attributes extend further and may include other things that one might wish to -associate with the object (examples not necessarily currently available/ -implemented in SiSU might include, formatting whether it is indented, or -metadata e.g. the associated language, or programming language for a code block) - -</p> -<p> - -<b>Document structure. Heading objects hold documents structure:</b> Heading -objects hold documents structure through their heading level property. The types -of document of interest to SiSU have structure that is captured by the heading -level property. Headings are individual objects like any other with the -additional properties that (i) they may be regarded as containing the other -objects following them sequentially (until the next heading of a similar or -higher level), heading objects may include other headings (sub-headings), and -(ii) that they have a heirarchy, the root "heading" being the document -title.<br>A complication was intruduced to provide greater flexibility across -document output formats. Headings have two sets of levels, the level under which -substantive text occurs, this would be a chapter or segment level, and above -that in the heirarchy if needed are document section separators, book, section, -part. - -</p> -<p> - -<b>Non-objects</b> Most but not all parts of a document are treated as objects. -Notably footnotes are not objects in themselves, rather belonging to the object -from which they are referenced, and following their own numbering sequence. From -heading objects (linked) tables of content may be generated, and if additional -metadata is provided book type indexes can be generated that link back to the -objects to which they relate. - -</p> -<p> - -<b>The Document Header.</b> SiSU document have headers which contain document -metadata, at a minimum the document title and author. In addition the document -header may contain markup instruction (e.g. how to identify headings within the -document, in which case those headings need not be found and treated -accordingly) - -</p> -<p> - -SiSU parsers have now been implemented in different programming paradigms and -languages a couple of times, the chosen markup has been left unchanged though -the document headers have been modified. - -This is the core of sisu, beyond which there is more but largely in the form of -choices based on ... existing output formats and of implementation detail, -deciding what attributes of objects, or within objects should be supported, -extending markup to allow for the generation of book indexes from if tagging -provided. - -</p> - -<h2>ℹ - SiSU Historical Descriptions</h2> - -<p> -Here is a description that has been used for the original sisu (scribe): -</p> - -<p> -With minimal preparation of a plain-text (UTF-8) file, using sisu markup syntax -in your text editor of choice, SiSU can generate various document formats, most -of which share a common object numbering system for locating content, including -plain text, HTML, XHTML, XML, EPUB, OpenDocument text (ODF:ODT), LaTeX, PDF -files, and populate an SQL database with objects (roughly paragraph-sized -chunks) so searches may be performed and matches returned with that degree of -granularity. Think of being able to finely match text in documents, using common -object numbers, across different output formats (same object identifier for pdf, -epub or html) and across languages if you have translations of the same document -(same object identifier across languages). For search, your criteria is met by -these documents at these locations within each document (equally relevant across -different output formats and languages). To be clear (if obvious) page numbers -provide none of this functionality. Object numbering is particularly suitable -for "published" works (finalized texts as opposed to works that are frequently -changed or updated) for which it provides a fixed means of reference of content. -Document outputs can also share provided semantic meta-data. -</p> - -<h3>...</h3> - -<p> -SiSU is less about document layout than it is about finding a way using little -markup to construct an abstract representation of a document that makes it -possible to produce multiple representations of it which may be rather different -from each other and used for different purposes, whether layout and publishing, -scrollworthy online viewing/ reading, or content search. To be able to take -advantage from its minimal preparation starting point of some of the strengths -of rather different established ways of representing documents for different -purposes, whether for search (relational database, or indexed flat files -generated for that purpose whether of complete documents, or say of files made -up of objects), online or other electronic viewing (e.g. html, xml, epub), or -paper publication (e.g. pdf via latex)... -</p> - -<p> -The solution arrived at is to extract structural information about the document -(document sections and headings within the document, available through pattern -matching or markup) and tracking objects (which primarily are defined units of -text such as paragraphs, headings, tables, verse, etc. but also images) which -can be reconstituted as the same documents with relevant object identification -numbers so text (objects) can be referenced across different output formats and -presentations. -</p> - -<p> -SiSU generates tables of content, and through its markup the means for metadata -to be provided for the generation of book style indexes for a document (that -again due to document object numbers are the same and equally relevant across -all document formats). Per document classifying/organizing metadata can also be -provided for automated document curation. -</p> - -<p> -... there have also been working experiments with sisu markup source, two way -conversion/representation of sisu document markup source in mind-mapping -(software kdissert was used for its strong focus on producing documents (now -apparently called semantik)); also po4a software for translators has been used -successfuly in its regular text mode for sisu markup in translation, (which is -more an attribute of po4a than of sisu, but) which is of interest due to -sisu/spine's object citation numbering being available across translations. Open -Document Format text (odf:odt), has been an output, but much more interesting -(and requested by potential users of sisu/spine) would be the ability of a word -processor to save text/a document in sisu markup, making alternative document -processing and presentations with sisu possible. -</p> - -<p> -also worth mention, in the relatively long history of this project, there has -been work done on extracting hash representations of each object, that could -hypothetically be shared to prove the content of a document without sharing its -content, or of identifying which objects change; these hashes can also be used -as unique identifiers in a database or as identifying filenames if individual -objects are saved. -</p> - -<p> -SiSU has evolved, the current implementation focuses on one primary use-case, -books and literary writings. However the concept on which it is based has wider -application. Here is a prevously posted souvenir from my encounter with an IBM -software evaluator in London June 2004 that came about through a chance -encounter with an IBM manager at a Linux Expo, who was curious about my interest -in Gnu/Linux with my legal background... on hearing that I also wrote software, -he suggested, maybe IBM should have a look at it. I was interested, the meeting -was set up... with an IBM, Software Innovations evaluator<br>His response after -the meeting: -</p> - -<p> -"Ralph<br>Good to meet with you today, I was very impressed with your -software.<br><i>[colleague's name (also posted to an IBM colleague)]</i> - in -summary - Ralph has built an application that runs on linux and takes ASCII -documents and pulls them apart in to the smallest constituent parts, storing -them as XML, PDF and HTML, the HTML are hyperlinked up so the document can be -browsed in its full form. the format and text data created is stored in a -database.<br>This has potential in any place that needs the power of full text -search whilst holding the structural concepts of the document i.e. legal, -pharma, education, research.. which ones we need to figure out, ..." -</p> - -<p> -Special interest was expressed in the search implications of SiSU. To -paraphrase, the company has document management systems dealing with hundreds of -thousands of texts, these tell you which documents match your search criteria, -but cannot inform you where within a text these matches were found without -opening the documents. This is achieved through defining document objects and -making them the building block of the document, trackable document objects (that -can be placed back in the context of the document or corpus of documents if part -of a collection). SiSU's early design was to - abstract documents to their -structure, and identified objects, numbered in a citable way (as pointed out -document object hashes can be of use for the purpose). -</p> - -<h2>ℹ - SiSU Spine</h2> - -<p> -SiSU Spine is the new generator for documents prepared in sisu markup, written -in D as opposed to the original sisu which was first shared in Ruby. -</p> - -<p> -Spine code has not as yet been made publicly available. -</p> - -<p> -As compared with the original sisu generator sisu spine: -</p> - -<p> -- Spine uses the same document markup for the document body, but uses yaml for -document headers (which contains document metadata and configuration details), -the original sisu has a bespoke markup for headers. -</p> - -<p> -- Spine (written in D) is considerably faster at generating native output than -sisu (written in Ruby), on last test at least 60 times faster (what took 1 -minute takes 1 second; 1 hour a minute :-) (admittedly some time ago, ruby has -been getting faster, hopefully this is not over over promising). -</p> - -<p> -- Spine produces fewer document outputs types than sisu (html, epub, (odt, -latex) and populates sql db for search) -</p> - -<p> -- As regards non-native output, so far Spine has greater separation of what it -does and largely leaves calling the external program to the user, e.g.: latex -output is a native output in the sense that it is generated directly by spine, -but the pdfs that can be produced from these are produced through use of an -external program xelatex, which produces fine output but is a very much slower -process. -</p> - -<p> -- (where both produce the same output type, generally) Spine generally produces -more up to date output format representations. -</p> - -<hr> -<p class="tiny"><i> -ralph.amissah www since 1993 ;-) -</i></p> - -<hr> -<h2>Some external links of interest</h2> - -<h3>Development</h3> -<h4>Programming</h4> -<p> - [ <a href="https://dlang.org/"> - D - (dlang) general purpose, multi-paradigm, fast C like programming language - </a> ] - [ <a href="https://code.dlang.org/"> - dub - package registry - </a> ] - [ <a href="https://forum.dlang.org/group/general"> - community discussion (mail list frontend) - </a> ]<br> -</p> -<p> - [ <a href="https://www.ruby-lang.org/en/"> - Ruby - </a> ] - [ <a href="https://rubygems.org/"> - Gems - </a> ]<br> - [ <a href="https://crystal-lang.org/"> - Crystal - </a> ]<br> -</p> -<h4>SQL DB</h4> -<p> - [ <a href="https://sqlite.org/index.html"> - Sqlite - an sql database engine - </a> ]<br> - [ <a href="https://www.postgresql.org/"> - PostgreSQL - </a> ]<br> -</p> -<h4>Markup</h4> -<p> - [ <a href="https://www.w3.org/html/"> - HTML - </a> ] - [ <a href="https://html.spec.whatwg.org/multipage/"> - multipage current spec - </a> ] - [ <a href="https://dom.spec.whatwg.org/"> - dom current spec - </a> ]<br> - [ <a href="https://www.w3.org/publishing/epub32/"> - Epub - </a> ]<br> - [ <a href="https://www.w3.org/Style/CSS/"> - css - cascading style sheets - </a> ]<br> -</p> -<p> - [ <a href="https://opendocumentformat.org/"> - OpenDocument Format - </a> ]<br> -</p> -<p> - [ <a href="https://www.latex-project.org/get/"> - LaTeX - </a> ]<br> -</p> -<p> - [ <a href="https://po4a.org/index.php.en"> - po4a - maintain translations - </a> ]<br> -</p> -<h4>Operating System Distributions</h4> -<p> - [ <a href="https://nixos.org/"> - NixOS - linux based operating system built on the Nix declarative, reproducible and reliable, build system - </a> ] - [ <a href="https://github.com/NixOS/nixpkgs"> - nixpkgs (packages @ github) - </a> ] - [ <a href="https://search.nixos.org/packages?channel=unstable&from=0&size=100&sort=relevance&query="> - package search - </a> ] - [ <a href="https://discourse.nixos.org/"> - community discussion (discourse) - </a> ]<br> - Gnu [ <a href="https://guix.gnu.org/"> - Guix - </a> ] - [ <a href="https://guix.gnu.org/en/packages/"> - packages - </a> ] - <br> -</p> -<p> - [ <a href="https://debian.org/"> - Debian - the universal operating system distribution - </a> ]<br> - [ <a href="https://www.devuan.org/"> - Devuan - </a> ]<br> -</p> -<p> - [ <a href="https://archlinux.org/"> - Arch Linux - </a> ] - [ <a href="https://wiki.archlinux.org/"> - Arch Wiki - </a> ]<br> -</p> - -<hr> - -<h2>Extraneous (external) links of personal interest</h2> - -<h4>Workspace</h4> - -<h5>Shell</h5> -<p> - [ <a href="https://www.zsh.org/"> - zsh - </a> ]<br> - [ <a href="https://starship.rs/"> - starship - customizable cross-shell prompt - </a> ]<br> -</p> -<h5>Terminal</h5> -<p> - [ <a href="https://gnunn1.github.io/tilix-web/"> - tilix - </a> ] - [ <a href="https://alacritty.org/"> - alacritty - </a> ]<br> -</p> -<h5>Terminal Multiplexer</h5> -<p> - [ <a href="https://github.com/tmux/tmux"> - tmux (github) - </a> ] - [ <a href="https://www.gnu.org/software/screen/"> - screen - </a> ]<br> -</p> -<h5>Window Manager</h5> -<p> - [ <a href="https://i3wm.org/"> - i3wm - </a> ] - [ <a href="https://swaywm.org/"> - sway - </a> ]<br> -</p> -<h5>Text Editors</h5> -<p> - Gnu Emacs - [ <a href="https://github.com/hlissner/doom-emacs"> - Doom Emacs (github) - </a> ] - [ <a href="https://orgmode.org/"> - Org-Mode - your life in plain text & literate programming - </a> ] - [ <a href="https://github.com/emacs-evil/evil"> - Evil-Mode - </a> ]<br> -</p> -<p> - [ <a href="https://www.vim.org/"> - Vim - </a> ] - [ <a href="https://neovim.io/"> - NeoVim - </a> ]<br> -</p> -<h5>Source Control Manager</h5> -<p> - [ <a href="https://git-scm.com/"> - Git - </a> ]<br> -</p> -<h5>Browsers</h5> -<p> - [ <a href="https://vieb.dev/"> - vieb - </a> ] - [ <a href="https://fanglingsu.github.io/vimb/"> - vimb - </a> ]<br> - [ <a href="https://brave.com/"> - brave - </a> ]<br> -</p> - -<h3>Search</h3> -<p> - [ <a href="https://duckduckgo.com/"> - DuckDuckGo - </a> ] - [ <a href="https://yubnub.org/"> - YubNub - </a> ]<br> -</p> - -<h3>eMail</h3> -<p> - [ <a href="https://www.migadu.com/"> - Migadu - </a> ]<br> -</p> -<p> - [ <a href="https://notmuchmail.org/"> - NotmuchMail - </a> ]<br> -</p> - -<h3>Forges</h3> -<p> - [ <a href="https://sourcehut.org/"> - Sourcehut - </a> ]<br> -</p> -<p> - [ <a href="https://codeberg.org/"> - CodeBerg - </a> ]<br> -</p> -<p> - [ <a href="https://github.com"> - GitHub - </a> ] - [ <a href="https://gitlab.com"> - GitLab - </a> ]<br> -</p> - -<h3>Software Archives</h3> -<p> - [ <a href="https://www.softwareheritage.org/"> - Software Heritage - the universal software archive - </a> ]<br> -</p> - -<hr> -<p class="tiny"><i> -ralph.amissah www since 1993 ;-) -</i></p> - -</body> -</html> diff --git a/org/config_env.org b/org/config_env.org index ec1e5c4..78bad4a 100644 --- a/org/config_env.org +++ b/org/config_env.org @@ -1,5 +1,5 @@ -*- mode: org -*- -#+TITLE: spine (doc_reform) (project) environment +#+TITLE: sisudoc spine (doc_reform) (project) environment #+DESCRIPTION: env envrc used by make & nix #+FILETAGS: :spine:build:tools: #+AUTHOR: Ralph Amissah diff --git a/org/config_git.org b/org/config_git.org index b3c54a5..1279762 100644 --- a/org/config_git.org +++ b/org/config_git.org @@ -81,8 +81,8 @@ !markup/pod/*/tools/po4a/po/*/*.sst.po !markup/pod/*/tools/po4a/po/*/*.ssm.po !markup/pod/*/tools/po4a/po/*/*.ssi.po -!markup/spine-bespoke-output/ -!markup/spine-bespoke-output/** +!markup/sisudoc-spine-bespoke-output/ +!markup/sisudoc-spine-bespoke-output/** .dub/** ,**/.dub/** tmp/** diff --git a/org/config_make.org b/org/config_make.org index 43a5362..d68585c 100644 --- a/org/config_make.org +++ b/org/config_make.org @@ -1,5 +1,5 @@ -*- mode: org -*- -#+TITLE: spine (doc_reform) (project) makefile +#+TITLE: sisudoc spine (doc_reform) (project) makefile #+DESCRIPTION: makefile for spine #+FILETAGS: :spine:build:tools: #+AUTHOR: Ralph Amissah @@ -836,10 +836,19 @@ gitsnapshot: distclean tangle # find data/sisudir/media/text -name *.ss[tm] | sort version_tag: - echo "DRV=<<spine_version_set>>; git tag -f doc-reform-markup-samples_v$$\{DRV} -m\"doc-reform markup-samples spine-$$\{DRV}\" HEAD"; \ - echo "git tag -f doc-reform-markup-samples_v<<spine_version_set>> -m\"doc-reform markup-samples spine-<<spine_version_set>>\" HEAD"; + echo "DRV=<<spine_version>>; git tag -f doc-reform-markup-samples_v$$\{DRV} -m\"doc-reform markup-samples spine-$$\{DRV}\" HEAD"; \ + echo "git tag -f doc-reform-markup-samples_v<<spine_version>> -m\"doc-reform markup-samples spine-<<spine_version>>\" HEAD"; .PHONY : all build release \ distclean init \ tangle gitsnapshot #+END_SRC + +** version info SET VERSION :version:set:project: +*** spine project VERSION :version:set:project: + +#+NAME: spine_version +#+HEADER: :noweb yes +#+BEGIN_SRC emacs-lisp +<<./sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org:spine_project_version()>> +#+END_SRC diff --git a/org/config_nix.org b/org/config_nix.org index 0b27d4e..80c905d 100644 --- a/org/config_nix.org +++ b/org/config_nix.org @@ -1,6 +1,6 @@ -*- mode: org -*- -#+TITLE: configuration nix -#+DESCRIPTION: makefile for spine +#+TITLE: sisudoc spine (doc_reform) (project) configuration nix +#+DESCRIPTION: configuration nix #+FILETAGS: :spine:build:tools: #+AUTHOR: Ralph Amissah #+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] @@ -28,7 +28,7 @@ inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; inputs.flake-utils.url = "github:numtide/flake-utils"; inputs.spine = { - url = "git+file:///home/ralph/grotto/repo/git.repo/projects/doc-reform/code/software/spine"; + url = "git+file:///home/ralph/grotto/repo/git.repo/projects/doc-reform/code/software/sisudoc-spine"; inputs.nixpkgs.follows = "nixpkgs"; flake = true; }; @@ -44,7 +44,7 @@ spine, d-overlay, } @ inputs: let - version = "<<spine_version_set>>"; + version = "<<spine_version>>"; shell = ./shell.nix; devEnv = ./nixDevEnv.sh; supportedSystems = ["x86_64-linux"]; # [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ]; @@ -409,12 +409,12 @@ with ( runHook preInstall mkdir -p $out/bin cp -r "${targetOf package}" $out/bin - #cp -rv "${targetOf package}" $out/spine-markup-samples/. - #cp -rv ./markup $out/spine-markup-samples/. + #cp -rv "${targetOf package}" $out/sisudoc-spine-markup-samples/. + #cp -rv ./markup $out/sisudoc-spine-markup-samples/. runHook postInstall ''; #postInstall= '' - # cp -rv ./markup $out/spine-markup-samples/. + # cp -rv ./markup $out/sisudoc-spine-markup-samples/. #''; meta = lib.optionalAttrs (package ? description) { @@ -429,7 +429,7 @@ with ( ); mkDubDerivation rec { pname = "spine"; - version = "<<spine_version_set>>"; + version = "<<spine_version>>"; #zipfile = "spine-0.12.0-tag-0.11.2.r107.gf89a107.tar.gz"; src = fetchTarball { url = "<<spine_tarball_path_url>>"; @@ -452,14 +452,6 @@ with ( #src = ./.; -** variables used SET -*** spine version SET VERSION :version:set:project: - -#+NAME: spine_version_set -#+BEGIN_SRC sh -0.14.0 -#+END_SRC - #+NAME: project_path_local_out_static #+HEADER: :noweb yes #+BEGIN_SRC nix @@ -481,7 +473,7 @@ file://<<spine_tarball_path>>/<<spine_tarball_filename>> #+NAME: spine_git_file_path #+HEADER: :noweb yes #+BEGIN_SRC nix -/home/ralph/grotto/repo/git.repo/projects/doc-reform/code/software/spine +/home/ralph/grotto/repo/git.repo/projects/doc-reform/code/software/sisudoc-spine #+END_SRC #+NAME: nixpkgs_local @@ -690,7 +682,7 @@ $SpineBIN/spine --very-verbose --sqlite-db-create --output="$SpineOUTversioned" ,*** sqlite db (shared) - populate db ,#+BEGIN_SRC sh -$SpineBIN/spine --very-verbose --sqlite-update --output="$SpineOUTversioned" $SpineDOC/spine-markup-samples/markup/pod/* +$SpineBIN/spine --very-verbose --sqlite-update --output="$SpineOUTversioned" $SpineDOC/sisudoc-spine-markup-samples/markup/pod/* ,#+END_SRC ,*** sqlite db (shared) - drop db @@ -785,7 +777,7 @@ webserv: data_root_url: "https://sisudoc.org" data_root_path: "/srv/www/spine" images_root_part: "image" - cgi_search_form_title: "≅ SiSU Spine search" + cgi_search_form_title: "≅ SiSU Spine search ፨" cgi_http: "https" cgi_domain: "sisudoc.org" cgi_bin_url: "http://sisudoc.org/cgi-bin" @@ -816,3 +808,12 @@ ls $SpineOutstatic/latex/*.tex #echo "emacs nixNote_.org" #echo "cat nixNote_.org" #+END_SRC + +** version info SET VERSION :version:set:project: +*** spine project VERSION :version:set:project: + +#+NAME: spine_version +#+HEADER: :noweb yes +#+BEGIN_SRC emacs-lisp +<<./sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org:spine_project_version()>> +#+END_SRC diff --git a/org/sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org b/org/sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org new file mode 100644 index 0000000..14cccaf --- /dev/null +++ b/org/sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org @@ -0,0 +1,109 @@ +-*- mode: org -*- +#+TITLE: sisudoc 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 - 2024 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/]] + +* spine doc header including copyright & license + +#+NAME: spine_doc_header_including_copyright_and_license +#+BEGIN_SRC org +/+ +- Name: SisuDoc Spine, Doc Reform [a part of] + - Description: documents, structuring, processing, publishing, search + - static content generator + + - Author: Ralph Amissah + [ralph.amissah@gmail.com] + + - Copyright: (C) 2015 - 2024 Ralph Amissah, All Rights Reserved. + + - License: AGPL 3 or later: + + Spine (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 AFERO 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 [https://www.gnu.org/licenses/]. + + If you have Internet connection, the latest version of the AGPL should be + available at these locations: + [https://www.fsf.org/licensing/licenses/agpl.html] + [https://www.gnu.org/licenses/agpl.html] + + - Spine (by Doc Reform, related to SiSU) uses standard: + - docReform markup syntax + - standard SiSU markup syntax with modified headers and minor modifications + - docReform object numbering + - standard SiSU object citation numbering & system + + - Homepages: + [https://www.sisudoc.org] + [https://www.doc-reform.org] + + - Git + [https://git.sisudoc.org/] + ++/ +#+END_SRC + +* spine version info SET VERSION +** version in full + +#+NAME: spine_project_version +#+BEGIN_SRC org +<<spine_project_version_part_major>>.<<spine_project_version_part_minor>>.<<spine_project_version_part_patch>> +#+END_SRC + +** version parts (major, minor, patch) + +#+NAME: spine_project_version_major_minor_patch +#+BEGIN_SRC org +<<spine_project_version_part_major>>, <<spine_project_version_part_minor>>, <<spine_project_version_part_patch>> +#+END_SRC + +*** major + +#+NAME: spine_project_version_part_major +#+BEGIN_SRC org +0 +#+END_SRC + +*** minor + +#+NAME: spine_project_version_part_minor +#+BEGIN_SRC org +16 +#+END_SRC + +*** patch + +#+NAME: spine_project_version_part_patch +#+BEGIN_SRC org +0 +#+END_SRC diff --git a/org/spine-bespoke-output-homepage-html.org b/org/spine-bespoke-output-homepage-html.org index a65e6c0..35c916b 100644 --- a/org/spine-bespoke-output-homepage-html.org +++ b/org/spine-bespoke-output-homepage-html.org @@ -17,7 +17,7 @@ * homepage index.html -#+HEADER: :tangle "../markup/spine-bespoke-output/html/homepage.index.html" +#+HEADER: :tangle "../markup/sisudoc-spine-bespoke-output/html/homepage.index.html" #+BEGIN_SRC html <!DOCTYPE html> <html> |