跳转到主要内容
离线导出需要 Enterprise 方案。
使用 mint export 将整个文档站点打包成一个包含预渲染页面的 zip 归档文件。收件人可以解压后在浏览器中查看文档,无需 Mintlify 账户或任何构建工具。只需安装 Node.js 即可。 当你需要向无法访问线上站点的用户分发文档时(例如本地部署客户或内部合规审查),这非常有用。 CLI 会将你的站点使用的图标、字体和 LaTeX 样式打包到归档文件中,因此导出的文档可以在无法访问互联网的隔离网络(air-gapped)环境中使用。除非你设置了 base path,否则导出内容会从域名根路径提供服务。在部署导出内容之前,请查看限制。

前提条件

  • 已安装并更新至最新版本的 CLI
  • 已安装 Node.js v20.17.0+

限制

  • 离线导出不支持 Mintlify 助手。
  • 离线导出不包含在 docs.json 中配置的分析工具或其他集成。
  • 页面通过外部 URL 引用的图片和其他文件不会被打包。请将它们存储在项目中,以便包含在归档文件中。
在没有网络连接的情况下,搜索栏也可以在导出的文档中使用。运行 mint export 时,CLI 会根据导出的页面构建搜索索引,并将其保存到归档文件中。浏览器会在本地搜索该索引。 离线搜索遵循与线上站点搜索相同的规则。它会跳过在搜索中隐藏的页面,例如 frontmatter 中设置了 noindex: true 或 searchable: false 的页面。搜索结果仅包含读者当前语言和版本下的页面。

打包的资源

运行 mint export 时,CLI 会下载你的站点从外部主机加载的资源,并将其保存到归档文件中。这包括:
  • 按名称引用的图标,例如 Font Awesome 和 Lucide 图标。
  • 代码块语言图标和语言选择器旗帜。
  • Google Fonts 和外部托管的字体。
  • LaTeX 样式表和字体。
  • 被打包样式表引用的文件。
运行 mint export 的计算机需要互联网访问才能下载这些资源。CLI 只会从公共主机下载资源。如果某个资源下载失败,CLI 会显示 could not bundle <url> 警告,导出的文档会从该资源的原始主机加载它。

导出你的站点

进入包含 docs.json 文件的文档目录,然后运行:
CLI 会构建你的站点,抓取导航中定义的所有页面,并将输出打包为当前目录下的 zip 文件。

选项

例如,要将站点导出为自定义文件名并指定用户组:
导出仅包含导航中列出的页面。隐藏页面 不会包含在归档中。

在子路径下提供服务

默认情况下,导出内容从域名根路径提供服务,例如 http://localhost:3000/。如需改为在子路径下提供服务,请通过 --base-path 传入该路径:
CLI 会为链接、图片、favicon 和打包的资源添加 base path 前缀,serve.js 会在 http://localhost:3000/docs/ 提供文档。对根路径的请求会重定向到 base path。 base path 可以包含字母、数字、连字符和下划线,各段之间用 / 分隔,例如 /docs 或 /product/docs。如果任何页面路径以 base path 开头,导出将失败。例如,如果你的导航中包含位于 docs/intro 的页面,--base-path /docs 就会失败。请选择一个没有页面使用的 base path。

固定客户端版本

默认情况下,mint export 会使用与你的 CLI 版本兼容的最新 Mintlify 客户端版本来构建站点。如需改用特定版本构建,请通过 --client-version 传入其版本号:
CLI 会在构建导出内容之前从 releases.mintlify.com 下载该版本。当你需要多次导出的渲染结果保持一致时(例如为同一客户重新生成归档文件),请固定版本。 如果下载失败,而 CLI 已缓存了之前运行时下载的客户端版本,CLI 会改用缓存的版本构建导出内容。

安全注意事项

导出的归档是一个静态、无需认证的压缩包。任何持有该 zip 文件的人都可以查看其中包含的每个页面。
  • --groups 标志用于控制在导出时 Mintlify 将哪些受用户组限制的页面包含到归档中。它不会在导出后强制执行认证。
  • 只与被允许查看归档内容的收件人分享归档文件。
  • 若要发布新的更改,请重新生成并重新分发归档—使用旧 zip 的收件人将继续看到旧的内容。

zip 中的内容

导出的归档包含你的预渲染页面、其打包的资源,以及用于查看它们的服务器:

查看导出的文档

将 zip 文件分享给任何安装了 Node.js 的人。要查看文档:
  1. 解压归档文件。
  2. 在解压后的目录中打开终端。
  3. 运行 node serve.js。
  4. 在浏览器中打开 http://localhost:3000。

在你自己的服务器上托管导出内容

如需在你自己的 Web 服务器上托管导出内容而不使用 serve.js,请从域名根路径将解压后的文件夹作为静态文件提供服务。如果你使用 --base-path 导出,请改为在该路径下提供该文件夹,并将以下规则应用于请求路径中 base path 之后的部分:
  1. 页面: 对 /<path> 的请求,返回 <path>/index.html。
  2. 缓存: 为 _mintlify/assets/* 和 _mintlify/export-assets/* 设置 Cache-Control: public, max-age=31536000, immutable。为页面设置 Cache-Control: no-cache。
serve.js 实现了这两条规则,你可以将其作为参考。 如果你使用 --classic 参数导出,归档文件会采用经典版客户端的结构,并需要不同的规则。该归档中的 README.md 文件列出了这些规则。