기여자 가이드 - ShinHyunjin/www.html5rocks.com GitHub Wiki
원문 링크 : https://github.com/html5rocks/www.html5rocks.com/wiki/Contributors-Guide
html5rocks.com에 기여하려는 third-party 개발자들을 위한 단계별 가이드 입니다. 문서를 작성하기 전에 작성 도움말을 읽어주세요.
HTML5Rocks는 Google App Engine (Python)으로 동작합니다. 코드를 체크아웃 받기전에 App Engine Python SDK를 다운로드 받아 주세요. SDK가 꼭 필요하지는 않지만 다운로드 받을 것을 권장합니다. 로컬 개발 서버를 구동시켜 볼 수 있으며 tutorial, sample, 또는 patch 적용 전에 변경사항을 확인 할 수 있습니다.
** 만약 글(article)을 작성하는데 흥미를 느끼신다면 새 이슈를 작성하고 콘텐츠 작성 전에 우리의 의견을 기다려 주세요.**
HTML5Rocks 전체(www, studio, slides, playground, updates)는 GitHub에 있습니다.
각각의 서브도메인 지점은 각 서브도메인과 일치하는 repository에 Google App Engine (Python) 애플리케이션으로 분리되어 있습니다.
- www.html5rocks.com: 소스코드 => www.html5rocks.com
- studio.html5rocks.com: 소스코드 => studio.html5rocks.com
- slides.html5rocks.com: 소스코드 => slides.html5rocks.com
- playground.html5rocks.com: 소스코드 => playground.html5rocks.com
- updates.html5rocks.com: 소스코드 => updates.html5rocks.com
해당 소스를 체크아웃받으려면 다음과 같은 커맨드로 fork 해 주세요:
git clone git://github.com/html5rocks/www.html5rocks.com.git
이 섹션은 patch를 제출하는 경우에만 해당합니다. 아래 언급된 CLA는 최신 글(article)이나 tutorial을 제출하는 경우에는 해당 하지 않습니다.
우리는 여러분의 코드 patch를 접수받는 것을 사랑합니다! 그러나 우리나 여러분이 접수한 코드 patch를 받아들이기 전에 우리는 법적인 장애물을 통과해야 합니다.
개인 또는 기업 CLA를 작성해 주세요.
- 개인 적으로 작성한 원본 소스 코드이거나 여러분이 소유한 지적재산권이라면 individual CLA에 서명해야 합니다.
- 여러분의 작업물을 HTML5Rocks.com에 기여할 수 있도록 하는 회사에 근무하는 경우 corporate CLA에 서명해야 합니다.
위의 두 링크 중 하나에 따라 적절한 CLA에 접속하여 서명법과 반환방법을 따르세요. 우리가 서명을 받으면 우리는 여러분을 공식 기여자 리스트에 추가 할수 있으며 여러분의 patch를 받아들일 수 있습니다.
- 위의 CLA에 서명 합니다.
- 여러분이 제출하고 싶은 코드를 결정합니다. 제출은 이슈 트래커에서 하나의 이슈에 해당하는 변경셋이어야 합니다. 제출 당 하나 이상의 논리적 변경을 섞지 말아주세요. 이력 관리가 힘들어지기 때문입니다. 여러분이 변경하고자 하는 부분(예. 샘플 또는 기능 추가)이 이슈 트래커 상의 이슈로 식별되어 있지 않다면 새로운 이슈를 만들어 주세요.
- 제출하기: 여러분이 제출하기 위한 준비가 되었다면, 우리에게 Pull Request를 보내 주세요!
- article 과 case study는 Creative Commons Attribution 3.0 라이선스 하에 있습니다. 여러분의 콘텐츠가 해당 라이선스 적용에 문제가 없는지 확인해 주세요.
- 작성하려는 콘텐트가 존재하지 않는 것이라면 다른 사람들로부터 여러분의 작업 진행에 대한 follow/comment를 받을 수 있도록 새로운 이슈를 생성해 주세요. ** 여러분이 콘텐츠 작성을 시작하기 전에 여기에서 기다려 주세요! **
###저작 과정###
- 만약 여러분이 새로운 저작자라면
www.html5rocks.com/database/profiles.yaml
에 여러분을 추가 해 주세요. 또한 프로필 페이지에 나타날 여러분의 사진도.png
로 필요합니다. - 여러분은
/content/tutorials/<api_topic>
아래에 tutorial/case study를 추가할 수 있습니다. 만약 적절한 디렉토리가 존재하지 않는다면 여러분이 새로운 디렉토리를 만들어 주세요. 우리의 컨벤션은/content/tutorials/<api_topic>/<tutorial_name>/<lang>/index.html
입니다. 이 디렉토리 맵은http://www.html5rocks.com/<lang>/tutorials/<api_topic>/<tutorial_name>
와 같이 사이트에 나타나므로 새로운 directory/tutorial 이름을 만들때는 훌륭한 판단을 해 주세요. HTML파일들은 Django 기반 템플릿 시스템에 의해 자동적으로 파싱됩니다. Django template tags and filters에 대한 정보를 살펴보세요. - 여러분이 case study를 작성한다면 여러분의 글(article)을 /content/tutorials/casestudies/`아래에 추가해 주세요.
-
www.html5rocks.com/content/tutorials/tutorial.html.template
를 여러분의 디렉토리로 복사한 후{% block iscompatible %}
(자신의 기능),{% block share_image %}{% endblock %}
(소셜 위젯 상에서 공유)과 같은 holder blocks (all optional)을 교체해 주세요. 만약<head>
안에 style 또는 code가 필요하다면 head 블록을 오버라이드 해주세요. 또한 상단의 코멘트를 삭제해 주세요. 그렇지 않으면 parsing error가 발생합니다.
마지막으로 여러분의 article을 /database/tutorials.yaml 파일에 추가해 주세요. 이 파일은 우리의 데이터베이스를 백업하는데 사용됩니다. 이전 진입점을 여러분의 tutorial의 상세에 맞게 수정해 주세요. 되도록 기존 태그를 활용해 주세요. 여러분이 case study를 작성한다면 type:casestudy
로 article에 태그해야 합니다.
제출하기: 여러분이 여러분의 작업결과물을 보낼 준비가 되었을때 우리에서 Pull Request를 요청해 주세요.
-
http://www.html5rocks.com/features/offline
과 같은 URL은 content/features/offline.html 안의 파일을 사용합니다. - 새 파일은 같은 디렉토리의
_feature_blank.html
을 이용하여 작성되어야 합니다. 이것은 여러분의 시간을 절약할수 있는 유용한 markup skeleton을 갖고 있습니다.
제출하기: 여러분이 여러분의 작업결과물을 보낼 준비가 되었을때 우리에서 Pull Request를 요청해 주세요.
다국어 작업 대해 주의해야 할 몇가지 사항:
- 모든 템플릿은
{% include 'i18n' %}
을 문서상 가능한 가장 처음에 위치시켜i18n
라이브러리를 포함해야 합니다. - UI문자열은
{% blocktrans %}
또는{% trans ... %}
태그들로 감싸져야만 합니다. 이 내용은 http://docs.djangoproject.com/en/1.2/topics/i18n/에 잘 설명되어 있습니다. - article들은 하나의 서브디렉토리에 각각의 locale을 갖습니다. 예를 들면 https://github.com/html5rocks/www.html5rocks.com/tree/master/content/tutorials//3d/css/en/index.html 와 같습니다.
- 유사하게, https://github.com/html5rocks/www.html5rocks.com/tree/master/content/tutorials/casestudies 에 모든 case study들이 위치합니다.