Jak tworzone są strony www.debian.org

Drzewo stron internetowychDebiana, czyli zbiór plików i katalogów, który zawiera nasze strony internetowe, znajduje się w katalogu /org/www.debian.org/wwwna serwerze www-master.debian.org. Zdecydowana większość stron to zwykłe statyczne pliki HTML (tzn. takie, które nie zostały wygenerowane przez skrypty CGI czy PHP), ponieważ strony internetowe są zduplikowane na serwerach lustrzanych.

Strony są generowane na kilka sposobów:

Sześć razy dziennie drzewo stron internetowych jest automatycznie uaktualniane na podstawie repozytorium CVS i innych źródeł.

Jeśli chciałbyś przyczynić się do rozwoju tych stron, nie dodawaj po prostu kolejnych elementów do katalogu www/. Najpierw skontaktuj się z webmasterami.

Wszystkie pliki i katalogi są własnością grupy debwww z prawem zapisu dla tej grupy, tak żeby grupa webmasterów mogła modyfikować pliki w tych katalogach. Tryb 2775 dla katalogu oznacza, że wszelkie pliki stworzone w jego podkatalogach odziedziczą nazwę grupy - w tym wypadku debwww. Wszyscy, którzy należą do grupy debwww, powinni ustawić 'maskę 002', żeby nowe pliki były tworzone z uprawnieniami do zapisu dla grupy.


Wygląd i sposób działania

Nadajemy wszystkim stronom ten sam wygląd i sposób działania, wykorzystując WML do tworzenia szczegółów, takich jak nagłówki i stopki stron. Na pierwszy rzut oka struktura pliku .wml przypomina HTML, jednak jest to tylko jeden z typów zawartych w nim informacji. Plik .wml jest przetwarzany przez różne skrypty, a produktem końcowym jest czysty HTML. WML to potężne narzędzie, o czym świadczy fakt, że do plików .wml możesz włączać kod w języku Perl, który pozwala Ci zrobić prawie wszystko.

Zauważ jednak, że WML sprawdza (i czasami automagicznie koryguje) tylko bardzo podstawową poprawność kodu HTML. Aby zweryfikować poprawność Twojego kodu HTML, powinieneś zainstalować weblint albo/lub tidy.

Na dzień dzisiejszy nasze strony internetowe są zgodne ze standardem HTML 4.01 Strict. Zamierzamy jednak dostosować je do standardu XHTML , w związku z czym namawiamy wszystkich edytorów stron, aby pisali tagi HTML małymi literami, wstawiali tagi zamykające wszędzie tam, gdzie potrzeba itd., tak aby dostosowanie poszło tak gładko, jak to tylko możliwe.

Każdy, kto pracuje nad wieloma stronami, powinien zainstalować WML, żeby mógł sprawdzić, czy rezultat jest zgodny z oczekiwaniami. Jeśli używasz Debiana, po prostu zainstaluj pakiet wml. Więcej informacji znajdziesz na stronach o korzystaniu z WML.

Źródła

Pliki źródłowe stron internetowych trzymane są w repozytorium CVS. CVS jest systemem kontroli wersji, który pozwala nam przechowywać informacje m. in. o tym, kto, kiedy, dlaczego i jakich dokonał zmian. Jest to bezpieczna metoda kontroli równoległej edycji plików źródłowych przez wielu autorów, co jest dla nas istotne, ponieważ zespół internetowy Debiana jest raczej spory.

Jeśli nie jesteś obeznany z tym programem, być może będziesz chciał przeczytać strony dotyczące korzystania z CVS.

Webwml, najbardziej nadrzędny katalog w repozytorium CVS, zawiera katalogi nazwane od języków, w których są strony internetowe, a także dwa pliki makefile i kilka skryptów. Nazwy katalogów z tłumaczeniami powinny być w języku angielskim i pisane małą literą (np. "german", a nie "Deutsch").

Ważniejszym z dwóch plików makefile jest Makefile.common, który, jak nazwa wskazuje, zawiera kilka wspólnych reguł stosowanych poprzez włączenie tego pliku i innych plików makefile.

Każdy katalog z tłumaczeniami zawiera pliki makefile, pliki źródłowe .wml i podkatalogi. Nazwy plików i katalogów nie różnią się pomiędzy wersjami językowymi, co pozwala na zachowanie poprawnych linków dla wszystkich języków. W katalogach mogą być dodatkowo umieszczone pliki .wmlrc, które zawierają trochę informacji przydatnych dla WML.

Katalog webwml/english/template zawiera specjalne pliki WML zwane szablonami. Do nich odnoszą się wszystkie inne pliki za pomocą komendy #use.

Aby zmiany w szablonach znalazły odzwierciedlenie we wszystkich plikach, które z nich korzystają, pliki te są powiązane poprzez zależności w plikach makefile. Ponieważ ogromna większość stron używa szablonu template, (posiada linię "#use wml::debian::template" na górze pliku), rdzenną zależnością (jedną dla wszystkich plików) jest ten konkretny szablon. Oczywiście, są wyjątki od tej reguły.

Skrypty

Skrypty są głównie pisane w shellu albo Perlu. Niektóre z nich są niezależne, a niektóre są zintegrowane z plikami źródłowymi WML.

Źródła głównych skryptów przebudowujących strony znajdują się w repozytorium Git debwww/cron.

Źródła skryptów przebudowujących packages.debian.org znajdują się w repozytorium Git webwml/packages.

Jak można pomóc

Zapraszamy wszystkich zainteresowanych pomocą w czynieniu stron internetowych Debiana tak dobrymi, jak to tylko możliwe. Jeśli posiadasz wartościowe informacje związane z Debianem, których według Ciebie brakuje na naszych stronach, podziel się nimi z namii zobaczymy, gdzie można je umieścić.

Zawsze możemy skorzystać z pomocy przy projektowaniu stron (w sensie grafiki), zarazem utrzymując czystość kodu HTML. Regularnie przeprowadzamy na wszystkich naszych stronach następujące operacje:

Pomoc w czytaniu powyższych logów i naprawianiu tych problemów jest mile widziana.

Aktualne logi z procesu budowy stron internetowych można znaleźć pod adresem http://www-master.debian.org/build-logs/.

Jeśli biegle mówisz po angielsku, chcielibyśmy, żebyś przeczytał nasze strony i zgłosił wszelkie błędy (korekty) do nas.

Jeśli znasz inny język, może zechcesz nam pomóc w tłumaczeniu stron na Twój język. Jeśli tłumaczenie już istnieje, ale zawiera błędy, spójrz na listę koordynatorów i porozmawiaj o ich korekcie z głównym koordynatorem tłumaczenia na Twój język. Jeśli sam chcesz tłumaczyć strony, zajrzyj na stronę na ten temat po więcej informacji.

Istnieje także lista do-zrobienia, sprawdź ją.

Jak nie pomagać

[P] Chciałbym dodać fajny dodatek do stron www.debian.org, mogę?

[O] Nie. Chcemy, żeby strony www.debian.org były tak dostępne, jak to tylko możliwe, więc nie chcemy:

[P] Mam niezły pomysł. Moglibyście uruchomić funkcję FOO w HTTPD www.debian.org?

[O] Nie. Chcemy jak najbardziej ułatwić życie administratorom serwerów lustrzanych www.debian.org, więc nie chcemy żadnych specjalnych funkcji w HTTPD, nawet SSI. Jedyny wyjątek ustanowiono dla negocjacji zawartości. Jest tak dlatego, że jest to jedyna słuszna metoda, aby obsłużyć wiele języków.