rubix-studios-pty-ltd/payload-dub

GitHub: rubix-studios-pty-ltd/payload-dub

一款 Payload CMS 插件,通过集成 Dub.co 平台为已发布文档自动创建和管理短链接,实现内容发布与链接归因的同步自动化。

Stars: 2 | Forks: 0

# PayloadCMS + Dub 插件 一款与 Dub 集成的 Payload CMS 插件,可自动为您的 内容 创建并管理短链接。 该插件会将您的 Payload 集合与 Dub.co 同步,确保每个已发布的文档都能获得相应的短链接、标签和颜色配置。 [![npm version](https://img.shields.io/npm/v/@rubixstudios/payload-dub.svg)](https://www.npmjs.com/package/@rubixstudios/payload-dub) ![Release](https://static.pigsec.cn/wp-content/uploads/repos/cas/42/42ba98a60a0bb3b0ad908f024db145f9c5b831eb7df822f56ac578ee7d7215b3.svg) Dub 是现代的开源链接归因平台,适用于短链接、转化跟踪和联盟营销计划。 ## 安装 ``` pnpm add @rubixstudios/payload-dub ``` ``` // payload.config.ts import { buildConfig } from 'payload/config' import { payloadDub } from '@rubixstudios/payload-dub' export default buildConfig({ plugins: [ payloadDub({ collections: [ { docs: 'posts', slugOverride: 'post' }, // Custom slug used for folder and shortlinks { docs: 'insights', slugOverride: 'insight' }, // Custom slug only { docs: 'news' }, // Default behavior ], dubApiKey: process.env.DUB_API_KEY!, siteUrl: process.env.NEXT_PUBLIC_SITE_URL!, domain: 'mycustomdomain.com', // Optional: assign a custom domain tenantId: '12345', // Optional: tenant identifier for workspace isPro: false, // Optional: pro flag to enable/disable pro features // Optional: overrides of dubCollection dubCollection: { overrides: { access: { read: ({ req }) => !!req.user, create: ({ req }) => !!req.user, }, admin: { group: 'Marketing', defaultColumns: ['shortLink', 'externalId'], }, }, }, dubTagCollection: { overrides: { access: { read: ({ req }) => !!req.user, }, admin: { group: 'Marketing', defaultColumns: ['name', 'color'], }, }, }, }), ], }) ``` ## 注意事项 如果您未提供可选的覆盖配置,该插件将默认采用以下设置: - 所有人均可读取链接 - 所有已登录用户均可读取、编辑和删除标签 ## 功能 - **自动化**:在文档发布或 slug 发生变化时,自动生成并更新短链接。 - **文件夹**:集合被组织在文件夹中 (Pro)。 - **标签**:可以直接在 Payload 中创建和移除标签。 - **同步**:以极低的开销保持 Payload 和 Dub 数据的一致性。 - **可配置**:支持针对每个集合覆盖配置颜色、slug 和 URL base。 - **访问控制**:提供针对 access、field 和 admin 的覆盖配置,实现完全的 CMS 控制权。 ## 许可证 本项目基于 MIT 许可证授权 - 详情请参阅 [LICENSE](LICENSE) 文件。 ## 支持 如需支持或咨询: - LinkedIn:[rubixvi](https://www.linkedin.com/in/rubixvi/) - 网站:[Rubix Studios](https://rubixstudios.com.au) ## 作者 Rubix Studios [https://rubixstudios.com.au](https://rubixstudios.com.au)
标签:Dub, MITM代理, Payload CMS, 内容管理, 插件, 短链接, 网络调试, 自动化, 自动化攻击, 营销追踪