aboutsummaryrefslogtreecommitdiffhomepage
path: root/org/out_sqlite.org
Commit message (Collapse)AuthorAgeFilesLines
* images alt text, and epub says what it isRalph Amissah2026-09-141-5/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Four things, not visible in an error count: - Images had no alt text, even where markup carried the text, and the field alt text is present, incorrectly used in code; fixed as the alt. { sm_tux.png 64x80 "Gnu/Linux - a better way" }image an image with nothing to say for itself gets alt="" - Images with no dimensions were incorrectly written width="0" height="0", fixed - Accessibility metadata, which EPUB Accessibility 1.1 requires: schema:accessMode, accessibilityFeature and accessibilityHazard, plus accessModeSufficient and accessibilitySummary, which epubcheck does not test for; used by - readers looking for a book it can use, - anyone distributing into the EU. Every value is derived from the document, not asserted: a document with no images says so, one whose images all carry alt text claims alternativeText and textual sufficiency, one where an image says nothing claims neither. Nothing claims WCAG conformance, which would be a claim about an evaluation that has not happened. - DPUB-ARIA roles beside the structure spine already knew about. doc-toc, doc-endnotes, doc-bibliography, doc-glossary and doc-index on the sections, doc-noteref on a note reference and doc-footnote on the note it points at. "doc_endnotes" as a class name means something to a stylesheet and nothing to a reading system. Not doc-biblioentry: DPUB- ARIA 1.1 deprecated it. These are plain ARIA, so the html gets them too. Also dealt with here: - Spine makes certain sections such as endnotes, bookindex, ... and a heading that has a name for itself cannot share the same name, if it does the name is now disambiguated, disambiguated. (disambiguation similar to that used for a repeated anchor tag) - Endnote anchors fixed to use "id" (being one unique tag in the document that is target of every reference to it)instead of obsolete form (they were <a name="note_1">. "name" on an <a>). Book index markers keep "name": the same marker sits on every object an entry names, 296 times in one document, and those are markers of where a term occurs rather than distinct targets. (assisted by Claude-Code)
* epub and html: no errors left over the sample setRalph Amissah2026-09-141-29/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | epubcheck 5.3.0 over the 35 sample epubs went from 1302 remaining errors to none. The six causes for those remaining errors fixed here. most of the count was one of them: - Tables (1123 errors, 86%) where the writer emitted obsolete attributes, removed in 2014; table also now in div instead of a paragraph. also fixed: - Navigation (115). Every level 4 heading's nav entry ended "#0", the ocn of an object that has no ocn and so no id. - Duplicate ids (37). (from three unrelated sources). - The publication identifier (27 warnings). dc:identifier was a hardcoded hex string, not a UUID, and the same one in all 35 files, so two documents in one library collided. It is now UUID v5 over the document's own uid: a real RFC 4122 identifier, stable across builds and distinct per document. - Image manifest entries (15). media-type was "image/" plus the file extension, giving "image/jpg", which is not a media type; epubcheck reads it as a foreign resource and wants a fallback. There is now a mapping, which also covers svg and webp. Item ids came from the file basename, and "2bits_02_01-100.png" gave an id starting with a digit, which is not an XML name; ids are now prefixed and sanitised. - An ocn resolving to no segment (9). A poem block and its first verse share one ocn; the verses are written into a segment and the block itself is not. Also dropped from the package document: an xmlns:xsi that nothing used, and a prefix declaration for the rendition vocabulary, which is a reserved prefix and needed no declaring. The package now carries xml:lang. test-epub-validity.sh now allows no fatal and no error. Two NAV-011 warnings remain and are described in it. Three reference .ssp files change, all of them the anchor tag disambiguation above. (assisted by Claude-Code)
* epub, html, db: use of elements & attributes, fixRalph Amissah2026-09-141-8/+17
| | | | | | | fixed, four things used that XHTML does not have. (search db sisudoc-spine-search-cgi results share styling) (assisted by Claude-Code)
* some file renamesRalph Amissah2026-09-121-2/+2
|
* sqlite: schema version, & fail run on writes failRalph Amissah2026-09-091-39/+82
| | | | | | | | | | | | | | | | | | | | | | | | | Spine now declares sqlite_db_schema_version and stamps it into the database as PRAGMA user_version when the tables are created, in both the shared and the discrete DDL blocks. On opening an existing database it compares, and says once per run which version it found and which it writes. Failures are now tallied (shared, the output can run in parallel), reported one line each on stderr naming the operation, and main exits 1 without printing "run complete, ok". Two tests under test/, both taking the spine binary as their first argument and building their own database from data/pod unless $SpinePOD says otherwise: test-search-db-schema.sh names: every column the search form uses exists, and spine's declaration, the database's stamp and the search form's expectation all agree test-search-cgi.sh behaviour: the real search binary answers real requests against a fresh database, no web server involved, the probe values read out of whichever database it is given (assisted by Claude-Code)
* ocda: remove dead fieldsRalph Amissah2026-09-091-2/+1
| | | | | | | remove four dead fields, two of them serialised, none of the them were assigned (or called for reading). (assisted by Claude-Code)
* ocda + outputs split: module/import + dub.json fixupsRalph Amissah2026-05-251-5/+5
| | | | | | | | | | | Modules and imports rewritten to sisudoc.ocda.* and sisudoc.outputs.*; dub.json excludedSourceFiles and the spine:abstraction sub-package sourcePaths collapsed to ./src/sisudoc/ocda. Verified: nix build .#spine-overlay-ldc clean. (assisted by Claude-Code)
* sqlite: stop on missing/unwritable sqlite-db-pathRalph Amissah2026-05-161-4/+24
| | | | | | - fatal error on missing/unwritable --sqlite-db-path (assisted by Claude-Code)
* org files cosmetic, remove word BUGRalph Amissah2026-05-051-1/+1
|
* org headers rearranged (& odd hilighting issue)Ralph Amissah2026-05-041-5/+5
| | | | | - odd hilighting issue ... must result from my org config, but "fix" makes things easier for me.
* upkeep, update a few pathssisudoc-spine_v0.18.0Ralph Amissah2026-04-221-3/+3
|
* org-mode header, minor (set: results silent)Ralph Amissah2026-01-101-1/+1
|
* 2026Ralph Amissah2026-01-091-1/+1
|
* (editor emacs org-mode includes)Ralph Amissah2025-09-261-1/+18
|
* terminal output verbosity levels, minor reworkRalph Amissah2025-09-251-6/+6
|
* org, property header-args results output noneRalph Amissah2025-09-141-1/+1
|
* imports, make line searchableRalph Amissah2025-07-151-8/+6
|
* sisudoc-spine upkeep, minor, a file renamedRalph Amissah2025-03-221-0/+1
|
* doc (metadata & abstraction) struct follow throughRalph Amissah2025-02-191-90/+71
|
* 2025Ralph Amissah2025-01-011-1/+1
|
* 0.16.0 sisudoc (src/sisudoc sisudoc spine)sisudoc-spine_v0.16.0-devRalph Amissah2024-04-101-7/+7
| | | | | - src/sisudoc (replaces src/doc_reform) - sisudoc spine (used more)
* org, ocda (ongoing) split file, separate functionsRalph Amissah2024-01-251-1/+1
|
* 2024Ralph Amissah2024-01-021-1/+1
|
* org, spine ver & doc header (copyright & license)Ralph Amissah2023-12-171-50/+3
| | | | | | - org import: reuse settings in another org file using code block to evaluate other org file spine_version_info_and_doc_header_including_copyright_and_license.org
* 2023, year rollover, old habitRalph Amissah2023-01-011-3/+2
|
* sqlite, check db exists, writable etc.Ralph Amissah2022-12-231-46/+133
|
* regex review, match speed & compile time, ctregexRalph Amissah2022-12-231-17/+29
| | | | | | | | | - improve match time - add interim fontface identifier marker - improve compile time - remove unused regexs - separate out some specialized output matches
* configs housekeeping, minorRalph Amissah2022-11-211-28/+36
|
* org noweb adjustmentsRalph Amissah2022-09-281-1/+11
|
* org-mode headers modifiedRalph Amissah2022-06-151-3/+2
|
* housekeepingRalph Amissah2022-05-271-1/+1
|
* latex output (try tidy); linebreaks more generallyRalph Amissah2022-04-031-2/+4
|
* verbosity level, "vox_gt[lv]" (voice greater than)Ralph Amissah2022-02-251-5/+5
|
* rethink verbose & debug flags, introduce showRalph Amissah2022-02-231-39/+23
|
* debug flags, narrow purposeRalph Amissah2022-02-211-19/+19
|
* sqlite, html lite breakline relatedRalph Amissah2022-02-091-0/+4
|
* config & sqlite search output, some changesRalph Amissah2022-01-291-0/+11
|
* sqlite: table, topic registerRalph Amissah2022-01-251-67/+73
|
* xmls, html group text output (bullets & indents)Ralph Amissah2022-01-211-0/+63
|
* org files naming, minorRalph Amissah2022-01-211-64/+52
|
* sqlite, minor, cosmetic in use case, if not existRalph Amissah2022-01-161-18/+18
|
* a new yearRalph Amissah2022-01-051-2/+2
|
* org files, tangle output, some fixesRalph Amissah2021-11-271-86/+86
|
* sqlite related internal namingRalph Amissah2021-11-271-8/+8
|
* primarily org relatedRalph Amissah2021-11-271-1/+1
|
* spine search and configuration relatedRalph Amissah2021-08-111-21/+21
|
* org-mode code block headersRalph Amissah2021-06-281-1/+3
|
* org-mode, cosmeticRalph Amissah2021-04-191-3/+3
|
* headers: copyright, license, year; also httpsRalph Amissah2021-04-081-1/+58
|
* org mode, unique code-block names & adjust headersRalph Amissah2020-10-191-52/+89
| | | | | - avoid org-mode undefined behavior, provide unique code-block names