DART 프로그래밍 언어의 문서 사이트는 Eleventy로 구축되어 FireBase에서 호스팅됩니다.
우리는 모든 종류의 기여를 환영합니다! 로컬로 사이트를 설정하려면 사이트 구축에 관한 아래 지침을 따르십시오. 이 저장소에 기여하는 것에 대한 자세한 내용은 기여 지침을 확인하십시오.
관심을 사로 잡는 문제를 찾거나 제안 된 변경에 문제를 일으키는 것으로 시작하십시오. 의견을 추가하여 모든 사람에게 귀하가 작업 중이라는 사실을 알리고 동일한 문제에 대해 질문을 자유롭게 요청하십시오.
이 사이트를 업데이트하려면 Repo를 포크하고 변경하고 풀 요청을 생성하십시오. 작고 포함 된 변경 사항 (예 : 스타일 및 오타 수정)의 경우이 사이트를 구축 할 필요가 없습니다. 종종 Github UI를 사용하여 변경할 수 있습니다. 풀 요청에서 변경 사항을 자동으로 중재 할 수 있습니다.
중요한
이 저장소를 로컬로 복제하는 경우 하위 모듈로 클로닝에 대한 아래 지침을 따르십시오.
변경에 코드 샘플이 포함되거나 페이지를 추가/제거하거나 내비게이션에 영향을 미치는 경우 제출하기 전에 작업 구축 및 테스트를 고려하십시오.
사이트를 원하거나 구축 해야하는 경우 아래 단계를 따르십시오.
간단한 텍스트 및 CSS 조정 이외의 변경에 대해서는 사이트를 로컬로 운영하여 편집 레프레시주기를 활성화하는 것이 좋습니다.
사이트를 구축하고 개발하려면 다음 도구를 설치하십시오.
사이트를 구축하고 툴링을 실행하려면 다트의 최신 안정적인 릴리스가 필요합니다. 이것은 Flutter SDK에 포함 된 다트 일 수 있습니다. 다트가 없거나 업데이트가 필요한 경우 Get Dart SDK의 지침을 따르십시오.
DART를 이미 설치 한 경우 경로에 있고 이미 최신 안정 버전인지 확인하십시오.
dart --version
사이트를 구축하려면 Node.js의 최신 안정적인 LTS 릴리스가 필요합니다. Node.js가 없거나 업데이트 해야하는 경우 컴퓨터의 해당 버전을 다운로드하고 Node.js 다운로드 아카이브의 지침을 따르십시오. 원하는 경우 NVM과 같은 버전 관리자를 사용하고 리포지토리의 루트 디렉토리에서 nvm install 실행할 수 있습니다.
이미 Node가 설치되어있는 경우 경로에서 사용할 수 있고 이미 최신 안정 버전 (현재 20.14 이상) 을 확인하십시오.
node --version
버전이 오래된 경우 원래 설치 한 방법에 대한 업데이트 지침을 따르십시오.
메모
이 저장소에는 git 서브 모듈이 있어 복제 방식에 영향을 미칩니다. GitHub 문서는 포킹 및 복제 저장소에 대한 일반적인 도움을줍니다.
DART 조직의 회원이 아닌 경우, 귀하의 계정에 따라이 리베르의 포크를 만들고 해당 포크에서 PR을 제출하는 것이 좋습니다.
포크가 있거나 다트 조직 회원이 있으면 다음 하위 모듈 클로닝 기술 중 하나를 선택하십시오 .
--recurse-submodules 옵션을 사용하여 Repo와 그 하위 모듈을 동시에 복제하십시오.
git clone --recurse-submodules https://github.com/dart-lang/site-www.git
하위 모듈없이 이미 레포를 복제 한 경우 저장소의 루트 에서이 명령을 실행하십시오.
git submodule update --init --recursive
메모
개발 중 언제든지 git submodule 명령을 사용하여 하위 모듈을 새로 고칠 수 있습니다.
git pull && git submodule update --init --recursive
사이트 인프라를 계속 설정하기 전에 DART 및 NODE.J의 올바른 버전이 설정되어 전제 조건의 지침에 따라 사용할 수 있는지 확인하십시오.
선택 사항 : Repo와 그 하위 모듈을 복제 한 후에는 변경 사항에 대한 지점을 만듭니다.
git checkout -b <BRANCH_NAME>
저장소의 루트 디렉토리에서 사이트의 다트 종속성을 가져 오십시오.
dart pub get
선호하는 설치 방법을 사용하여 pnpm 설치하십시오. pnpm NPM 패키지의 대안적이고 효율적인 패키지 관리자입니다. 이미 pnpm 있는 경우 최신 안정 버전이 있는지 확인하십시오. corepack 사용하여 pnpm 버전을 설치하고 관리하는 것이 좋습니다. 대부분의 노드 설치가 포함되어 있기 때문입니다.
corepack 전에 사용하지 않은 경우 먼저 corepack enable 사용하여 활성화해야합니다. 그런 다음 저장소의 루트 디렉토리에서 올바른 pnpm 버전을 설치하려면 corepack install 실행하십시오.
corepack enable
corepack install
pnpm 설치되고 설정되면 pnpm install 사용하여 사이트의 NPM 종속성을 가져 오십시오. pnpm 사용하는 것이 좋지만 npm 사용할 수도 있습니다.
pnpm install
루트 디렉토리에서 dash_site 도구를 실행하여 설정을 유효하게하고 사용 가능한 명령에 대해 알아보십시오.
./dash_site --help
루트 디렉토리에서 현지에서 사이트를 제공하십시오.
./dash_site serve
이 명령은 터미널에 인쇄 된 로컬 포트의 사이트를 생성하고 제공합니다.
http : // localhost : 4000으로 탐색하여 브라우저에서 변경 사항을 봅니다.
4000 가져 오면 포트가 다를 수 있습니다.
생성 된 RAW, 생성 된 HTML 출력 및 구조를 확인하려면 파일 탐색기 또는 IDE에서 _site 디렉토리를보십시오.
로컬 리포를 변경하십시오.
사이트는 대부분의 변경 사항을 자동으로 재건해야하지만 무언가가 업데이트되지 않으면 프로세스를 종료하고 명령을 다시 실행하십시오. 이 기능의 개선이 계획되어 있습니다. 이 문제가 발생하면 문제를 추적하려면 새로운 문제를 열어주십시오.
변경 사항을 지사에 맡기고 PR을 제출하십시오.
변경 사항이 크거나 테스트하려면 변경 사항을 검증하는 것이 좋습니다.
팁
실행할 수있는 추가 명령을 찾으려면 run ./dash_site --help 리포지토리의 루트 디렉토리에서 help.
/examples 또는 /tool 디렉토리에서 코드를 변경 한 경우 작업을 커밋 한 다음 다음 명령을 실행하여 최신 상태인지 확인하고 사이트 표준과 일치하십시오.
./dash_site check-all
이 스크립트가 오류 또는 경고를보고하는 경우 해당 문제를 해결하고 명령을 다시 실행하십시오. 문제가 있으면 문제에 대한 의견을 남겨 주거나 요청을 풀면 최선을 다해 도와 드리겠습니다. Flutter Contributors Discord의 #hackers-devrel 채널에서 우리와 채팅 할 수도 있습니다!
오류 Error: Some code excerpts needed to be updated! 사이트 Markdown 파일의 하나 이상의 코드 발췌 부분은 해당 .dart 파일에서 선언 된 코드 영역과 동일하지 않음을 의미합니다.
이 오류를 해결하려면 site-www 디렉토리의 루트에서 run ./dash_site refresh-excerpts 실행하십시오.
코드 발췌문 작성, 편집 및 사용에 대한 자세한 내용은 초기 업데이트 패키지 문서를 확인하십시오.
제출 된 풀 요청은 사이트 관리자가 자동으로 준비 할 수 있습니다. 사이트를 직접 무대에 올리려면 정식 버전을 만들어 Firebase에 업로드 할 수 있습니다.
Firebase 프로젝트가 아직 없다면
Firebase 콘솔로 이동하여 자신의 Firebase 프로젝트 (예 : dart-dev-staging )를 만듭니다.
로컬 터미널로 돌아가서 로그인했는지 확인하십시오.
firebase login
프로젝트가 존재하는지 확인하고 해당 프로젝트를 활성화하십시오.
firebase projects:list
firebase use <your-project>
저장소의 루트 디렉토리에서 사이트를 작성하십시오.
./dash_site build
이를 통해 사이트를 작성하여 로컬 _site 디렉토리에 복사합니다. 해당 디렉토리가 이전에 존재하면 교체됩니다.
활성화 된 Firebase Project의 기본 호스팅 사이트에 배포 :
firebase deploy --only hosting
GitHub의 PR으로 이동하여 Steped 버전의 링크를 포함하십시오. 검토자가 추가 변경이 이루어 졌는지 알 수 있도록 무대에 대한 참조에 대한 참조를 추가하는 것을 고려하십시오.