# Technische informatieꜛ

Deze pagina geeft wat achtergrondinformatieꜛ 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. Bibliotheek kan nagenoeg zonder verlies van functionaliteit bekeken worden in een browser zonder Javascript. Enkel voor verwijzingen binnen verwijzingen (die toch al slecht gedefinieerd zijn) is een scriptje 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.