!!!###!!!title=3.如何贡献文档——VisActor/VStory 社区贡献者文档!!!###!!!!!!###!!!description=---title: 3.如何贡献文档key words: VisActor,VChart,VTable,VStory,VMind,VGrammar,VRender,Visualization,Chart,Data,Table,Graph,Gis,LLM---!!!###!!!

创建分支

VStory 默认分支为 develop 分支。无论是功能开发、bug 修复、文档编写,都请新建立一个分支,再合并到 develop 分支上。使用以下代码创建分支:

// 创建文档、demo分支
git checkout -b docs/add-funnel-demo

寻找或者创建 issue

原则上,我们规定每一个 pr 都要有对应的 issue。在开始开发之前,请确认是否有对应的 issue,且 issue 没有被认领。

搜索文档 issue

可以通过如下方式搜索文档相关的 issue:

is:open label:docs

其中他有些 feature 会关联 doc 标签,可以进一步看一下该 issue 是不是纯文档任务。

创建文档 issue

点击 “NEW ISSUE”,打开 issue 选择页面,选择“Documentation Request”。

填写你要提交的文档 issue 相关信息即可。

认领 issue

如果你想撰写文档或者修改文档 bug,可以在该 issue 下留言认领。管理员会联系你,确认后将 issue assign 给你。

例如:

创建或者修改文档

VStory 文档和 demo 在项目的中的位置如下:

目前文档类型如下:

  • examples:图表示例,对应站点:

https://www.visactor.io/vstory/example

找到对应的文档位置进行新增或者修改。这里需要注意的是部分文档需要同时维护 “menu.json” 文件。

该文件对应文档最后在站点上显示的位置和名称等。例如

借助豆包 Marscode AI 编程助手 进行文档写作

Marscode AI 编程助手

借助豆包Marscode AI 编程助手,可以在文档创作的整个流程中提供全方面的帮助。

如果你还没有安装Marscode AI 编程助手,请从该链接进入下载页面:https://www.marscode.cn/home?utm_source=developer&utm_medium=oss&utm_campaign=visactor_a

在文档写作中,合理使用 context 指令,可以提升内容的准确性。

**⭐️ #Workspace**

选择 Workspace 中的全局代码作为上下文,AI 将根据用户 Query 自动寻找相关代码 Context

**⭐️ #Files**

搜索选择代码仓库中的文件作为上下文

**⭐️ #Code**

搜索选择代码仓库中的函数、类作为上下文

下面举例说明,如何使用Marscode AI 编程助手 进行文档写作。

5.1 提供文档写作思路

这里 **通过 # 唤起 #Workspace ,**然后进行提问,希望它帮忙生成一份开发者文档大纲。

5.2 生成项目结构说明

这里 **通过 # 唤起 #Workspace ,**然后进行提问,希望它帮忙生成一份项目结构说明文档。

我们仍然可以针对子文件夹,进行进一步的提问。

5.3 生成文件或代码详解

5.3.1 生成代码说明

当我们在文件中选择一段代码,可以从悬浮菜单中选择 Explain 命令,Marscode 会为我们生成详细的代码解释。我们可以在此基础上,进行校对和改编。

也可以直接在对话框中输入 Explain 命令。

这里也可以直接使用上面提到的 #Code context 来结合 Explain 和你的指令来进行更细节的任务。

5.3.2 生成针对整个文件的说明

Explain 可以和 Context 或者 Files 命令搭配使用,用来生成针对整个文件的说明文档。

5.4 生成示例代码

为了更好的解释说明原理和用法,通常需要给出可以实际运行的 demo,可以利用 Marscode 的代码生成能力为我们生成示例代码。不过目前各种 AI 的代码生成能力都不能保证准确,还需要进一步的进行验证。

5.5 内容检索

通常我们的每个问答,Marscode 都会给出参考文档,这些文档可以给我们提供更多参考上下文,供进一步分析。

也可以直接进行文件检索:

5.6 翻译文档

VisActor 的文档需要同时提供中英文,Marscode 可以辅助用来进行翻译。

提交代码

文档完成之后,先把代码 push 到你的远程分支。例如:

git commit -a -m "docs: add custom funnel demo and related docs"

VisActor 的 commit 提交信息遵循 Conventional Commits 规范

<type>[optional scope]: <description>

其中常用的type包括 docs(文档、日志修改)、feat(新功能)、fix(问题修复)、refactor(代码重构)等,请根据实际情况选择。

请用简短精确的英文描述编写 description

提交 commit 之前,我们会进行 commit lint 检查,具体可以查看检查规则

一个常见的问题是远程的 upstream (@visactor/vstory) 有了新的更新, 从而会导致我们提交的 Pull Request 时会导致冲突。 因此我们可以在提交前先把远程其他开发者的 commit 和我们的 commit 合并。使用以下代码切换到 develop 分支:

git checkout develop

使用以下代码拉出远程的最新代码:

git pull upstream develop

切换回自己的开发分支:

git checkout docs/add-funnel-demo

把 develop 的 commit 合并到自己分支:

git rebase develop

把更新代码提交到自己的分支中:

git push origin docs/add-funnel-demo

提交 PR

你可以在你的 github 代码仓库页面点击 Compare & pull request 按钮。

或通过 contribute 按钮创建:

按照模板填写本次提交的修改内容:

  • 勾选这是什么类型的修改
  • 填写关联的 issue
  • 若有复杂变更,请说明背景和解决方案

相关信息填写完成后,点击 Create pull request 提交。

管理员会 review pr 决定是否通过,如果不通过需要进行修改然后重新提交。

下一步

不同的文档类型中,demo 文档有一些特殊要求,可以参考“如何贡献 demo”一节。

接下来可以继续尝试不同类型的任务。

github :github.com/VisActor

VisActor 微信订阅号留言(可以通过订阅号菜单加入微信群):

VisActor 官网:www.visactor.io/

飞书群:

discord:https://discord.com/invite/3wPyxVyH6m

本文档由以下人员贡献

玄魂