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,并包括舞台版本的链接。请考虑添加对您上演的提交的参考,以便审阅者知道是否进行了任何更改。