跳过内容

添加或更新插件

本指南解释了如何将新 Capacitor 插件添加到 Capgo 网站或更新现有插件文档。这对贡献者、维护者和帮助维护文档的 AI agent 都很有用。

概述

概述

当您添加新插件到Capgo生态系统时,需要更新网站上的多个文件和位置,以确保插件在所有相关位置都正确显示:

  1. 插件列表配置 - 在主列表中添加插件元数据
  2. 插件索引页 - 在分类的插件列表页中添加插件
  3. 侧边栏导航 - 在文档侧边栏中添加插件
  4. 插件文档 - 创建概述和入门页面
  5. 插件教程 - 创建全面教程

文件位置

文件位置

需要更新的关键文件

需要更新的关键文件
文件目的
/src/config/plugins.ts带有元数据的主插件列表
/src/content/docs/docs/plugins/index.mdx带有分类的插件索引页面
/astro.config.mjs侧边栏导航配置
/src/content/docs/docs/plugins/[plugin-name]/插件文档目录
/src/content/plugins-tutorials/en/英文教程文件

逐步指南

步骤指南
  1. 将插件添加到主列表

    将插件添加到主列表

    打开 /src/config/plugins.ts 并将您的插件添加到 actions 数组:

    // First, import an appropriate Heroicon
    import YourIconName from 'astro-heroicons/mini/IconName.astro'
    // Then add to the actions array
    {
    name: '@capgo/your-plugin-name',
    author: 'github.com/Cap-go',
    description: 'Brief description of what the plugin does',
    href: 'https://github.com/Cap-go/your-plugin-name/',
    title: 'Display Name',
    icon: YourIconName,
    }

    可用图标:检查可用图标 /node_modules/astro-heroicons/mini/ 将插件添加到首页

  2. 步骤指南:将插件添加到首页

    将插件添加到首页

    Open /src/content/docs/docs/plugins/index.mdx 在此处添加您的插件,分类在相应的类别下:

    <LinkCard
    title="Your Plugin Name"
    description="Brief description of what the plugin does"
    href="/docs/plugins/your-plugin-name/"
    />

    类别:

    • ⭐推荐插件
    • 📱设备和系统插件
    • 🎥媒体和摄像头插件
    • 🛠️工具插件
    • 🤖人工智能和高级媒体
    • 📍位置和后台服务
    • 📞通信和分析
    • 🔐安全和系统
    • 📊 Android-Specific 特性
    • 📥 下载 & 导航
  3. 添加到侧边栏导航

    标题:添加到侧边栏导航

    打开 /astro.config.mjs 并将您的插件添加到侧边栏配置(约在行 540):

    {
    label: 'Your Plugin Name',
    items: [
    { label: 'Overview', link: '/docs/plugins/your-plugin-name/' },
    { label: 'Getting started', link: '/docs/plugins/your-plugin-name/getting-started' },
    ],
    collapsed: true,
    }

    侧边栏中列出的插件按字母顺序排列。

  4. 创建插件文档目录

    标题:创建插件文档目录

    创建一个用于您的插件文档的新目录:

    终端窗口
    mkdir -p /src/content/docs/docs/plugins/your-plugin-name/
  5. 创建插件概览页面

    创建插件概览页面

    创建 /src/content/docs/docs/plugins/your-plugin-name/index.mdx:

    ---
    title: "@capgo/your-plugin-name"
    description: Brief description of the plugin's purpose
    tableOfContents: false
    next: false
    prev: false
    sidebar:
    order: 1
    label: "Introduction"
    hero:
    tagline: Detailed tagline explaining what the plugin does
    image:
    file: ~public/your-plugin-icon.svg
    actions:
    - text: Get started
    link: /docs/plugins/your-plugin-name/getting-started/
    icon: right-arrow
    variant: primary
    - text: Github
    link: https://github.com/Cap-go/your-plugin-name/
    icon: external
    variant: minimal
    ---
    import { Card, CardGrid } from '@astrojs/starlight/components';
    <CardGrid stagger>
    <Card title="Feature 1" icon="puzzle">
    Description of first key feature
    </Card>
    <Card title="Feature 2" icon="rocket">
    Description of second key feature
    </Card>
    <Card title="Cross-platform" icon="puzzle">
    Works on both iOS and Android 📱
    </Card>
    <Card title="Comprehensive Documentation" icon="open-book">
    Check the [Documentation](/docs/plugins/your-plugin-name/getting-started/) to master the plugin.
    </Card>
    </CardGrid>
  6. 创建入门指南

    创建入门指南

    创建 /src/content/docs/docs/plugins/your-plugin-name/getting-started.mdx:

    ---
    title: Getting Started
    description: Learn how to install and use the plugin in your Capacitor app.
    sidebar:
    order: 2
    ---
    import { Steps } from '@astrojs/starlight/components';
    import { PackageManagers } from 'starlight-package-managers'
    <Steps>
    1. **Install the package**
    <PackageManagers pkg="@capgo/your-plugin-name" pkgManagers={['npm', 'pnpm', 'yarn', 'bun']} />
    2. **Sync with native projects**
    <PackageManagers type="exec" pkg="cap" args="sync" pkgManagers={['npm', 'pnpm', 'yarn', 'bun']} />
    </Steps>
    ## Configuration
    ### iOS Configuration
    [iOS-specific setup instructions]
    ### Android Configuration
    [Android-specific setup instructions]
    ## Usage
    [Basic usage examples]
    ## API Reference
    [Detailed API documentation]
    ## Complete Example
    [Full working example]
    ## Best Practices
    [Recommended practices and tips]
    ## Platform Notes
    [Platform-specific notes and limitations]
  7. 创建教程文件

    创建教程文件

    创建 /src/content/plugins-tutorials/en/your-plugin-name.md:

    ---
    locale: en
    ---
    # Using @capgo/your-plugin-name Package
    The `@capgo/your-plugin-name` package [brief description]. In this tutorial, we will guide you through the installation, configuration, and usage of this package in your Ionic Capacitor app.
    ## Installation
    [Installation steps]
    ## Configuration
    [Configuration steps for iOS and Android]
    ## API Usage
    [Detailed API usage examples]
    ## Complete Example
    [Full working example]
    ## Best Practices
    [Tips and best practices]
    ## Troubleshooting
    [Common issues and solutions]
    ## Conclusion
    [Summary and links to additional resources]

插件文档结构

标题:插件文档结构
src/content/docs/docs/plugins/your-plugin-name/
├── index.mdx # Overview page with hero and feature cards
└── getting-started.mdx # Installation and usage guide
src/content/plugins-tutorials/en/
└── your-plugin-name.md # Comprehensive tutorial

对于复杂的插件,您可能需要添加额外的文档页面:

src/content/docs/docs/plugins/your-plugin-name/
├── index.mdx
├── getting-started.mdx
├── api-reference.mdx # Detailed API documentation
├── examples.mdx # Additional examples
├── troubleshooting.mdx # Troubleshooting guide
└── migrations.mdx # Migration guides

编写插件描述

标题:编写插件描述
  • 简洁: 描述长度不超过100个字符
  • 具体: 描述插件的功能,而不是插件本身
  • 使用动词: 以“控制”,“整合”,“启用”等动词开始

好的例子:

  • “使用简单的开关控制设备闪光灯和手电筒”
  • “将 Crisp 实时聊天和客户支持整合到您的应用中”
  • “使用 Face ID 和 Touch ID 启用安全认证”

Bad Examples:

  • “A plugin for flash”
  • “This is a Crisp plugin”
  • “Biometric plugin”
  1. Start with Installation: Always begin with clear installation steps
  2. Provide Configuration: Include platform-specific setup requirements
  3. Show Usage Examples: Provide working code examples
  4. 包含 API 参考: 文档所有方法和参数
  5. 添加完整示例: 展示真实世界的使用模式
  6. 列出最佳实践: 分享最佳使用的技巧
  7. 文档平台差异: 澄清 iOS 与 Android 行为
  8. 添加故障排除: 解决常见问题
  • 使用 TypeScript 为所有 code 示例
  • 顶部包含所有导入
  • 添加解释关键步骤的注释
  • 显示错误处理
  • 演示基本和高级使用

在添加新插件时使用此检查清单:

  • 添加插件到 /src/config/plugins.ts
  • 从 Heroicons 中选择适当的图标
  • 添加插件到 /src/content/docs/docs/plugins/index.mdx 在正确的类别下
  • 添加了侧边栏条目在 /astro.config.mjs
  • 创建了插件文档目录
  • 创建了 index.mdx 概述页面
  • 创建了 getting-started.mdx 指南
  • 创建了 /src/content/plugins-tutorials/en/
  • 在教程
  • 包含了安装说明
  • 文档了iOS配置
  • 文档了Android配置
  • Added API reference
  • 包含完整的工作示例
  • 列出了最佳实践
  • 添加了平台特定的说明
  • 测试了所有链接都正确工作

插件中常用的图标(来自 astro-heroicons/mini/):

图标用途
BoltIcon闪光,电源,能源
CameraIcon摄像头,照片,视频
ChatBubbleLeftIcon聊天,消息,通信
FingerPrintIcon生物识别、安全、身份验证
MapPinIcon位置、地理位置、地图
SpeakerWaveIcon音频、声音、音乐
VideoCameraIcon视频、录制、流媒体
CreditCardIcon支付、购买
PlayCircleIcon媒体播放器、视频播放器
SignalIcon连接、网络、信标
RadioIcon信标、广播、无线
ChatBubbleOvalLeftIcon社交媒体、微信

更新现有插件

更新现有插件

当更新现有插件时:

  1. 更新版本号 在文档中
  2. 添加迁移指南 如果存在破坏性变化
  3. 更新API参考 使用新方法
  4. 添加新示例 新功能
  5. 更新平台要求 如果发生变化
  6. 修订最佳实践 基于新功能
  7. 保持教程最新 与最新的 API 保持同步

语言路径

语言路径部分

在英语中编写和审阅插件文档。 本地化路径由站点元数据生成并在边缘由翻译工人翻译。

测试您的更改

测试您的更改部分

添加或更新插件文档后:

  1. 在本地构建站点:

    终端窗口
    bun run build
  2. 检查错误:

    • 验证所有链接正常工作
    • 确保图片正确加载
    • 确认code示例是有效的
    • 测试导航功能
  3. 预览网站:

    终端窗口
    bun run dev
  4. 验证您的插件已显示:

    • 检查插件列表页面
    • 验证侧边栏导航
    • 测试所有文档页面
    • 确认教程页面正常工作

常见陷阱

常见陷阱标题

如果您需要帮助添加或更新插件文档:

更新器

  • Updater: /src/content/docs/docs/plugins/updater/ (complex plugin with multiple pages)
  • Flash: /src/content/docs/docs/plugins/flash/ (simple plugin, good starter example)
  • Social Login: /src/content/docs/docs/plugins/social-login/ (plugin with sub-pages)

将插件添加到Capgo文档中涉及:

  1. 为主配置文件添加元数据
  2. 将插件添加到分类索引页面
  3. 配置侧边栏导航
  4. 创建全面文档页面
  5. 编写详细教程
  6. 测试所有本地更改

按照本指南,您可以确保插件的文档一致且易于用户发现。

继续添加或更新插件

标题:继续添加或更新插件

如果您正在使用 添加或更新插件 来规划原生插件工作,连接它与 Capgo 插件目录 为产品工作流程在 Capgo 插件目录中 Capacitor 由 Capgo 为实现细节在 Capacitor 由 Capgo Ionic 企业版插件替代品 为 Ionic 企业版插件替代品中的产品工作流程 Capgo 本机构建 为 Capgo 本机构建中的产品工作流程 Capacitor 插件:您需要知道的 为 Capacitor 插件:您需要知道的中的实际背景