Technische informatie

Deze pagina geeft wat achtergrond­informatie voor hen die geïnteresseerd zijn in hoe de boeken in deze bibliotheek geprogrammeerd en geschreven zijn.

((Inmiddels wordt de bibliotheek veel verder gecompileerd, en is de hieronder beschreven synchroniciteitstruc niet meer nodig.))

Indices
De indices en registers zijn gemaakt met een eenvoudig Ruby-scriptje dat zoekt naar tekst tussen <index> en </index>. Een eventueel attribuut class geeft aan dat de tekst niet in de index maar in een register behoort; zo zou het toevoegen van de tekst <index class="techniek">informatie</index> aan deze pagina er voor zorgen dat, nadat indexeer.rb gedraaid heeft, in een register ‚techniek’ met het woord ‚Informatie’ verwezen wordt naar deze pagina. (Het bestand ‚Lijst.htm’ zou dan nog wel aangepast moeten worden om dat register ook bereikbaar te maken onder het thema ‚Registers’.)
Synchroniciteit
De lijst links blijft steeds verwijzen naar de pagina rechts. Hiertoe dient de functie tik() in Lijst.js, die tienmaal per seconde kijkt of de lijst nog juist verwijst, en haar zo nodig aanpast. Dit is onnodig ingewikkeld, maar het lijkt onmogelijk een „on change”-event te gebruiken, daar de verandering plaatsvindt in het raamwerk, en de aanpassing plaats moet hebben in de lijst, één van de vensters in het raamwerk.
Tabs
De tabs maken logischerwijs deel uit van de lijststructuur, maar voor het gemak van de lay-out wordt onderhuids een kopie gemaakt van de bovenkant van de lijst. Het is namelijk niet eenvoudig alle tabs naast elkaar te laten staan terwijl diepergelegen onderdelen van één van die tabs onder de rij tabs getoond worden. Nog ingewikkelder is het, themata dubbel te tonen (als de muis boven de huidige tab (momenteel: Intro) komt staat het thema (momenteel: Vooraf) zowel in het drop-downmenu als in grote letters boven de lijst. Door het maken van een kopie werden deze problemen omzeild.
Knoppen
De werking van de knoppen is hard uitgeprogrammeerd. Internet Explorer 5 schijnt NodeIterator of TreeWalker niet te kennen.