@tryghost/portal

中文文档
2.72.15发布于 2026/11/03MITES Module构建来源已验证

幽灵网站的直接会员界面

中文使用文档
文档目录7 节
  1. 使用
  2. 自定义触发按钮
  3. 开发
  4. 构建
  5. 测试
  6. 鬼影e2e测试
  7. 释放

门户网站

npm version

dropin的脚本 使大量的鬼会员功能的工作在任何主题。

使用

Ghost自动在所有运行Ghost 4或 更高。

或者,Portal可以通过添加这个在Ghost之外的页面上启用 脚本:

<script defer src="https://unpkg.com/@tryghost/portal@latest/umd/portal.min.js" data-ghost="https://mymemberssite.com"></script>

这个 data-ghost 属性期望Ghost站点的URL,这是Portal通过Ghost api处理您站点的会员数据所需的唯一输入。

自定义触发按钮

默认情况下,脚本在页面的右下角添加一个默认浮动触发按钮,用于触发屏幕上的弹出。

方法添加自定义触发器 data-portal 属性到任何HTML 元素。设置其值以选择特定的 门户页面, 例如 data-portal="signup".

共享模式可以打开 data-portal="share" (或 #/share)。

默认(零配置)用法:

<button type="button" data-portal="share">Share</button>

在那些 {{ghost_head}} , Portal将自动解析来自DOM标签的元数据:

  • URL:规范URL(或当前URL回退)
  • 标题:打开图形标题(或文档标题回退)
  • 图片:Open Graph图片(或Twitter图片备用)

缺少预览元数据的故障排除:

  1. 验证模板包括 {{ghost_head}}.
  2. 验证呈现的HTML包含规范+ OG/Twitter标记。

脚本补充道 gh-portal-open 和 gh-portal-close 类到自定义触发器 以反映弹出状态。

看到 门户设置文档 了解为您的站点定制Portal的方法。

开发

从monorepo根目录运行Portal的构建监视器和其他公共应用程序:

pnpm dev:public

门户会在您编辑时重新生成并提供服务 http://localhost:2368/ghost/assets/portal/portal.min.js,哪个主题页上 开发站点负载。 pnpm dev 从开始时开始提供构建。

构建

在这个目录中创建一个产品压缩包 umd/portal.min.js :

pnpm build

测试

从该目录中,运行单元测试一次或在监视模式下使用:

pnpm test
pnpm test:watch

鬼影e2e测试

传送门主要是通过Ghost的剧作家测试 e2e/ 目录中。从monorepo根目录运行它们:

pnpm test:e2e

释放

补丁发布是自动的。当传送门打开时 main, CI将下一个补丁版本发布到npm,并清除jsdeliver缓存。使用主/次线的站点会收到没有Ghost版本的补丁。

如果你发布的新代码不应该立即上线 总是 发布时使用次要或主要版本。

有意的小版本或大版本:

  1. 从干净的树枝上跑 pnpm ship 并选择一个小调或大调版本
  2. 合并提交到的版本 main
  3. 等待Ghost发布新的默认版本行

pnpm ship 同时更新软件包版本和Ghost的默认门户版本。

版权与许可

鬼子基金会版权所有2013-2026 麻省理工学院的许可.

版本与发布记录

@tryghost/portal 共发布 1,162 个版本,首次发布于 2020/09/24;过去 12 个月发布了 855 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
2.72.15latest2026/11/03今天
2.72.142026/11/03今天
2.72.132026/11/03今天
2.72.122026/10/312 天前
2.72.112026/10/285 天前
2.72.102026/10/286 天前

其他发布通道:2.14.0 → 2.14.0,2.15.0 → 2.16.0,2.17.0 → 2.18.0,2.19.0 → 2.19.0,2.19.1 → 2.19.2,2.19.2 → 2.19.3。

关于 @tryghost/portal 的常见问题

@tryghost/portal 是什么?

幽灵网站的直接会员界面

如何安装 @tryghost/portal?

在项目目录运行 npm install @tryghost/portal,或使用 pnpm add / yarn add / bun add。

@tryghost/portal 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/tryghost__portal 是否存在。

@tryghost/portal 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@tryghost/portal 可以商用吗?

@tryghost/portal 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@tryghost/portal 还在维护吗?

最新版本 2.72.15 发布于 2026/11/03(今天);至今共发布 1162 个版本,其中过去 12 个月发布了 855 个;首次发布于 2020/09/24。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。