知海

贡献指南:贡献到 graphql.org

graphql-github-io-zh-Hans项目维护与贡献

贡献指南:贡献到 graphql.org

本仓库受 GraphQL 行为准则 管辖。通过贡献,即表示您同意遵守其条款。

感谢您抽出时间贡献!GraphQL 社区因像您这样的人而伟大 🎉

参与方式有很多种。请遵循本指南,如有问题,请随时联系我们

本文档包含的内容

开发指南

在本地运行网站

首先,克隆此仓库并进入目录:

bash 复制代码
git clone https://github.com/graphql/graphql.github.io.git
cd graphql.github.io

然后,使用 Yarn 安装并加载所有必要的依赖:

bash 复制代码
yarn 

注意:Yarn 目前是在本地运行网站的唯一方式

运行 start 脚本以启动服务器:

bash 复制代码
yarn start

最后,在浏览器中打开 http://localhost:8000 即可查看。

GraphQL 网站基于 Gatsby 构建。这意味着默认情况下将提供一个支持热重载的开发环境。

分支策略

graphql.org 的活跃开发发生在 source 分支上。请确保您创建的任何新分支或发起的任何拉取请求都指向 source

项目结构

  • static:将直接复制到 public 的文件。
  • public:将由静态 HTTP 服务器提供的输出文件。
  • src:用于生成网站的 Markdown 和 TypeScript/JavaScript 文件。
    • assets:所有包含样式表的 less 文件。
    • componentsContainers:用于布局和页面的 React 组件。
    • content:包含页面内容的 Markdown 文件。
    • templates:布局模板。
    • utils:辅助函数。

发布更新后的网站

您的更改将被合并到 source 分支。然后,CI 将通过 Netlify 自动发布新版 http://graphql.org

更新内容

修复拼写错误、代码示例错误或格式问题

如果您在文本或代码示例中发现错误,请遵循我们的开发指南发起拉取请求进行修复。

graphql.org 上的所有内容均使用 Markdown 编写和格式化。

添加库、工具或服务到 Code 页面

Code 页面是专为 GraphQL 构建的库、工具和服务的集合。

通用指南

添加资源:

  • 除少数例外情况外,任何向 Code 页面添加新库、工具或服务的拉取请求都将被接受。
  • 任何库都应包含几段描述其用法的文字,让人们有机会了解项目优先级。
  • 如果尚无针对您的编程语言的分类,请添加该分类。

如果它不是库、工具或服务——那么它可以放在 Community 页面上。如果您不确定您的资源适合放在哪里,可以发起 issue 并询问。

移除资源:

  • 不再可用的服务
  • 已归档的代码仓库
  • 维护者声明已放弃的项目
  • 任何会 404 的链接

我们依靠这些具体信号来决定是否移除资源。即使某个项目几年未发布新版本,也不意味着它不可用。

工作流程

要向此页面添加或移除资源,请遵循我们的开发指南发起拉取请求

此页面的内容位于 src/content/code 下的各个目录中。所有内容均使用 Markdown 编写和格式化。

添加资源到 Community 页面

Community 页面重点展示能够帮助人们更深度参与 GraphQL 的相关资源和社群。

要向此页面添加内容,请遵循我们的开发指南发起拉取请求

此页面的内容位于 src/content/community 下的目录中。所有内容均使用 Markdown 编写和格式化。

添加问题到 FAQ

我们的常见问题解答(FAQ)页面旨在帮助解答来自社区的问题。该页面仍在开发中,因此如果您认为有问题缺失——请发起 issue!如果您能在 issue 描述中同时包含问题和建议的答案大纲,那就太好了。

获得维护者批准后,请使用开发指南添加您的问题和答案。FAQ 的内容位于 src/content/faq。每个部分都有自己独立的 Markdown 文件。

注意:此部分的所有答案都应保持供应商中立,并且对各级别的 GraphQL 用户都友好易懂。

当您的答案准备好后,请发起拉取请求

编写新的章节或指南

目前仍有几篇尚无他人撰写的 Best Practices 指南。如果您想认领其中一篇,请在原始 issue 中留言,并说明您将负责哪个主题。

然后,使用我们的开发指南来确定您的新页面最适合放在哪里。我们的文档使用 Markdown 编写和格式化。

准备好供审核后,请发起拉取请求

修改代码

在进行任何代码更新之前,请发起 issue 描述您想要进行的更改。

如果您是基于现有 issue 进行工作,请遵循我们的开发指南进行更改。准备好供审核后,请发起拉取请求 并引用原始 issue。

浏览器支持

我们的目标是支持最新稳定版本的 Chrome、Edge、Firefox、Safari 以及移动端 Safari。

贡献其他内容

有兴趣添加本指南未涵盖的内容?请发起 issue,告诉我们您的想法。

提问

如果您在贡献过程中遇到任何问题或有疑问,欢迎随时发起 issue

发起 PR 以贡献您的代码

您也可以在 GraphQL Slack 的 #website 频道中联系我们的团队。点击此处获取邀请!

本仓库由 EasyCLA 管理。项目参与者必须在做出贡献之前签署免费的(GraphQL 规范会员协议)。此过程只需完成一次,可由个人贡献者或其雇主签署。

要启动签署流程,请针对本仓库发起 PR。如果我们仍需您的会员协议,EasyCLA 机器人将阻止合并。

您可以在此处找到详细信息。如有问题,请发送邮件至 operations@graphql.org

如果您的公司受益于 GraphQL,并希望为支撑我们社区的系统和人提供必要的财务支持,也请考虑加入 GraphQL 基金会的会员。

帮助我们改进文档

发现翻译问题或内容错误?请告诉我们。