'자기소개-서론-본론-마무리' 형식을 지키면 됩니다. 파일 포맷은 이메일로 전달할 수만 있다면 어떠한 것으로도 괜찮습니다. 이미지를 포함할 수 있습니다. 작년의 기사를 참고하세요.
11월 말까지 여기로(amoc.yn@gmail.com) 보내주세요.
자세한 설명은 위키(http://advent.perl.kr/2012/wiki)를 확인해 주세요.
모든 작업은 develop 브랜치를 기반으로 합니다.
앞으로의 작업은 git flow
를 사용하는 것을 권고합니다.
$ git flow init
$ git checkout develop
각 날짜에 배정된 원고는 feature/editor-2012-12-xx 브랜치에서 별도로 관리합니다. 이미 해당 날짜의 브랜치가 생성되어 있지는 않은지 아래와 같이 확인하세요. 한편, 파일명과 브랜치명에 포함된 2012-12-xx 포맷은 꼭 지켜야 합니다.
$ git flow feature list
이미 누군가가 해당 날짜에 배정하여 브랜치를 만들었다면. 동일한 날짜의 브랜치를 중복하여 생성해서는 안됩니다. 날짜가 겹치거나 충돌하는 문제는 커뮤니티에 문의해 주세요.
$ git flow feature start editor-2012-12-xx develop
$ ...
$ git add 2012/drafts/2012-12-xx/draft1.pdf
$ git add 2012/drafts/2012-12-xx/draft2.png
$ git add 2012/drafts/2012-12-xx/draft3.html
브랜치가 없으면 위와 같이 생성한 후, 2012/drafts/2012-12-xx
에 등록합니다.
원고 파일의 포맷과 개수는 다양하기 때문에
이를 보존하기 위해 drafts
의 하위 디렉터리에 보관합니다.
$ git flow feature publish editor-2012-12-xx
마지막으로 이 브랜치를 외부로 배포하여 편집자가 해당 브랜치에서 작업할 수 있도록 합니다.
먼저 이전 섹션에서 서술한 바와 같이 누군가가 editor-2012-12-xx 브랜치에 원고를 등록하여 배포해야 합니다. 현재 레포지터리를 로컬에 갱신하고 해당 날짜의 기사 원고가 등록되어 있는지 확인합니다.
$ git fetch origin
$ git flow feature list
브랜치가 존재하면 아래와 같이 체크아웃합니다.
$ git flow feature checkout editor-2012-12-xx
편집 과정을 거쳐 만들어지는 최종 기사는 마크다운 포맷입니다.
아래와 같이 articles
디렉터리에 마크다운 뼈대를 작성하고 등록합니다.
drafts
디렉터리에 등록된 원고를 참고하여 마크다운 포맷에 맞게 옮겨 적습니다.
기사의 상단에는 저자의 프로필이 있어야 합니다.
오탈자나 이해하기 힘든 문맥을 바로잡습니다.
예제 코드는 직접 실행해보고 실행이 되지 않는다면 알맞게 고쳐야 합니다.
$ vim 2012/articles/2012-12-xx.mkd
$ ..
$ git add 2012/articles/2012-12-xx.mkd
$ git commit 2012/articles/2012-12-xx.mkd
$ git push
$ ..
$ git add 2012/articles/2012-12-xx.mkd
$ git commit 2012/articles/2012-12-xx.mkd
$ git push
$ ..
이미지는 share/static
에 넣습니다. 이미지는 2012-12-nn-ab.png
와 같은
포맷을 따라야 합니다. 작게 축소된 이미지는 2012-12-nn-ab_r.png
과 같이
뒤에 _r
을 붙입니다. 2012년 웹사이트 레이아웃에서는 기사에 포함되는
축소된 이미지의 최대 너비와 높이를 각각 500px과 380px으로 제한합니다.
bash 환경에서 아래 명령을 통해 축소된 이미지를 생성할 수 있습니다.
for f in 2012-12-*
do convert $f -resize 500x380\> ${f%.*}_r.${f#*.}
done
기사 브랜치의 편집이 완료되면 아래와 같이 웹사이트에 갱신합니다.
$ git feature finish editor-2012-12-xx
그런 다음 서버가 갱신된 기사를 동기화하도록 합니다.
이 웹사이트를 개발하거나 테스트하기 위해 로컬에 직접 웹페이지를 생성할 수 있습니다.
아래 두가지 모듈에 특히 의존하고 있습니다. cpanm
을 통해 설치합니다.
- WWW::AdventCalendar
- Text::MultiMarkdown
advent.ini
파일에 아래와 같이 today
값을 등록하여
오늘의 날짜를 강제로 지정할 수 있습니다.
today = 2012-12-12
기사는 today
이후의 날짜에 대해서는 생성되지 않습니다.
이렇게 임의로 지정한 설정 파일을 레포지터리에 갱신해서는 안됩니다.
$ make
$ firefox output-2012/index.html
그런다음, make
를 통해 웹페이지를 생성하면 정적 파일로만 이루어진
output-2012
디렉터리가 생성됩니다.