Skip to content

lcf262412/website

 
 

Repository files navigation

openGauss-website

openGauss 社区官网的源码仓库

目录结构

官网使用vitepress作为基础框架搭建,采用vue3+typescript。大部分功能仅通过静态文件渲染,只有少部分功能模块(日历、CVE、搜索、筛选)需要后端部署配合运行。

  app
    ├─ .vitepress
      ├─ public // 静态资源文件,不参与打包编译
      ├─ src // 业务
        ├─ api // 接口
        ├─ assets // 资源文件
        ├─ components // 组件
        ├─ i18 // 国际化
        ├─ shared // 公用方法/样式
        ├─ stores // 状态管理
        ├─ views // 业务vue文件
    ├─ en // 英文页面
    ├─ zh // 中文页面

参与贡献

  1. Fork 本仓库
  2. 新建 feat/xxx 分支
  3. 提交代码
  4. 新建 Pull Request

注意:请使用git rebase -i合并 commit,确保每次 pr 只有一次 commit。操作流程请参考相关文档

规范说明

命名

命名形式

  1. camelCase: 驼峰式
  2. kebab-case: 短横线连接式
  3. PascalCase: 帕斯卡命名式
  4. Snake: 下划线连接式

说明

  1. 文件夹以及文件命名(除 Vue SFC)采用kebab-case
  2. Vue SFC 文件命名使用PascalCase, 在该文件中使用的 Vue 组件也使用PascalCase
  3. Vue 组件中emit事件使用kebab-case
  4. 变量以及方法命名使用camelCase, 资源文件使用Snake表明 light/dark, zh/en/ru,,eg: homeBanner_light_zh, 其中风格在前,语言在后
  5. CSS 使用kebab-case命名
  6. Icon 组件引入时增加 Icon 前缀,eg:import IconDownload from '~icons/app/download'

开发规范

  1. 所有接口类方法请写在app/.vitepress/src/api中,并按照jsdoc 注释规范给出注释,不同模块接口请按文件进行区分, eg: api-cve.ts
  2. 公共 utils 方法请按jsdoc 注释规范给出注释
  3. 变量命名做到见名知义,方法命名使用动词或动宾结构, eg: import warningImg from '@/assets/icons/warning.png, const getUserEmail=()=>{}
  4. 调用接口获取数据请使用try {} catch(error) {}进行校验
  5. 约束for...in的使用, 可以使用Object.keys().forEach
  6. 使用prettier插件作为格式化工具
  7. 提交之前请先进行 eslint 检查: 执行脚本,运行pnpm lint。确认无问题后提交。项目工程的git hooks 已配置相关校验,如git commit不成功,请查看相关错误信息,并进行修改
  8. git commit信息请尽量参照相关规范
  9. 其他注意事项请参考业界相关通用开发规范说明

Get Help

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published