GitHub上如果是自己玩项目比较简单,但如何协作贡献开源项目呢,这就比较有意思了。这里mark下我在贡献开源项目,比如inshellisense积攒的经验。

https://static.1991421.cn/2024/2024-03-17-144331.png

这里以项目inshellisense为例

  1. fork开源项目,microsoft/inshellisense => alanhg/inshellisense

  2. 新建分支,比如fix/file-template,进行开发

    • 有UT的话更新UT,确保测试通过
    • 这里不直接使用主分支,是因为主分支用来同步项目更新,避免开发中,原项目有了新commit
    • 同时新建分支也可以更好的利用分支名表示在做的修改是feat还是fix等
  3. 提交到上游即alanhg/inshellisense

  4. 开源项目microsoft/inshellisense如果有更新,拉取更新Sync fork

  5. 提交分支fix/file-template进行rebase with主干分支,确保最新已同步

  6. 重新推送到上游alanhg/inshellisense

  7. 发起Pull Request,详细描述改动,等待合并

    • 如果PR review中有任何问题,积极反馈及解决
  8. 合并成功即🎉

  9. 可以将分支fix/file-template删除,切换到主分支,如果还有新的贡献可重新走步骤5进行操作

发布的产品为了让用户能够了解产品如何使用,除了产品中有一些使用介绍外,我们还会单独发布产品文档。这里mark下我在我司编写产品文档时,学习到的一些好的规范。

  1. 敬称用而不是

  2. 截图不要出现箭头,但可以出现马赛克和红色选中框

  3. 可以有静态图片和和动态GIF。

  4. 文档中可以有一些外部链接。

  5. 文档中语句结束要有句号,比如项目列表每个语句结尾应该加句号。

  6. 每篇文档开始要有一个总的介绍。

  7. 操作步骤从用户登录产品后开始,尽可能包含整个路径,而不是直接从局部开始,避免用户找不到功能入口。

  8. 中文文档中,英文需要加前后空格

  9. 操作名词可以加粗

  10. 冒号,括号等根据语言确定全角/半角,中文使用全角。

Pnpm+Vite进行项目开发时,当进行本地包调试开发,Vite下加载的还是老版包。这里分析并解决下该问题

本地包调试步骤

因为包管理器是pnpm,所以对应的调试包挂载步骤就是这样

  1. 本地包执行pnpm link --global
  2. 具体项目下执行pnpm link pkgname --global

执行上述步骤浏览器访问Web即复现现包版本不对的问题。

阅读全文 »

string字符串有trim方法,但trim并非只是处理首尾空格,最近使用时发现有认识上的错误。因此mark下

根据MDN中介绍可以看到,trim处理的是首尾的white space+ line terminators

A new string representing str stripped of whitespace from both its beginning and end. Whitespace is defined as white space characters plus line terminators.

而空格只是其中一种white space。那具体有哪些字符呢

White space

阅读全文 »

最近把博客所在服务器从Nginx改为Caddy,而Caddy也支持了HTTP3,所以这里也尝试下HTTP3升级。

说明:2022年6月6日,IETF QUIC和HTTP工作组成员Robin Mark在推特上宣布,历时5年,HTTP/3终于被标准化为 RFC 9114,这是HTTP超文本传输协议的第三个主要版本

配置

Caddy

1
2
3
4
5
{
servers {
protocols h1 h2 h2c h3
}
}
阅读全文 »
0%