从 GitBook 迁移
GitBook 是一个基于 Web 的平台,用于以协作方式创建和发布文档和书籍,具有版本控制集成和可定制功能。
GitBook 和 Astro 的主要相似之处
标题为“GitBook 和 Astro 的主要相似之处”的部分GitBook 和 Astro 有一些相似之处,这将帮助你迁移你的项目
-
Astro 和 GitBook 都支持 Markdown。你可以利用 GitBook 的 Git 同步功能迁移所有现有的文档。
-
Astro 和 GitBook 都使用某种形式的基于文件的路由。对于现有内容和添加新页面,使用 Astro 的文件结构应该会感觉很熟悉。
GitBook 和 Astro 的主要区别
标题为“GitBook 和 Astro 的主要区别”的部分当你将 GitBook 文档迁移到 Astro 时,你会注意到一些重要的区别
-
GitBook 网站使用在线仪表板进行编辑。在 Astro 中,你将使用代码编辑器和开发环境来维护你的网站。你可以在本地机器上进行开发,也可以选择像 IDX、StackBlitz、CodeSandbox 或 Gitpod 这样的云编辑器/开发环境。
-
GitBook 将你的内容存储在数据库中。在 Astro 中,你将在你的项目目录中为每个页面的内容设置单独的文件(通常是 Markdown 或 MDX)。或者,你可以选择使用CMS 来管理你的内容,并使用 Astro 来获取和呈现数据。
-
GitBook 在 Markdown 的基础上使用自定义语法来处理内容。Astro 通过可选的 Markdoc 集成支持 Markdoc,其语法与你在 GitBook 中使用的语法相似。
从 GitBook 切换到 Astro
标题为“从 GitBook 切换到 Astro”的部分要将 GitBook 文档网站转换为 Astro,可以从我们的官方 Starlight 文档主题入门模板开始,或在我们的主题展示中探索更多社区文档主题。
你可以向 create astro
命令传递一个 --template
参数,以使用我们的官方入门模板之一来启动一个新的 Astro 项目。或者,你可以从 GitHub 上的任何现有 Astro 存储库开始一个新项目。
npm create astro@latest -- --template starlight
pnpm create astro@latest --template starlight
yarn create astro --template starlight
一旦你有了一个新的 Astro 项目,你就可以将现有的 GitBook 内容同步到你的新 Astro 项目中。GitBook 有一个Git 同步功能,它会自动将你的 GitBook 内容同步到 GitHub/GitLab 仓库。
要直接同步到文档模板的内容集合,请将 src/content/docs/en
或 src/content/docs
指定为项目目录。
启用 Git 同步时,请务必将“GitBook to GitHub”指定为优先项。这将确保你的 GitBook 内容同步到你的 GitHub 仓库。否则,你将覆盖现有的 GitBook 内容。
同步内容后,你现在将在你的 Astro 仓库中拥有一份 GitBook 内容的副本。禁用 git 同步以防止将来与 GitBook 同步。
请注意,尽管你现在已将内容迁移到你的 Astro 项目中,但它不会立即可用。要在你的 Astro 网站中使用此内容,你需要花一些时间手动将 GitBook 的语法更改为与 Astro 兼容的格式。特别是
- Astro 的Markdoc 集成要求文件扩展名为
.mdoc
。这是为了避免与其他 Markdown 扩展名(如.mdx
和.md
)冲突。 - GitBook 语法与 Markdoc 不同,GitBook 文件中表示闭合标签的前缀
/
被替换为end
。你需要在所有文件中更新此表示法。 - GitBook 的一些功能依赖于自定义组件。这些组件在 Astro 中不存在,必须通过 Markdoc 配置的
tags
属性创建并添加到你的项目中,或者从你的文件中删除。
社区资源
标题为“社区资源”的部分如果你发现(或制作了!)一个关于将 GitBook 网站转换为 Astro 的有用视频或博客文章,请将其添加到此列表!