Zeplin

Storybook 的 Zeplin 擴充功能

在 Github 上檢視

npm version Monthly download GitHub license Netlify Status Open Collective

Storybook Zeplin 擴充功能

Storybook 擴充功能,將 Zeplin 資源(例如螢幕和元件)嵌入擴充功能面板中,以改善設計開發工作流程。

連結

需求

Storybook Zeplin 擴充功能 v3 與 Storybook 8 和 Node 版本 >18 相容。對於 Storybook 版本 5-7,請使用 Storybook Zeplin 擴充功能 v2.0.3

開始使用

1. 安裝

適用於 Storybook 8

npm install --save-dev storybook-zeplin
# yarn add -D storybook-zeplin

適用於 Storybook 版本 5-7

npm install --save-dev storybook-zeplin@2.0.3
# yarn add -D storybook-zeplin@2.0.3

2. 在 main.js 中註冊擴充功能

// .storybook/main.js
module.exports = {
    addons: ["storybook-zeplin/register"],
};

如果您使用 Storybook@5.0.x

// .storybook/addons.js
import "storybook-zeplin/register";

3. 連結元件

有兩種方式可以執行此操作,您可以將整個 Zeplin 專案或樣式指南連結到您的全域 story 參數(建議),或者逐一連結個別元件。

選項 A:連結整個專案或樣式指南(建議)

zeplinLink 新增到 .storybook/preview.js 檔案。此值是指向 Zeplin 中包含相應設計的專案或樣式指南的連結,如下列範例所示。

當提供此參數時,您將使用 Storybook 整合自動檢視連結到您 story 的 Zeplin 元件在擴充功能面板上。

使用 Zeplin 網頁連結

//.storybook/preview.js
export const parameters = {
    zeplinLink: "https://app.zeplin.io/project/5e7a6d478204d59183a1c76b",
};

使用 Zeplin 應用程式連結

//.storybook/preview.js
export const parameters = {
    zeplinLink: "zpl://project?pid=61f164b064e363a52fbb295f",
};

當擴充功能設定完成後,請檢視以下文章,以了解有關如何在 Zeplin 上初始化 Storybook 整合的更多資訊。

選項 B:手動連結個別 story

Storybook Zeplin 採用 zeplinLink 參數作為包含名稱和連結的元素陣列,或者僅作為連結的字串。對於連結,您可以使用 Zeplin 元件/螢幕的完整網頁 URL 或應用程式 URI。

將 Zeplin 連結新增到檔案中所有 story 的範例

export default {
    title: "Button",
    component: Button,
    parameters: {
        zeplinLink: "https://app.zeplin.io/project/5e7a6d478204d59183a1c76b/styleguide/components?coid=5eac833c5f1f2f1cb19f4f19",
    },
};

export const Default = () => <Button>Click me</Button>;
export const Secondary = () => <Button secondary>Click me</Button>;

Default.story = {
    name: "Primary Button",
};

Secondary.story = {
    name: "Secondary Button",
};

將多個 Zeplin 連結新增到 story 的範例

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

export const Default = () => <Button>Click me</Button>;
export const Secondary = () => <Button secondary>Click me</Button>;

Default.story = {
    name: "Responsive Button",
    parameters: {
        zeplinLink: [
            {
                name: "Desktop",
                link: "zpl://components?pid=pid1&coid=coid1",
            },
            {
                name: "Tablet",
                link: "zpl://components?pid=pid1&coid=coid2",
            },
            {
                name: "Mobile",
                link: "zpl://components?pid=pid1&coid=coid3",
            },
        ],
    },
};

4. 設定 Zeplin 存取權杖

若要存取您的 Zeplin 資源,您需要提供具有您 Zeplin 帳戶權限的存取權杖。您可以從個人資料頁面的「開發人員」索引標籤建立一個。

當您開啟擴充功能的索引標籤時,擴充功能會提示您設定權杖。此權杖會保留在瀏覽器儲存中,因此每位使用者都需要建立並設定自己的權杖才能透過 Storybook 存取 Zeplin 資源。

(選用)使用環境變數設定存取權杖

如果您想要略過為每位使用者建立權杖,您可以將存取權杖作為名為 STORYBOOK_ZEPLIN_TOKEN 的環境變數提供。您可以在專案的根資料夾中建立 .env 檔案,或者您可以在建置或動態執行 Storybook 時提供環境變數作為命令列參數。

⚠️ 免責聲明

請注意,如果您使用環境變數設定,則任何有權存取 Storybook 執行個體的人都可以檢視存取權杖。為了安全起見,如果第三方可以存取 Storybook 執行個體,請勿使用環境變數。

# .env
STORYBOOK_ZEPLIN_TOKEN="eyJhbGciOiJIUzI1N.."

開發

在個別索引標籤中執行下列命令以開始開發

npm run watch
npm run storybook

注意事項

  • 此擴充功能會擷取 Storybook 資料並傳送到父框架,以使 Zeplin 應用程式可以存取 story。如需更多資訊:Zeplin Storybook 整合

授權

MIT © Mert Kahyaoğlu