From c959735f21b3ddac6932bc9e8862d77a4421f133 Mon Sep 17 00:00:00 2001
From: Ralph Amissah
Date: Sat, 12 Sep 2026 22:42:06 -0400
Subject: epub, html, db: use of elements & attributes, fix
fixed, four things used that XHTML does not have.
(search db sisudoc-spine-search-cgi results share styling)
(assisted by Claude-Code)
---
org/out_sqlite.org | 25 ++-
org/out_xmls.org | 26 +--
org/out_xmls_css.org | 200 ++++++++++-----------
..._doc_header_including_copyright_and_license.org | 9 +-
4 files changed, 138 insertions(+), 122 deletions(-)
(limited to 'org')
diff --git a/org/out_sqlite.org b/org/out_sqlite.org
index df9adbb..2895b72 100644
--- a/org/out_sqlite.org
+++ b/org/out_sqlite.org
@@ -81,10 +81,11 @@ long _metadata_tid_lastrowid;
#+NAME: sqlite_schema
#+HEADER: :noweb yes
#+BEGIN_SRC d
-/+ ↓ sqlite db schema version, stamped into the db as PRAGMA user_version +/
-/+ bump whenever the table or index definitions in this module change, and +/
-/+ bump the matching expectation in sisudoc-spine-search-cgi +/
-enum sqlite_db_schema_version = 1;
+/+ ↓ sqlite db schema version, stamped into the db as PRAGMA user_version
+ bump whenever the table or index definitions in this module change, and
+ bump the matching expectation in sisudoc-spine-search-cgi
+ +/
+enum sqlite_db_schema_version = <>;
/+ ↓ tally of failed sqlite statements, shared: sqlite output may run in parallel +/
private shared int _sqlite_failure_tally = 0;
/+ ↓ schema version mismatch is reported once per run, not once per document +/
@@ -725,7 +726,7 @@ string munge_html(M,O)(
.replaceAll(rgx.inline_subscript, "$1")
.replaceAll(rgx.inline_strike, "$1")
.replaceAll(rgx.inline_insert, "$1")
- .replaceAll(rgx.inline_mono, "$1")
+ .replaceAll(rgx.inline_mono, "$1")
.replaceAll(rgx.inline_cite, "$1");
return _txt;
}
@@ -789,7 +790,7 @@ string html_font_face(string _txt){
.replaceAll(rgx.inline_subscript, "$1")
.replaceAll(rgx.inline_strike, "$1")
.replaceAll(rgx.inline_insert, "$1")
- .replaceAll(rgx.inline_mono, "$1")
+ .replaceAll(rgx.inline_mono, "$1")
.replaceAll(rgx.inline_cite, "$1");
return _txt;
}
@@ -878,7 +879,7 @@ string inline_images(M,O)(
rgx.inline_image,
("$1
$6"));
+ ~ "$3\" width=\"$4\" height=\"$5\" /> $6"));
}
return _txt;
}
@@ -1124,7 +1125,7 @@ string html_para(M,O)(
string _txt = munge_html(doc_matters, obj);
_txt = (obj.attrib.bullet) ? ("● " ~ _txt) : _txt;
_txt = inline_markup(doc_matters, obj, _txt);
- string o = format(q"┃
+ string o = format(q"┃
%s
┃",
obj.metainfo.is_a,
@@ -2225,6 +2226,14 @@ VALUES (
#+END_SRC
* org includes
+
+* sqlite collection search db schema version
+
+#+NAME: sqlite_collection_search_db_schema_version
+#+BEGIN_SRC org
+<<./sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org:sqlite_collection_search_db_schema_version()>>
+#+END_SRC
+
** project version
#+NAME: spine_version
diff --git a/org/out_xmls.org b/org/out_xmls.org
index 165cea2..dac590e 100644
--- a/org/out_xmls.org
+++ b/org/out_xmls.org
@@ -293,7 +293,7 @@ string font_face(string _txt) {
.replaceAll(rgx.inline_subscript, ("$1"))
.replaceAll(rgx.inline_strike, ("$1"))
.replaceAll(rgx.inline_insert, ("$1"))
- .replaceAll(rgx.inline_mono, ("$1"))
+ .replaceAll(rgx.inline_mono, ("$1"))
.replaceAll(rgx.inline_cite, ("$1"));
return _txt;
}
@@ -696,7 +696,7 @@ string inline_images(O,M)(
.replaceAll(rgx.inline_image,
("$1
$6"))
+ ~ "$3\" width=\"$4\" height=\"$5\" /> $6"))
.replaceAll(
rgx.inline_link_empty,
("$1"));
@@ -817,14 +817,14 @@ string inline_notes_scroll(O,M)(
_txt = font_face(_txt);
_txt = _txt.replaceAll(
rgx.inline_notes_al_regular_number_note,
- (" $1 ")
+ (" $1 ")
);
}
if (obj.has.inline_notes_star) {
_txt = font_face(_txt);
_txt = _txt.replaceAll(
rgx.inline_notes_al_special_char_note,
- (" $1 ")
+ (" $1 ")
);
}
debug(markup_endnotes) {
@@ -861,18 +861,18 @@ Tuple!(string, string[]) inline_notes_seg(O,M)(
"",
- " ",
m.captures[1],
- ".",
+ ".",
m.captures[2],
"
"
);
}
_txt = _txt.replaceAll(
rgx.inline_notes_al_special_char_note,
- (" $1 ")
+ (" $1 ")
);
}
if (obj.has.inline_notes_reg) {
@@ -885,18 +885,18 @@ Tuple!(string, string[]) inline_notes_seg(O,M)(
"",
- " ",
m.captures[1],
- ".",
+ ".",
m.captures[2],
""
);
}
_txt = _txt.replaceAll(
rgx.inline_notes_al_regular_number_note,
- (" $1 ")
+ (" $1 ")
);
} else if (_txt.match(rgx.inline_notes_al_regular_number_note)) {
debug(markup) {
@@ -978,7 +978,7 @@ string lev4_heading_subtoc(O,M)(
text = font_face(text);
auto link = m.captures[3].to!string;
lev4_subtoc ~= subtoc.replaceFirst(rgx.inline_link_subtoc,
- format(q"┃
+ format(q"┃
۰ %s
┃",
@@ -1227,7 +1227,7 @@ string para(O,M)(
if (!(obj.metainfo.identifier.empty)) {
o = format(q"┃ ┃",
@@ -1246,7 +1246,7 @@ string para(O,M)(
);
} else {
o = format(q"┃ ┃",
diff --git a/org/out_xmls_css.org b/org/out_xmls_css.org
index 3a55def..4e17d1a 100644
--- a/org/out_xmls_css.org
+++ b/org/out_xmls_css.org
@@ -2103,403 +2103,403 @@ p.i7 { padding-left : 7em; }
p.i8 { padding-left : 8em; }
p.i9 { padding-left : 9em; }
/* hanging indent */
-p[indent="h0i0"] {
+p[data-indent="h0i0"] {
padding-left : 0em;
text-indent : 0em;
}
-p[indent="h0i1"] {
+p[data-indent="h0i1"] {
padding-left : 1em;
text-indent : -1em;
}
-p[indent="h0i2"] {
+p[data-indent="h0i2"] {
padding-left : 2em;
text-indent : -2em;
}
-p[indent="h0i3"] {
+p[data-indent="h0i3"] {
padding-left : 3em;
text-indent : -3em;
}
-p[indent="h0i4"] {
+p[data-indent="h0i4"] {
padding-left : 4em;
text-indent : -4em;
}
-p[indent="h0i5"] {
+p[data-indent="h0i5"] {
padding-left : 5em;
text-indent : -5em;
}
-p[indent="h0i6"] {
+p[data-indent="h0i6"] {
padding-left : 6em;
text-indent : -6em;
}
-p[indent="h0i7"] {
+p[data-indent="h0i7"] {
padding-left : 7em;
text-indent : -7em;
}
-p[indent="h0i8"] {
+p[data-indent="h0i8"] {
padding-left : 8em;
text-indent : -8em;
}
-p[indent="h0i9"] {
+p[data-indent="h0i9"] {
padding-left : 9em;
text-indent : -9em;
}
-p[indent="h1i0"] {
+p[data-indent="h1i0"] {
padding-left : 0em;
text-indent : 1em;
}
-p[indent="h1i1"] {
+p[data-indent="h1i1"] {
padding-left : 1em;
text-indent : 0em;
}
-p[indent="h1i2"] {
+p[data-indent="h1i2"] {
padding-left : 2em;
text-indent : -1em;
}
-p[indent="h1i3"] {
+p[data-indent="h1i3"] {
padding-left : 3em;
text-indent : -2em;
}
-p[indent="h1i4"] {
+p[data-indent="h1i4"] {
padding-left : 4em;
text-indent : -3em;
}
-p[indent="h1i5"] {
+p[data-indent="h1i5"] {
padding-left : 5em;
text-indent : -4em;
}
-p[indent="h1i6"] {
+p[data-indent="h1i6"] {
padding-left : 6em;
text-indent : -5em;
}
-p[indent="h1i7"] {
+p[data-indent="h1i7"] {
padding-left : 7em;
text-indent : -6em;
}
-p[indent="h1i8"] {
+p[data-indent="h1i8"] {
padding-left : 8em;
text-indent : -7em;
}
-p[indent="h1i9"] {
+p[data-indent="h1i9"] {
padding-left : 9em;
text-indent : -8em;
}
-p[indent="h2i0"] {
+p[data-indent="h2i0"] {
padding-left : 0em;
text-indent : 2em;
}
-p[indent="h2i1"] {
+p[data-indent="h2i1"] {
padding-left : 1em;
text-indent : 1em;
}
-p[indent="h2i2"] {
+p[data-indent="h2i2"] {
padding-left : 2em;
text-indent : 0em;
}
-p[indent="h2i3"] {
+p[data-indent="h2i3"] {
padding-left : 3em;
text-indent : -1em;
}
-p[indent="h2i4"] {
+p[data-indent="h2i4"] {
padding-left : 4em;
text-indent : -2em;
}
-p[indent="h2i5"] {
+p[data-indent="h2i5"] {
padding-left : 5em;
text-indent : -3em;
}
-p[indent="h2i6"] {
+p[data-indent="h2i6"] {
padding-left : 6em;
text-indent : -4em;
}
-p[indent="h2i7"] {
+p[data-indent="h2i7"] {
padding-left : 7em;
text-indent : -5em;
}
-p[indent="h2i8"] {
+p[data-indent="h2i8"] {
padding-left : 8em;
text-indent : -6em;
}
-p[indent="h2i9"] {
+p[data-indent="h2i9"] {
padding-left : 9em;
text-indent : -7em;
}
-p[indent="h3i0"] {
+p[data-indent="h3i0"] {
padding-left : 0em;
text-indent : 3em;
}
-p[indent="h3i1"] {
+p[data-indent="h3i1"] {
padding-left : 1em;
text-indent : 2em;
}
-p[indent="h3i2"] {
+p[data-indent="h3i2"] {
padding-left : 2em;
text-indent : 1em;
}
-p[indent="h3i3"] {
+p[data-indent="h3i3"] {
padding-left : 3em;
text-indent : 0em;
}
-p[indent="h3i4"] {
+p[data-indent="h3i4"] {
padding-left : 4em;
text-indent : -1em;
}
-p[indent="h3i5"] {
+p[data-indent="h3i5"] {
padding-left : 5em;
text-indent : -2em;
}
-p[indent="h3i6"] {
+p[data-indent="h3i6"] {
padding-left : 6em;
text-indent : -3em;
}
-p[indent="h3i7"] {
+p[data-indent="h3i7"] {
padding-left : 7em;
text-indent : -4em;
}
-p[indent="h3i8"] {
+p[data-indent="h3i8"] {
padding-left : 8em;
text-indent : -5em;
}
-p[indent="h3i9"] {
+p[data-indent="h3i9"] {
padding-left : 9em;
text-indent : -6em;
}
-p[indent="h4i0"] {
+p[data-indent="h4i0"] {
padding-left : 0em;
text-indent : 4em;
}
-p[indent="h4i1"] {
+p[data-indent="h4i1"] {
padding-left : 1em;
text-indent : 3em;
}
-p[indent="h4i2"] {
+p[data-indent="h4i2"] {
padding-left : 2em;
text-indent : 2em;
}
-p[indent="h4i3"] {
+p[data-indent="h4i3"] {
padding-left : 3em;
text-indent : 1em;
}
-p[indent="h4i4"] {
+p[data-indent="h4i4"] {
padding-left : 4em;
text-indent : 0em;
}
-p[indent="h4i5"] {
+p[data-indent="h4i5"] {
padding-left : 5em;
text-indent : -1em;
}
-p[indent="h4i6"] {
+p[data-indent="h4i6"] {
padding-left : 6em;
text-indent : -2em;
}
-p[indent="h4i7"] {
+p[data-indent="h4i7"] {
padding-left : 7em;
text-indent : -3em;
}
-p[indent="h4i8"] {
+p[data-indent="h4i8"] {
padding-left : 8em;
text-indent : -4em;
}
-p[indent="h4i9"] {
+p[data-indent="h4i9"] {
padding-left : 9em;
text-indent : -5em;
}
-p[indent="h5i0"] {
+p[data-indent="h5i0"] {
padding-left : 0em;
text-indent : 5em;
}
-p[indent="h5i1"] {
+p[data-indent="h5i1"] {
padding-left : 1em;
text-indent : 4em;
}
-p[indent="h5i2"] {
+p[data-indent="h5i2"] {
padding-left : 2em;
text-indent : 3em;
}
-p[indent="h5i3"] {
+p[data-indent="h5i3"] {
padding-left : 3em;
text-indent : 2em;
}
-p[indent="h5i4"] {
+p[data-indent="h5i4"] {
padding-left : 4em;
text-indent : 1em;
}
-p[indent="h5i5"] {
+p[data-indent="h5i5"] {
padding-left : 5em;
text-indent : 0em;
}
-p[indent="h5i6"] {
+p[data-indent="h5i6"] {
padding-left : 6em;
text-indent : -1em;
}
-p[indent="h5i7"] {
+p[data-indent="h5i7"] {
padding-left : 7em;
text-indent : -2em;
}
-p[indent="h5i8"] {
+p[data-indent="h5i8"] {
padding-left : 8em;
text-indent : -3em;
}
-p[indent="h5i9"] {
+p[data-indent="h5i9"] {
padding-left : 9em;
text-indent : -4em;
}
-p[indent="h6i0"] {
+p[data-indent="h6i0"] {
padding-left : 0em;
text-indent : 6em;
}
-p[indent="h6i1"] {
+p[data-indent="h6i1"] {
padding-left : 1em;
text-indent : 5em;
}
-p[indent="h6i2"] {
+p[data-indent="h6i2"] {
padding-left : 2em;
text-indent : 4em;
}
-p[indent="h6i3"] {
+p[data-indent="h6i3"] {
padding-left : 3em;
text-indent : 3em;
}
-p[indent="h6i4"] {
+p[data-indent="h6i4"] {
padding-left : 4em;
text-indent : 2em;
}
-p[indent="h6i5"] {
+p[data-indent="h6i5"] {
padding-left : 5em;
text-indent : 1em;
}
-p[indent="h6i6"] {
+p[data-indent="h6i6"] {
padding-left : 6em;
text-indent : 0em;
}
-p[indent="h6i7"] {
+p[data-indent="h6i7"] {
padding-left : 7em;
text-indent : -1em;
}
-p[indent="h6i8"] {
+p[data-indent="h6i8"] {
padding-left : 8em;
text-indent : -2em;
}
-p[indent="h6i9"] {
+p[data-indent="h6i9"] {
padding-left : 9em;
text-indent : -3em;
}
-p[indent="h7i0"] {
+p[data-indent="h7i0"] {
padding-left : 0em;
text-indent : 7em;
}
-p[indent="h7i1"] {
+p[data-indent="h7i1"] {
padding-left : 1em;
text-indent : 6em;
}
-p[indent="h7i2"] {
+p[data-indent="h7i2"] {
padding-left : 2em;
text-indent : 5em;
}
-p[indent="h7i3"] {
+p[data-indent="h7i3"] {
padding-left : 3em;
text-indent : 4em;
}
-p[indent="h7i4"] {
+p[data-indent="h7i4"] {
padding-left : 4em;
text-indent : 3em;
}
-p[indent="h7i5"] {
+p[data-indent="h7i5"] {
padding-left : 5em;
text-indent : 2em;
}
-p[indent="h7i6"] {
+p[data-indent="h7i6"] {
padding-left : 6em;
text-indent : 1em;
}
-p[indent="h7i7"] {
+p[data-indent="h7i7"] {
padding-left : 7em;
text-indent : 0em;
}
-p[indent="h7i8"] {
+p[data-indent="h7i8"] {
padding-left : 8em;
text-indent : -1em;
}
-p[indent="h7i9"] {
+p[data-indent="h7i9"] {
padding-left : 9em;
text-indent : -2em;
}
-p[indent="h8i0"] {
+p[data-indent="h8i0"] {
padding-left : 0em;
text-indent : 8em;
}
-p[indent="h8i1"] {
+p[data-indent="h8i1"] {
padding-left : 1em;
text-indent : 7em;
}
-p[indent="h8i2"] {
+p[data-indent="h8i2"] {
padding-left : 2em;
text-indent : 6em;
}
-p[indent="h8i3"] {
+p[data-indent="h8i3"] {
padding-left : 3em;
text-indent : 5em;
}
-p[indent="h8i4"] {
+p[data-indent="h8i4"] {
padding-left : 4em;
text-indent : 4em;
}
-p[indent="h8i5"] {
+p[data-indent="h8i5"] {
padding-left : 5em;
text-indent : 3em;
}
-p[indent="h8i6"] {
+p[data-indent="h8i6"] {
padding-left : 6em;
text-indent : 2em;
}
-p[indent="h8i7"] {
+p[data-indent="h8i7"] {
padding-left : 7em;
text-indent : 1em;
}
-p[indent="h8i8"] {
+p[data-indent="h8i8"] {
padding-left : 8em;
text-indent : 0em;
}
-p[indent="h8i9"] {
+p[data-indent="h8i9"] {
padding-left : 9em;
text-indent : -1em;
}
-p[indent="h9i0"] {
+p[data-indent="h9i0"] {
padding-left : 0em;
text-indent : 9em;
}
-p[indent="h9i1"] {
+p[data-indent="h9i1"] {
padding-left : 1em;
text-indent : 8em;
}
-p[indent="h9i2"] {
+p[data-indent="h9i2"] {
padding-left : 2em;
text-indent : 7em;
}
-p[indent="h9i3"] {
+p[data-indent="h9i3"] {
padding-left : 3em;
text-indent : 6em;
}
-p[indent="h9i4"] {
+p[data-indent="h9i4"] {
padding-left : 4em;
text-indent : 5em;
}
-p[indent="h9i5"] {
+p[data-indent="h9i5"] {
padding-left : 5em;
text-indent : 4em;
}
-p[indent="h9i6"] {
+p[data-indent="h9i6"] {
padding-left : 6em;
text-indent : 3em;
}
-p[indent="h9i7"] {
+p[data-indent="h9i7"] {
padding-left : 7em;
text-indent : 2em;
}
-p[indent="h9i8"] {
+p[data-indent="h9i8"] {
padding-left : 8em;
text-indent : 1em;
}
-p[indent="h9i9"] {
+p[data-indent="h9i9"] {
padding-left : 9em;
text-indent : 0em;
}
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
index aa630d5..4e5b2f2 100644
--- 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
@@ -138,7 +138,7 @@ git://git.sisudoc.org/package/dlang-nix-overlays-and-flake
git+file:///home/ralph/grotto/repo/git.repo/projects/doc-reform/packages/nix-flakes/dlang/dlang-nix-flakes"
#+END_SRC
-* ocda ssp_version_format
+* ocda ssp version format
#+NAME: ocda_ssp_format_version
#+BEGIN_SRC org
@@ -158,3 +158,10 @@ git+file:///home/ralph/grotto/repo/git.repo/projects/doc-reform/packages/nix-fla
#+BEGIN_SRC org
1
#+END_SRC
+
+* sqlite collection search db schema version
+
+#+NAME: sqlite_collection_search_db_schema_version
+#+BEGIN_SRC org
+1
+#+END_SRC
--
cgit v1.2.3