DART編程語言的文檔網站,建造了高度,並在Firebase上託管。
我們歡迎各種貢獻!要在本地設置該站點,請遵循以下有關構建站點的指南。要了解有關為該存儲庫做出貢獻的更多信息,請查看貢獻指南。
首先尋找引起您興趣的問題,或者在您建議的更改中創建問題。考慮添加評論,讓所有人都知道您正在努力,並隨時提出您在同一問題上遇到的任何問題。
要更新此站點,請分叉存儲庫,進行更改並生成拉動請求。對於小的,包含的更改(例如樣式和錯別字修復),您可能不需要構建此網站。通常,您可以使用GitHub UI進行更改。我們可以在您的拉請請求中自動進行更改。
重要的
如果要在本地克隆此存儲庫,請按照以下指令使用其子模塊克隆。
如果您的更改涉及代碼樣本,請添加/刪除頁面或影響導航,請在提交之前考慮構建和測試您的工作。
如果您需要或需要構建網站,請按照以下步驟操作。
對於簡單文本和CSS調整之外的更改,我們建議在本地運行該站點以啟用編輯回復周期。
安裝以下工具來構建和開發網站:
需要最新的DART穩定版本來構建網站並運行其工具。這可以是彈奏SDK中包含的飛鏢。如果您沒有飛鏢或需要更新,請按照獲取DART SDK的說明進行操作。
如果您已經安裝了飛鏢,請驗證它在您的路徑上,並且已經是最新穩定版本:
dart --version
構建網站需要最新的stable LTS版本。如果您沒有node.js或需要更新,請下載計算機的相應版本,並按照Node.js下載存檔的說明進行操作。如果願意,可以使用諸如NVM之類的版本管理器,並從存儲庫的根目錄中運行nvm install 。
如果您已經安裝了節點,請驗證它可在您的路徑上可用,並且已經是最新的穩定版本(當前20.14或更高版本) :
node --version
如果您的版本已過時,請按照更新說明進行最初安裝的方式。
筆記
該存儲庫具有git subodules ,這會影響您的克隆。 GitHub文檔在分叉和克隆存儲庫方面具有一般幫助。
如果您不是DART組織的成員,我們建議您根據自己的帳戶創建此存儲庫的叉子,然後從該叉子中提交PR。
有叉子(或者您是飛鏢組織成員)後,請選擇以下suppoule-cloning技術:
使用--recurse-submodules選項同時克隆回購及其subsodule:
git clone --recurse-submodules https://github.com/dart-lang/site-www.git
如果您已經將存儲庫克隆到沒有subsodule的情況下,請從存儲庫的根部運行此命令:
git submodule update --init --recursive
筆記
在開發過程中的任何時間,您都可以使用git submodule命令來刷新子模型:
git pull && git submodule update --init --recursive
在繼續設置網站基礎架構之前,請通過按照獲得先決條件的說明來驗證DART和NODE.JS的正確版本。
可選:克隆回購及其子模型後,為您的更改創建一個分支:
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後,請使用pnpm install獲取網站的NPM依賴項。我們強烈建議您使用pnpm ,但也可以使用npm 。
pnpm install
從根目錄中,運行dash_site工具以驗證您的設置並了解可用命令。
./dash_site --help
從根目錄中,在本地服務。
./dash_site serve
該命令在印刷到您的終端的本地端口上生成並為該站點提供服務。
通過導航到http:// localhost:4000來查看瀏覽器中的更改。
請注意,如果採用4000 ,端口可能會有所不同。
如果要檢查原始,生成的HTML輸出和結構,請在文件資源管理器或IDE中查看_site目錄。
對本地存儲庫進行更改。
該站點應自動重建大多數更改,但是如果某些內容沒有更新,請退出過程並重新運行命令。計劃改進此功能。如果發生這種情況,請打開一個新問題以跟踪該問題。
將您的更改提交分支機構並提交您的公關。
如果您的更改很大,或者您想對其進行測試,請考慮驗證更改。
提示
要查找可以運行的其他命令,請從存儲庫的根目錄中運行./dash_site --help 。
如果您在/examples或/tool目錄中對代碼進行了更改,請提交您的工作,然後運行以下命令以驗證它是最新的,並匹配站點標準。
./dash_site check-all
如果此腳本報告了任何錯誤或警告,請解決這些問題並重新運行命令。如果您有任何問題,請對您的問題發表評論或提取請求,我們將盡力為您提供幫助。您也可以在“撲朔迷離的貢獻者”中的#hackers-devrel頻道上與我們聊天!
錯誤Error: Some code excerpts needed to be updated!意味著網站降低文件中的一個或多個代碼摘錄與相應的.dart文件中聲明的代碼區域並不相同。
為了從site-www目錄的根部解決此錯誤,請運行./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項目的默認託管網站:
firebase deploy --only hosting
在GitHub上導航到您的PR,並包括舞台版本的鏈接。請考慮添加對您上演的提交的參考,以便審閱者知道是否進行了任何更改。