데비안 웹 페이지 작업 방법

일반 정보

자원 요구사항

웹 사이트에서 작업하려면, 적어도 740 MB 데이터를 저장할 디스크를 준비하십시오. 이것은 현재 소스 아카이브 크기를 반영합니다. 만약 실수로 모든 페이지를 다시 만들면, 적어도 세 배의 공간이 필요할 겁니다.

`#'로 시작하는 줄은 무엇인가요?

WML에서, `#'로 시작하는 줄은 주석입니다. 그들은 마지막 페이지에 보이지 않으므로 보통 HTML 주석보다 선호됩니다.

WML에 대한 더 많은 정보를 위해서는 using WML를 읽어보십시오.

편집자를 위한 에티켓

이 페이지를 변경할 수 있나요?

때에 따라 다릅니다. 오타 같은 작은 실수를 만나면, 그걸 바로잡으십시오.

약간의 정보가 빠졌다면, 그것도 자유롭게 수정하십시오.

만약 무언가 끔찍해서 새로 쓸 필요가 있다면, debian-www로 가져와서 토론하십시오. 우리는 여러분에게 동의할 겁니다.

템플릿에 문제가 있음을 발견하면(예를 들어 webwml/english/template/debian 디렉터리에 있는 파일), 커밋 전에 변화에 대해 생각해야 하는데, 왜냐면 템플릿 변화는 사이트의 큰 부분이 다시 빌드되기 때문입니다.

새 디렉터리를 추가하면, Makefile도 추가하십시오!

새 디렉터리를 git에 추가할 때는 주의해야 합니다. 현재 디렉터리가 ../Makefile에 있다면 반드시 그 안에 Makefile을 들어야 합니다.— 그러지 않으면 make는 에러 메시지를 낼 겁니다.

명확하고 간단한 영어 쓰기

데비안 웹 페이지는 영어가 모국어 아닌 사람들이 읽고 번역하므로, 명확하고 간단한 영어를 쓰는 게 좋으며, 속어, 이모티콘, 모호한 숙어를 쓰지 마십시오.

이 중 하나를 한다면, 그 뜻을 설명하는 파일에 주석을 추가하십시오.

의심되거나, 제안을 교정하려면, 영어 현지 팀에 문의 하십시오.

README를 찾으십시오

어떤 디렉터리는 README를 포함해서 어떻게 디렉터리가 구성되었는지 이해하는 것을 돕습니다. 그것은 그 영역에서 일 할 때 필요한 정보를 제공해야 합니다.

내용의 변화와 형식의 변화를 나누십시오

언제나 내용 변화와 형식 변화를 나누어서 패치 또는 커밋 하십시오. 그들이 섞이면, 번역자가 차이를 찾기 매우 어려워집니다. 그런 섞인 변화로 git diff -u하면, 여러분 스스로 어지러울 겁니다.

일반적으로, 임의의 형식 변경을 피하십시오. XHTML/XML에 맞지 않는 오래된 페이지는 다른 변화와 함께 커밋 되면 안 됩니다. (물론, 새로운 것은 처음부터 제대로 할 수 있어야 합니다.)

가능하면 번역도 업데이트 하십시오.

어떤 변경은 WML 파일에 쓰인 언어에 독립적, URL 또는 내장된 Perl 코드에 내장된 Perl 코드 같은 것. 같은 카테고리 오타를 수정하면 또 실패하는데, 왜냐면 번역자는 번역하는 동안 대개 그것을 무시하기 때문입니다. 그런 언어독립적인 변화로, 다른 언어로 모르더라도 같은 변화를 모든 번역파일에 하고, translation-check 헤더 안의 버전을 안전하게 올릴 수 있습니다.

번역자 스스로 같은 일을 하는 것은 그들에게 심각히 어려운 것은 아니며, 작업할 모든 체크아웃을 영어를 쓰는 편집자에게 하는 것을 블편할 수 있습니다. 그러나, 우리는 사람들이 그것을 할 것을 장려하는데 한 사람이 할 수 있는 무언가를 위해 수십명을 괴롭히는 것을 피하기 위함입니다.

게다가, 그런 변화를 적용하는 것은 쉬운데, smart_change.pl 스크립트를 webwml 최상위 수준에서 쓰면 됩니다.

링크

이 링크가 제대로 안 보입니다. 내가 그걸 수정해야 하나요?

웹 서버가 설정되는 방법 때문에 (content negotiation 사용), 내부 링크의 어느 변화도 필요치 않습니다. 사실은 그러지 않기를 제안합니다. 링크가 틀린 것으로 느껴지면 그것을 수정하기 전에 debian-www에 쓰십시오.

링크 수정하기

외부 웹 사이트로의 링크가 (301, 302, <meta> 리디렉트, 또는 이 페이지는 옮겨졌습니다.)라고 하면 debian-www에 알려주십시오.

깨진 링크 (404, 403, 또는 링크가 말하는 것과 다른 페이지)를 찾으면, 그것을 수정하고 debian-www에 번역가가 알고 있는대로 얘기하십시오. 더 좋은 것은, 가능하다면 다른 모든 번역에서 링크를 수정하고, translation-check를 업데이트하는 겁니다.

텍스트를 데이터에서 분리

foo.def 그리고 foo.data 파일은 무엇인가요?

더 쉽게 번역을 최신으로 유지하려고, 일부 페이지에서는 일반적인 부분과 (데이터) 텍스트 부분을 (텍스트) 분리했습니다. 번역자는 텍스트 부분만 번역하면 되고, 일반적인 부분은 자동으로 추가됩니다.

예를 들어 보면 이해하는데 도움이 될 것입니다. CD/vendors에 들어있는 공급사 목록 페이지를 생성하는데는 여러 개의 파일이 이용됩니다.

index.wml:
공급사 페이지의 맨 위 텍스트가 이 파일에 들어 있습니다. 이 파일의 번역된 복사본이 각 언어 디렉터리에 들어 있어야 합니다.
vendors.CD.def:
각 벤더 항목마다 필요한 텍스트 조각이 모두 들어 있습니다. 번역은 <언어>/po/vendors.xy.po 파일을 통해 추가됩니다.
vendors.CD:
이 파일에는 언어와 무관한 실제 공급사의 항목이 들어있습니다. 그러므로 번역자는 이 파일을 수정할 필요가 없습니다.

cdvendors@debian.org 뒤에 있는 사람들이 새로운 공급사를 추가할 때, debiancd.db 파일에 추가하고, 이 파일을 WML 형식의 vendors.CD 파일로 변환하고 (getvendors.pl 이용), 그리고 WML 및 makefile에서 마술을 부립니다. 모든 번역은 현재 번역된 텍스트와 함께 다시 빌드되고, 새로운 공급사를 포함합니다. (공짜로 번역 업데이트!)

새 페이지 추가하기

데비안에 새 페이지를 추가하기는 꽤 쉽습니다. WML을 이용해 header 및 footer를 올바르게 생성할 수 있습니다. 여러분이 할 일은 새 파일 맨 위에 아래와 같은 행을 포함하는 것이면 됩니다.:

#use wml::debian::template title="페이지의 제목"

이 뒤에 페이지 본문이 옵니다. 모든 페이지는 wml::debian::template 서식 파일을 사용해야 합니다. 예외는 뉴스나 보안 항목처럼 해당 섹션을 위한 특별한 서식을 사용할 때 뿐입니다.

서식 중에는 새로 만든 페이지에 영향을 미치는 일정한 변수를 지정할 수 있습니다. 변수를 이용해 매번 상황마다 다른 서식을 만들 필요가 없고, 추가 기능을 구현하기 쉽게 합니다. 현재 사용할 수 있는 변수와 그 목적은 다음과 같습니다:

BARETITLE="true"
일반적으로 모든 <title> 태그의 앞에 붙는 "데비안 --" 부분을 제거합니다./dd>
NOHEADER="true"
페이지에서 최초 헤더를 제거합니다. 물론 직접 지정한 헤더를 본문에 추가할 수 있습니다.
NOMIRRORS="true"
페이지에서 미러 사이트 드롭다운 목록을 제거합니다. 이 기능은 일부 페이지를 제외하면 보통 사용하지 않기를 권합니다.
NOHOMELINK="true"
보통의 경우 페이지 맨 아래 추가되는, 메인 데비안 페이지로 돌아가는 링크를 제거합니다.
NOLANGUAGES="true"
보통의 경우 페이지 맨 아래 추가되는, 다른 언어 버전에 대한 링크를 제거합니다.
GEN_TIME="true"
결과 파일의 날짜를 소스 파일의 타임스탬프가 아닌, 생성된 파일의 타임스탬프로 설정합니다.
NOCOPYRIGHT="true"
페이지 맨 아래에 있는 저작권 고지를 제거합니다.

위 변수의 값으로 어떤 문자열이든 사용할 수 있습니다. true, yes, foo, 무엇이든 상관 없습니다.

변수 사용 예제는 포트 페이지에서 자기만의 헤더를 사용하는 경우입니다. ports/arm/index.wml 페이지에서 다음을 사용합니다:

#use wml::debian::template title="ARM Port" NOHEADER="yes"

기존 서식을 이용해 할 수 없는 무언가를 하고 싶으면, 먼저 기존의 서식의 확장을 고려해 보십시오. 하위 호환되는 방식으로 서식을 확장하는 일이 불가능하다면, 기존 서식을 포함하는 상위 서식을 만들어서 다음 (희망사항으로 매 6개월을 넘지 않을) 주요 업그레이드에 변환될 수 있도록 하십시오.

스크립트로 생성되거나 문장이 거의 없는 페이지를 만들 경우, 태그에 <gettext> 사용을 고려해 보십시오. 그러면 번역을 최신으로 유지하는 일이 쉬워집니다.<

다른 파일 포함

페이지의 일부분을 별개 파일로 분리하고, 메인 파일에서 포함하고 싶을 때, 파일에 번역해야 하는 내용이 들어 있으면 .src 확장자를 사용하십시오. 그러면 포함할 파일도 .wml 파일과 마찬가지로 변화를 추적합니다. .inc 같은 다른 확장자를 사용하면 번역자가 업데이트 여부를 알아차릴 수 없어서 언어마다 다른 내용이 들어갈 수 있습니다.

새 디렉터리 추가하기

주의: install이름의 디렉터리를 만들지 마십시오. 그것은 make를 헷갈리게 하고 디렉터리 안의 페이지는 자동 업데이트가 안 될 겁니다.

아래는 웹사이트에 디렉터리를 추가하는 예입니다.

   mkdir foo
   git add foo
   cd foo
   cp ../intro/Makefile .
   git add Makefile

상위 디렉터리 안의 Makefile을 편집하고 방금 만든 디렉터리를 SUBS 변수에 추가합니다. 이러면 make가 동작할 때 디렉터리를 빌드에 추가합니다.

마지막으로, 저장소에 만들어진 모든 변화를 커밋합니다.

   git commit Makefile foo