Confluence 文档

一个在 StoryBook 中实现 Confluence 文档的插件。

在 Github 上查看

Storybook 插件 confluence-addon

一个在 Storybook 中实现 Confluence 文档的插件。

入门

1. 安装

npm install -D addon-confluence

yarn add -D addon-confluence

pnpm add -D addon-confluence

2. 在 `.storybook/main.js` 中注册插件

export default {
  addons: ["addon-confluence"],
};

3. 为 Confluence 创建一个令牌!

访问此 链接 并为您的帐户创建一个 API 令牌。然后将其与您的帐户电子邮件一起添加到 .env 文件中,如下所示。

[email protected]
STORYBOOK_CONFLUENCE_TOKEN=YourTokenHere!

4. 向您的故事添加 Confluence ID。

接下来,我们需要向故事添加页面 ID。您可以在查看所需的 Confluence 页面时在 URL 中找到它。此步骤只需要 id,但下一步将需要 your_domain

例如:https://<your_domain>.atlassian.net/wiki//pages/<your_page_id>/Example_Page_Name

然后只需将 "confluence" 作为对象添加到您的故事中。然后将 id 添加为其属性。

export default {
  title: "My stories",
  component: Button,
};

export const myStory = {
  parameters: {
    confluence: {
      id: 12345678,
    },
  },
};

5. 向您的 .storybook 目录添加 confluence.js 文件。

文件名必须为 "confluence.js"。这将成为在构建时获取文档的脚本的目标。默认导出必须是一个包含 domainid 键的对象数组。

const domain = "your-domain";

const confluence = [
  // Add your (domain, id) pairs here
  { domain: domain, id: "4166582285" },
  { domain: domain, id: "4166844417" },
  { domain: "different-domain", id: "4166844418" },
];
// This can be named anything but it must be a default export of an array of objects with `domain` and `id` keys.
export default confluence;

6. 更新 package.json 脚本

为了确保 fetchDocs 脚本在构建 Storybook 之前自动运行,您需要通过添加 prestorybook:build 脚本并确保已安装 cross-env 来更新项目的 package.json。请按照以下步骤操作

a. 向 package.json 添加脚本

打开项目的 package.json 文件,并在 "scripts" 部分添加以下脚本。

{
  "scripts": {
    // ... other scripts
   "prebuild-storybook": "fetchDocs",
    "storybook:build": "cross-env NODE_OPTIONS=--openssl-legacy-provider storybook build",
    // ... other scripts
  }
}

如果您有不同的构建脚本,请在您的构建脚本前添加 pre。并将值设置为 fetchDocs,如上所示。

7. 在 GitHub Actions 中注入环境变量

首先向您的 GitHub 存储库添加一个新的密钥。导航到 GitHub 上的存储库,单击“设置”选项卡,然后单击左侧边栏中的“密钥”。单击“新建存储库密钥”按钮,并添加以下密钥

  • STORYBOOK_CONFLUENCE_EMAIL:与您的 Confluence 帐户关联的电子邮件地址。
  • STORYBOOK_CONFLUENCE_TOKEN:为您的 Confluence 帐户生成的 API 令牌。

如果您正在使用 Chromatic 进行部署,并且需要将环境变量注入到托管的 Storybook 中,请按如下方式更新 .github/workflows/chromatic.yml 文件。

.github/workflows/chromatic.yml
jobs:
  chromatic:
    steps:
      # ... other steps

      - uses: chromaui/action@latest
        with:
          projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
        env:
          # 👇 Sets the environment variable
          STORYBOOK_CONFLUENCE_EMAIL: ${{ secrets.STORYBOOK_CONFLUENCE_EMAIL }}
          STORYBOOK_CONFLUENCE_TOKEN: ${{ secrets.STORYBOOK_CONFLUENCE_TOKEN }}

通过添加此配置,您的 Storybook 环境变量将在 Chromatic 部署过程中正确注入。

Example Image - Storybook - Confluence-addon

作者
  • ezmr7
    ezmr7
  • joshrobertsv2
    joshrobertsv2
支持
    Angular
    Ember
    HTML
    Preact
    React
    React Native
    Svelte
    Vue
    Web Components
标签