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 同步,确保每个已发布的文档都能获得相应的短链接、标签和颜色配置。
[](https://www.npmjs.com/package/@rubixstudios/payload-dub)

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, 内容管理, 插件, 短链接, 网络调试, 自动化, 自动化攻击, 营销追踪