Как сделан www.debian.org

Набор файлов и каталогов Debian (“web-дерево”), содержащий наш web-сайт, расположен в каталоге /org/www.debian.org/www сайта www-master.debian.org. В связи с тем что web-сайт зеркалируется, страницы написаны на обычном статическом HTML (т.е., не содержат ничего динамического вроде CGI или сценариев на PHP).

Сайт генерируется одним из трёх способов:

Автоматическое обновление (из репозитория CVS и других источников) выполняется шесть раз в день.

Если вы хотите помочь в создании сайта, недостаточно просто добавлять или редактировать элементы в каталоге www/. Свяжитесь сначала с web-мастерами.

Все файлы и каталоги принадлежат группе debwww и перезаписываются этой группой. Таким образом, команда разработки web-сайта может изменять файлы в каталоге web. Режим доступа к каталогам 2775 означает, что любые файлы, созданные в них наследуют идентификатор группы debwww. Любой член группы debwww может установить umask 002, чтобы файлы создавались с правами на запись для группы.


Дизайн

Мы стараемся сделать так, чтобы наши страницы выглядели одинаково. Всю работу по добавлению заголовков и нижних колонтитулов к страницам выполняет WML. Хотя страница .wml и напоминает HTML на первый взгляд, это лишь один из языков представления информации, который может использоваться в .wml. После того, как WML пропустил страницу через все фильтры, получается конечный файл — собственно HTML. WML — мощный язык, вы можете даже включить в страницу код Perl, который позволяет делать почти всё, что угодно.

Обратите, однако, внимание на то, что WML проверяет (и иногда автоматически исправляет) только основные правила кода HTML. Для полной проверки корректности кода HTML следует установить weblint и/или tidy

Наши web-страницы в настоящее время используют стандарт HTML 4.01 Strict. Однако мы планируем переход на XHTML, поэтому всем редакторам страниц рекомендуется записывать теги html в нижнем регистре, всегда ставить закрывающие теги и т.д., чтобы сделать переход как можно более лёгким.

Все, кто работает над большим количеством страниц, должны установить WML, чтобы можно было проверять полученный результат. Если вы используете Debian, вы можете просто установить пакет wml. См. дополнительную информацию на странице Использование WML.

Исходный текст

Исходный текст web-страниц хранится в CVS. CVS — это система управления версиями, которая позволяет хранить информацию о том, кто, когда и почему произвёл изменения, какие именно и т.д. Эта программа является безопасным способом управления параллельным редактированием исходных файлов множеством авторов, это критично для нас, потому что команда разработки сайта Debian довольно велика.

Если вы незнакомы с этой программой, вам, быть может, следует прочитать страницу Использование CVS.

Каталог верхнего уровня webwml в архиве CVS содержит каталоги, названные по именам языков web-сайта, два файла Makefile и несколько сценариев. Названия каталогов перевода должны быть на английском языке и в нижнем регистре (например "german", а не "Deutsch").

Более важный из этих двух файлов Makefile — Makefile.common, который, как говорит его название, содержит некоторые общие правила. Другие такие файлы включают этот файл, чтобы применить эти правила.

Каждый из языковых каталогов содержит файлы Makefile, исходные файлы WML и подкаталоги. Файлы и имена каталогов не отличаются, чтобы для всех языков ссылки выглядели одинаково. Каталоги могут также содержать файлы .wmlrc, которые содержат информацию, используемую WML.

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

Изменения в шаблонах приводят к изменению файлов, использующих эти шаблоны. Подавляющие большинство файлов использует шаблон "template", с помощью строки "#use wml::debian::template" в начале файла — универсальной (общей для всех файлов) зависимости. Из этого правила, разумеется, есть исключения.

Сценарии

Сценарии, главным образом, написаны на языке оболочки или на Perl. Некоторые из них автономны, другие интегрированы в исходные файлы WML.

Сценарии сборки страниц из исходников на основном сервере www-master находятся в Git-репозитории debwww/cron.

Сценарии сборки страниц из исходников на packages.debian.org находятся в Git репозитории webwml/packages.

Как помочь

Мы приглашаем всех заинтересованных людей помочь нам сделать сайт Debian как можно лучше. Если у вас есть ценная информация, связанная с Debian, и если вы думаете что на наших страницах её нет, вы можете поделиться ей с нами. Мы решим, как её можно опубликовать.

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

Приветствуется помощь в чтении файлов журналов вышеупомянутых программы и устранении проблем.

Текущие журналы сборки web-сайта можно найти на http://www-master.debian.org/build-logs/.

Если вы хорошо знаете английский, мы будем рады вашей помощи в вычитке и корректуре наших страниц. Сообщайте обо всех ошибках нам.

Если вы говорите на другом языке, вы можете помочь нам переводить страницы на ваш язык. Если перевод уже сделан, но в нём есть ошибки, найдите лидера команды перевода в списке координаторов переводов и пообщайтесь с ним по поводу их исправления. Если вы сами хотите переводить страницы, см. информацию на специальной странице по этой теме.

Прочтите также файл основных задач.

Как не надо помогать

[Q] Я хочу добавить на www.debian.org новую классную возможность, можно ли это сделать?

[A] Нет. Мы хотим, чтобы www.debian.org был настолько доступным, насколько это возможно, поэтому:

[Q] У меня есть хорошая идея. Можете ли вы включить такую-то функцию в демоне HTTP www.debian.org, ну пожалуйста?

[A] Нет. Мы хотим сделать жизнь администраторов зеркал www.debian.org простой, так что не используйте, пожалуйста, специальных возможностей демона HTTP. Да-да, даже SSI. Исключение сделано лишь для согласования содержания. Так как это единственный надёжный способ использовать множество языков одновременно.