Hoe www.debian.org gemaakt wordt
- Uitzicht & aanvoelen
- Broncode
- Scripts
- Het genereren van de website
- Hoe u kunt helpen
- Hoe u niet zou mogen helpen... (FAQ)
Uitzicht & aanvoelen
De website van Debian is een verzameling mappen en bestanden
die te vinden zijn in /org/www.debian.org/www
op www-master.debian.org. De meeste pagina's zijn
statische HTML-bestanden. Deze bevatten geen dynamische elementen
zoals CGI en PHP-scripts, omdat de website gespiegeld wordt.
De website van Debian gebruikt een metataal voor websites
(WML)
om de HTML-pagina's te genereren, met inbegrip van
kop- en voetteksten, titels, inhoudstafels, enz.
Hoewel een .wml
-bestand er op het eerste gezicht misschien
uitziet als HTML, is HTML slechts één
van de types extra informatie die in WML gebruikt kunnen worden. U
kunt ook Perl-code toevoegen aan een pagina, zodat u ermee bijna alles
kunt gedaan krijgen.
Nadat WML klaar is met het toepassen van zijn diverse filters op een bestand, is het eindproduct echte HTML. Merk evenwel op dat hoewel WML op een basaal niveau de geldigheid van uw HTML-code controleert (en deze soms automatisch corrigeert), u een hulpmiddel zoals weblint en/of tidy zou moeten installeren voor syntaxis- en minimale stijlcontrole.
Iedereen die op regelmatige basis bijdragen levert aan de website van
Debian, zou WML moeten installeren om de code te testen en er zeker van te zijn
dat de resulterende HTML-pagina's er goed uitzien. Indien u op een computer
met Debian werkt, moet u gewoon het pakket wml
installeren. Lees
voor meer informatie de pagina over het gebruik van WML.
Broncode
De broncode voor de webpagina's van Debian wordt in Git bewaard. Met het versiebeheersysteem kunnen we alle wijzigingen bijhouden en zien wie wat wanneer en zelfs waarom heeft vastgelegd. Git biedt een veilige manier om de gelijktijdige bewerking van bronbestanden door meerdere auteurs te beheren - voor het webteam van Debian een cruciale taak, omdat dit team veel leden telt.
Hier volgt wat achtergrondinformatie over de wijze waarop de broncode gestructureerd is:
- De basismap in de git-opslagplaats (
webwml
) bevat mappen die vernoemd zijn naar de taal van de respectieve pagina's, twee Makefile-bestanden en verschillende scripts. De namen van de mappen voor de vertaalde pagina's moeten in het Engels zijn en uit kleine letters bestaan, bijvoorbeelddutch
en nietNederlands
. - Vooral het bestand
Makefile.common
is bijzonder belangrijk, omdat het een aantal gemeenschappelijke regels bevat welke toegepast worden door dit bestand op te nemen in de andere Makefile-bestanden. - Al de onderliggende mappen voor de verschillende talen bevatten ook
Makefile-bestanden, verschillende
.wml
-broncodebestanden en extra onderliggende mappen. Alle namen voor bestanden en mappen volgen een bepaald patroon, zodat elke link voor alle vertaalde pagina's werkt. Sommige mappen bevatten ook een.wmlrc
-configuratiebestand met extra commando's en voorkeursinstellingen voor WML. - De map
webwml/english/template
bevat speciale WML-bestanden die als sjablonen werken. Vanuit alle andere bestanden kan er naar worden verwezen met het commando#use
.
Opmerking: om er zeker van te zijn dat wijzigingen in de sjablonen doorstromen
naar de bestanden die ze gebruiken, hebben de bestanden deze sjablonen als
Makefile-vereiste. Een grote meerderheid van de bestanden gebruiken het
sjabloon template
als generieke vereiste, en daarom bevatten ze
bovenaan de volgende regel:
#use wml::debian::template
Natuurlijk bestaan er uitzonderingen op deze regel.
Scripts
De scripts zijn hoofdzakelijk geschreven in shell of Perl. Sommige ervan werken apart en andere zijn geïntegreerd in de WML-bronbestanden.
- webmaster-team/cron:
Deze Git-opslagplaats bevat al de scripts die gebruikt worden voor het
updaten van de website van Debian, d.w.z. de broncode van de scripts voor het
opnieuw bouwen van
www-master
. - webmaster-team/packages:
Deze Git-opslagplaats bevat de broncode van de scripts voor het opnieuw
bouwen van
packages.debian.org
.
Het genereren van de website
WML, sjablonen en shell- en Perl-scripts zijn alle ingrediënten die u nodig heeft om de website van Debian te genereren:
- Het grootste gedeelte wordt gegenereerd met behulp van WML (uit de Git-opslagplaats).
- De documentatie wordt ofwel gegenereerd met DocBook XML (
ddp
-Git-opslagplaats) of met cron-scripts uit de overeenkomstige Debian-pakketten. - Sommige delen van de website worden gegenereerd met scripts die van andere bronnen gebruik maken, bijvoorbeeld de pagina's om op mailinglijsten in te tekenen of zich uit te schrijven.
Een automatische update (vanuit de git-opslagplaats en andere bronnen van de webboom) wordt zesmaal per dag uitgevoerd. Daarnaast voeren we regelmatig de volgende controles uit op de volledige website:
De huidige logboeken over het bouwen van de website zijn te vinden op https://www-master.debian.org/build-logs/.
Indien u wenst bij te dragen tot de site, bewerk dan niet
gewoon bestanden uit de map www/
, of voeg er ook geen nieuwe items
aan toe. Neem in plaats daarvan eerst contact op met de webmasters.
Hoe u kunt helpen
We moedigen iedereen aan om te helpen met de website van Debian. Indien u over waardevolle informatie in verband met Debian beschikt, die volgens u ontbreekt, neem dan contact op — wij zullen ervoor zorgen dat ze opgenomen wordt. Kijk ook eens naar de bovengenoemde bouwlogboeken en kijk of u suggesties heeft om een probleem op te lossen.
We zijn ook op zoek naar mensen die kunnen helpen met het ontwerp (grafische vormgeving, lay-out, enz.). Indien u vloeiend Engels spreekt, overweeg dan om onze pagina's na te lezen en fouten te rapporteren. Als u een andere taal spreekt, dan wil u misschien helpen met het vertalen van bestaande pagina's of met het verhelpen van bugs in reeds vertaalde pagina's. Bekijk in beide gevallen de lijst met vertaalcoördinatoren en neem contact op met de verantwoordelijke persoon. Bekijk voor meer informatie onze pagina voor vertalers.
Hoe u niet zou mogen helpen... (FAQ)
[V] Ik wil deze mooie functie opnemen in de website van Debian, mag ik?
[A] Neen. We willen dat www.debian.org zo toegankelijk mogelijk is, dus
- geen browserspecifieke "extensies",
- niet louter gebruik maken van afbeeldingen. Afbeeldingen kunnen gebruikt worden ter verduidelijking, maar de informatie op www.debian.org moet toegankelijk blijven voor een zuivere tekstuele webbrowser, zoals lynx.
[V] Ik wil dit leuke idee implementeren. Kunt u alstublieft foo en bar activeren in de HTTP server van www.debian.org?
[A] Neen. We willen het voor beheerders makkelijk maken om een spiegelserver voor www.debian.org op te zetten, dus alstublieft geen speciale HTTPD-functionaliteit. Neen, zelfs geen SSI (Server Side Includes). Er werd een uitzondering gemaakt voor "content negotiation", het onderhandelen over inhoud, omdat dit de enige robuuste manier is om de pagina's in verschillende talen aan te bieden.