DARTプログラミング言語のドキュメントサイトは、Eleventyで構築され、Firebaseでホストされています。
あらゆる種類の貢献を歓迎します!サイトをローカルにセットアップするには、サイトの構築に関する以下のガイドラインに従ってください。このリポジトリへの貢献の詳細については、貢献ガイドラインをご覧ください。
あなたの興味を引く問題を探すことから始めます。または、提案された変更に問題を作成します。コメントを追加して、あなたがそれに取り組んでいることを皆に知らせてください。また、同じ問題について質問してください。
このサイトを更新するには、レポをフォークし、変更を加え、プルリクエストを生成します。小さな、含まれている変更(スタイルやタイプミスの修正など)の場合、おそらくこのサイトを構築する必要はありません。多くの場合、GitHub UIを使用して変更を加えることができます。プルリクエストで変更を自動的にステージングできます。
重要
このリポジトリをローカルにクローニングしている場合は、サブモジュールでクローニングに関する以下の指示に従ってください。
変更がコードサンプル、ページの追加/削除、またはナビゲーションに影響を与える場合は、提出する前に作業の構築とテストを検討してください。
サイトを構築する必要がある場合または必要な場合は、以下の手順に従ってください。
単純なテキストやCSSの微調整を超えた変更については、編集リフレッシュサイクルを有効にするためにサイトをローカルで実行することをお勧めします。
次のツールをインストールして、サイトを構築および開発します。
DARTの最新の安定したリリースは、サイトを構築してそのツールを実行するために必要です。これは、Flutter SDKに含まれるDARTです。 DARTがない場合、または更新する必要がある場合は、Get the DART SDKの指示に従ってください。
既にDARTをインストールしている場合は、それがあなたのパスにあり、すでに最新の安定したバージョンにあることを確認してください。
dart --version
node.jsの最新の安定したLTSリリースは、サイトを構築するために必要です。 node.jsがない場合、または更新する必要がある場合は、コンピューターの対応するバージョンをダウンロードして、node.js Archiveをダウンロードする手順に従ってください。必要に応じて、NVMなどのバージョンマネージャーを使用して、リポジトリのルートディレクトリからnvm install実行できます。
既にノードがインストールされている場合は、パスで利用可能であり、すでに最新の安定したバージョン(現在20.14以降)で利用可能であることを確認してください。
node --version
バージョンが古くなっている場合は、元々のインストール方法については、更新の指示に従ってください。
注記
このリポジトリにはgitサブモジュールがあり、クローンに影響します。 GitHubのドキュメントは、レポの分岐とクローニングに関する一般的なヘルプを持っています。
DART組織のメンバーでない場合は、独自のアカウントの下にこのレポのフォークを作成してから、そのフォークからPRを提出することをお勧めします。
フォーク(またはDART ORGメンバー)がある場合は、次のサブモジュールクローニングテクニックのいずれかを選択します。
--recurse-submodulesオプションを使用して、同時にリポジトリとそのサブモジュールをクローンします。
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.jsの正しいバージョンを検証し、Get The Prererequisitesの指示に従って使用できます。
オプション:リポジトリとそのサブモジュールをクローニングした後、変更のためのブランチを作成します。
git checkout -b <BRANCH_NAME>
リポジトリのルートディレクトリから、サイトのDART依存関係を取得します。
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採取すると、ポートが異なる場合があることに注意してください。
生成された生成されたHTML出力と構造を確認する場合は、ファイルエクスプローラーまたはIDEの_siteディレクトリを表示します。
ローカルリポジトリに変更を加えます。
サイトはほとんどの変更を自動的に再構築する必要がありますが、何かが更新されない場合は、プロセスを終了してコマンドを再実行します。この機能の改善が計画されています。これが発生した場合に問題を追跡するために、新しい問題を開いてください。
変更をブランチにコミットし、PRを提出します。
変更が大きい場合、またはテストしたい場合は、変更を検証することを検討してください。
ヒント
実行できる追加のコマンドを見つけるには、Repositoryのルートディレクトリから./dash_site --help実行してください。
/examplesまたは/toolディレクトリのコードを変更した場合は、作業をコミットしてから、次のコマンドを実行して、最新であることを確認し、サイト標準と一致させます。
./dash_site check-all
このスクリプトがエラーまたは警告を報告する場合は、これらの問題に対処し、コマンドを再実行します。問題がある場合は、問題にコメントを残したり、リクエストをプルしたりしてください。私たちはあなたを助けるために最善を尽くします。また、Flutter Contributors Discordで#hackers-devrelチャンネルでチャットすることもできます。
エラーError: Some code excerpts needed to be updated!サイトのマークダウンファイルの1つ以上のコード抜粋が、対応する.dartファイルで宣言されたコード領域と同一ではないことを意味します。
このエラーを解決するには、 site-www ./dash_site refresh-excerptsのルートから、実行されます。
コードの抜粋の作成、編集、および使用の詳細については、Excterpt Updaterパッケージのドキュメントをご覧ください。
提出されたプルリクエストは、サイトメンテナーによって自動的にステージングできます。ただし、自分でサイトをステージングしたい場合は、フルバージョンを構築してFireBaseにアップロードできます。
FireBaseプロジェクトがまだない場合は、
FireBaseコンソールに移動し、独自のFireBaseプロジェクト(たとえば、 dart-dev-staging )を作成します。
地元のターミナルに戻り、ログインしていることを確認してください。
firebase login
プロジェクトが存在し、そのプロジェクトをアクティブ化することを確認してください。
firebase projects:list
firebase use <your-project>
リポジトリのルートディレクトリから、サイトを構築します。
./dash_site build
これにより、サイトが構築され、ローカル_siteディレクトリにコピーします。そのディレクトリが以前に存在していた場合、それは交換されます。
アクティブ化されたFireBaseプロジェクトのデフォルトホスティングサイトに展開します。
firebase deploy --only hosting
GithubでPRに移動し、段階的なバージョンのリンクを含めます。レビュー担当者がさらに変更が加えられているかどうかを知るように、ステージングしたコミットへの参照を追加することを検討してください。