Зауваження: оригінальний документ новіший за цей переклад.

Як влаштований www.debian.org

„Веб-дерево“ Debian, збірка тек та файлів, з яких складається наш веб-сайт, розташоване в теці /org/www.debian.org/www на www-master.debian.org. В зв'язку з тим, що відбувається віддзеркалювання веб-сайту, більшість сторінок є звичайними статичними html-файлами (тобто, не створюються чимось динамічним, на кшталт GCI чи PHP-скриптів).

Сайт генерується одним з трьох шляхів:

Автоматичне оновлення (веб-дерева зі сховищ CVS та інших ресурсів) виконується шість разів на добу.

Якщо ви бажаєте розвивати сайт, то для цього недостатньо просто додавати чи редагувати елементи з теки www/. Спочатку зверніться до веб-майстрів.

Всі файли та теки належать групі debwww та можуть перезаписуватись цією групою, таким чином група розробки веб-сайту може змінювати файли в веб-каталозі. Право доступу 2775 до тек означає, що будь-які файли, створені в них будуть успадковувати групу — debwww в даному випадку. Очікується, що будь-хто з групи debwww встановлюватиме „umask 002“, щоб файли створювались з правами запису для групи.


Дизайн

Ми надаємо сторінкам однакового вигляду, використовуючи WML для обробки всіх деталей додавання заголовків та нижніх колонтитулів до сторінки. Хоча сторінка .wml на перший погляд виглядає дещо схожою на HTML, HTML є лише одним з типів спеціальної інформації, що може бути представлена в .wml. Після того, як WML пропустить файл через різні фільтри, в результаті вийде справжній HTML. Щоб отримати уявлення про можливості WML, ви можете помістити в сторінку код на Perl та отримати, взагалі-то, будь-що.

Але зауважте, що WML перевіряє (а іноді і автоматично виправляє) лише основні правила вашого HTML-коду. Ви повинні встановити weblint та/або tidy для перевірки HTML-коду.

На даний момент наші веб-сторінки притримуються стандарту HTML 4.01 Strict. Однак, ми збираємось перейти на XHTML, тому всім редакторам веб-сторінок наполегливо рекомендується записувати HTML-теги в нижньому регістрі, додавати відповідні завершальні теги і т.ін. з метою максимально полегшити цей перехід.

Всі, хто працює зі значною кількістю сторінок, повинні встановити WML, щоб мати можливість перевірити чи отримується в результаті те, що вони хотіли. Якщо ви використовуєте Debian, просто встановіть пакунок wml. Щоб отримати більше інформації, перегляньте сторінку використання WML.

Джерельні тексти

Джерельні тексти веб-сторінок зберігаються в CVS. CVS (version control system) — це система контролю версій, що дозволяє нам зберігати інформацію про те хто, коли, що і навіщо змінив, тощо. Вона є надійним способом контролю при одночасному редагування джерельний файлів декількома авторами; це має вирішальне значення для нас, оскільки команда розробки веб-сайту Debian досить велика.

Якщо ви не знайомі з цією програмою, ви захочете переглянути сторінки, присвячені використанню CVS.

Головна тека розділу webwml сховища CVS містить каталоги, котрі іменуються згідно з мовами веб-сайту, два make-файли та декілька скриптів. Назви тек з перекладами повинні бути англійськими та записаними в нижньому регістрі (наприклад, „german“, а не „Deutsch“).

З цих двох make-файлів більш важливим є Makefile.common, котрий, як зрозуміло з його назви, містить деякі загальні правила та включається до інших make-файлів для застосування цих правил.

Тека для кожної з мов містить make-файли, джерельні файли WML та підтеки. Назви файлів та тек не відрізняються. Це зроблено для того, щоб посилання були однаковими для всіх мов. Каталоги також можуть містити файли .wmlrc, в яких зберігається деяка інформація, котра використовується WML.

Тека webwml/english/template містить спеціальні WML-файли, що називаються шаблонами, оскільки на них можна посилатися з будь-якого іншого файлу за допомогою команди #use.

Щоб зміни в шаблонах поширювалися на файли, котрі використовують використовують ці шаблони, файли залежать від шаблонів. Оскільки переважна більшість файлів використовує шаблон „template“, поміщаючи рядок „#use wml::debian::template“ на початку сторінки,— це загальна (одна для всіх файлів) залежність. Звісно, з цього правила бувають виключення.

Скрипти

Скрипти в основному написані на мові оболонки або Perl'і. Деякі з них є автономними, деякі — інтегровані в джерельні wml-файли.

Джерельні коди скриптів для перебудови головного серверу www-master знаходяться в модулі cron в CVS.

Джерельні коди скриптів для перебудови packages.debian.org знаходяться в webwml/packages сховища Git.

Як допомогти

Ми запрошуємо всіх зацікавлених у тому, щоб допомогти нам зробити сайт Debian як можна кращим. Якщо ви маєте цінну інформацію, пов'язану з Debian, і думаєте, що вона відсутня на наших сторінках, поділіться нею з нами і ми подивимось як її у них додати.

Ми можемо завжди скористатись допомогою з розробкою дизайну сторінок (що стосується графіки та розмітки), підтримки нашого HTML чистим, тощо. Ми регулярно виконуємо такі перевірки нашого веб-сайту:

Допомога у читанні журналів вищевказаних програм та усунення проблем завжди вітається.

Поточний журнал побудови веб-сайту можна знайти за адресою http://www-master.debian.org/build-logs/.

Якщо ви добре знаєте англійську мову, ми були б раді перечитуванню наших сторінок та повідомленням про помилки.

Якщо ви розмовляєте іншою мовою, можливо, ви захочете допомогти нам перекласти сторінки на вашу мову. Якщо переклад все зроблено, але в ньому є певні недоліки, знайдіть координатора перекладу у відповідному списку та поспілкуйтесь з ним щодо їх виправлення. Якщо ви хочете перекладати сторінки самостійно, перегляньте сторінку, яка присвячена цій темі, щоб отримати більше інформації.

Перегляньте також файл поточних задач.

Як не потрібно допомагати

[З] Я хочу додати чудову веб-особливість на www.debian.org, чи можна мені це зробити?

[В] Ні. Ми хочемо, щоб www.debian.org був настільки доступним, наскільки це можливо, тому

[З] Маю чудову ідею. Можете ввімкнути таку-то функцію в демоні httpd на www.debian.org, будь ласка?

[В] Ні. Ми хочемо полегшити життя адміністраторам дзеркал www.debian.org, тому жодних спеціальних можливостей HTTPD, будь ласка. Ні, навіть SSI. Виключення зроблено лише для узгодження вмісту, оскільки лише такий шлях є надійним для підтримки багатьох мов.