Inspira UI
New Component Released:图片徽章鳞片纹理
New Component Released:图片徽章鳞片纹理
New Component Released:图片徽章鳞片纹理
New Component Released:图片徽章鳞片纹理
入门指南

如何贡献

遵循以下指南以确保顺利协作

感谢您有兴趣为 Inspira UI 项目做出贡献!您的贡献帮助使这个项目对每个人都更好。请花一点时间阅读这些指南,以确保顺畅的协作。

目录

  1. 入门
  2. 行为准则
  3. 如何贡献
  4. 项目结构
  5. 风格指南
  6. 文档指南
  7. 测试
  8. 许可证

入门

  • Fork 仓库:在 GitHub 上创建项目的个人副本。
  • 克隆 Fork:将您的 fork 仓库克隆到本地机器。
  • 创建分支:为您的贡献创建新分支 (git checkout -b feature/YourFeatureName)。
  • 安装依赖:运行 pnpm install 以安装所有必要的依赖。

行为准则

通过参与此项目,您同意遵守 行为准则,该准则旨在营造开放和欢迎的环境。

如何贡献

报告 Bug

如果您发现 bug,请打开一个 issue 并包括:

  • 清晰而描述性的标题。
  • 重现问题的步骤。
  • 预期和实际结果。
  • 截图或代码片段(如适用)。

建议改进

我们欢迎新功能或改进的建议。请打开一个 issue 并包括:

  • 清晰而描述性的标题。
  • 改进的详细说明。
  • 任何相关的示例或模型。

添加新组件

我们感谢为库添加新组件的贡献。请确保:

  • 该组件通常有用,并与项目目标一致。
  • 该组件与 NuxtVue 兼容。
  • 您遵循下面列出的编码和文档指南。
  • 您为您的组件包括单元测试。

组件指南

  1. 创建或更新 index.ts
    components/content/inspira/ui/<component-folder-name>/ 下的每个文件夹都应该有一个 index.ts,导出所有 Vue 文件。例如:
    // index.ts
    export { default as Book } from "./Book.vue";
    export { default as BookDescription } from "./BookDescription.vue";
    export { default as BookHeader } from "./BookHeader.vue";
    export { default as BookTitle } from "./BookTitle.vue";
    
  2. 注册表依赖项: 如果您的新组件依赖(或使用)其他 Inspira UI 组件,您必须更新 ~/scripts/crawl-content.ts 中的 COMPONENT_DEPENDENCIES 映射以反映这些关系。这帮助库理解当用户通过 CLI 添加组件时应该一起安装哪些组件。
  3. 仅限 Nuxt 的功能: 如果您的新组件或其示例使用仅限 Nuxt 的功能(如 <ClientOnly>),请在文档中提及。这确保用户知道在 Nuxt 外部使用该组件时可能存在限制或额外步骤。
    这确保用户可以通过 CLI 安装该组件,并且所有依赖项都正确声明。
  4. 避免外部组件: 创建组件时,避免使用不属于核心 Vue.js 生态系统的外部 UI 组件(如 <UiButton> 或类似)。
  5. 显式导入: 即使您在开发过程中使用 Nuxt 的自动导入功能,也始终在组件代码中包含显式导入。这确保与没有自动导入的 Vue.js 用户的兼容性。例如:
    <script setup lang="ts">
    import { useWindowSize } from "@vueuse/core";
    import { onMounted, ref } from "vue";
    // 包含所有导入明确
    
Copyright © 2026