Rst2HTML instellingen
Oorspronkelijk konden de instellingen van de applicatie alleen maar van buitenaf worden onderhouden. Omdat een aantal settings aangepast kunnen worden zonder dat er een server restart voor nodig is heb ik het mogelijk gemaakt om ze binnen de webinterface te kunnen laden, aanpassen en terugschrijven en zo een soort van multi-site support te hebben.
Dat betekent dat je van site waarmee je bezig bent kunt wisselen zonder de applicatie te onderbreken. Omdat je kunt zien voor welke site er settings geladen zijn weet je altijd waarmee je bezig bent.
Bij het starten van de applicatie worden de instellingen geladen van de site die in de server configuratie als default (kan per data backend verschillen) is ingesteld, bijvoorbeeld:
Daarna kun je van site wisselen met behulp van een eenvoudige load-functie:
En settings wijzigen met behulp van een save-functie:
Een nieuwe site kan aangemaakt worden door bij het laden "-- new --" te kiezen - je krijgt dan een minimale standaard set instellingen - of door de settings van een bestaande te laden en deze dan op te slaan met een nieuwe naam (op te geven in het betreffende veld).
Mogelijke instellingen
url: het webadres waarlangs de root van de mirror site bereikt wordt in de browser (moet ingeregeld worden in het hosts bestand en de server configuratie op de locale machine)
css: één of meer namen van css bestanden om op te nemen in de resultaat HTML. Kan een absolute locatie zijn of relatief ten opzichte van het adres in de url setting. Moet ofwel beginnen met http ofwel met `url + `
wid: breedte van het tekstveld in units (tekens)
hig: hoogte van het tekstveld in units (tekens)
writer: naam van de te gebruiken docutils omzetter (html4 of html5)
Deze vijf instellingen zijn verplicht en worden in de source area geladen wanneer je "load settings" uitvoert met "new":
De applicatie werkt in principe wel zonder een zinnige waarde voor url maar je kunt niet verwijzen naar een mirror site.
css is nodig om de resultaat HTML goed te kunnen weergeven.
wid en hig waren oorspronkelijk bedoeld om per site andere afmetingen voor het tekstveld te kunnen maken maar dit heb ik vernaggeld doordat ik voor de syntax highlighting standaard afmetingen nodig had - elke waarde geeft nu hetzelfde resultaat tenzij highlight = false. Deze waarden waren instelbaar zodat je rekening kon houden met je display; om deze te activeren hoefde je namelijk de server niet te restarten, alleen de settings opnieuw te laden.
Verder hebben we nog wat settings die je mag weglaten:
lang: taal voor de knoppen en meldingsteksten (momenteel zijn "en" of "nl" mogelijk en als je deze setting weglaat wordt "en" gebruikt)
seflinks: 0 of 1, geeft aan of hyperlinks met .html kunnen eindigen of niet (sef staat voor *search engine friendly"; als je dit niet opgeeft wordt "0" gebruikt)
highlight: 0 of 1, geeft aan of er syntax highlighting in het tekstveld moet worden toegepast
blurb: "site-slogan" om te tonen op elke pagina waar het header directive gebruikt wordt
do-not-generate: lijst met documenten die bij het automatisch hergenereren niet moeten worden meegenomen
image: (relatieve) link naar een plaatje om te tonen op elke pagina waar het header directive gebruikt wordt
menu: document met menulinks om te tonen op elke pagina waar het header directive gebruikt wordt
starthead: extra regels om direct na het <head> element in de resultaat pagina's op te nemen (letterlijke HTML dus een prachtig veiligheidsrisico als je dit daadwerkelijk over het web draaien zou)
endhead`: extra regels om direct vóór het </head> element in de resultaat pagina's op te nemen
De laatste twee settings heb ik toegevoegd om het mogelijk maken extra metadata of javascript toe te voegen dat op elke pagina toegevoegd moet worden. Dit wordt alleen maar toegevoegd in de source die naar de mirror site gekopieerd wordt.