跳转到内容

从 Jekyll 迁移

Jekyll 是一个基于 Ruby 构建的静态站点生成器。

Jekyll 和 Astro 有一些相似之处,这将有助于你迁移你的项目

  • Jekyll 和 Astro 都是静态站点生成器,通常用于创建博客。

  • Jekyll 和 Astro 都允许你用 Markdown 和 HTML 编写内容。Jekyll 和 Astro 都为页面布局和未发布的草稿文章提供了一些特殊的 frontmatter YAML 属性。你可以继续在 Astro 中使用你现有的 Markdown 文件。

  • Jekyll 和 Astro 都使用基于文件的路由来从你的博客文章中创建页面。Astro 提供了一个存放所有页面和文章的特殊 src/pages/ 目录。Jekyll 为你的 Markdown 博客文章使用一个类似的特殊文件夹 _posts/,但你的网站页面可以存在于其他地方。创建新的博客文章应该会感觉很熟悉。

当你在 Astro 中重建你的 Jekyll 站点时,你会注意到一些重要的区别

  • 由于 Jekyll 主要是一个博客平台,它内置了一些博客功能,而在 Astro 中你可能需要自己构建这些功能。或者,选择一个包含这些功能的博客入门模板主题。例如,Jekyll 内置了对标签和分类的支持,这在几个 Astro 博客主题中也能找到,但在一个最小化的 Astro 项目中并不包含。

  • Jekyll 使用 Liquid 模板来实现可重用的布局元素和模板。Astro 使用类似 JSX 的 .astro 文件进行模板和组件化。任何 .astro 文件都可以是一个组件、一个布局或一个完整的页面,并且可以导入和渲染任何其他 Astro 组件。你还可以使用其他 UI 框架组件(例如 React、Svelte、Vue、Solid)以及来自项目中其他文件(如 Markdown 或 MDX)的内容或元数据来构建。

要将 Jekyll 博客转换为 Astro,可以从我们的博客主题入门模板开始,或在我们的主题展示中探索更多社区博客主题。

你可以向 create astro 命令传递一个 --template 参数,用我们的官方入门模板之一来启动一个新的 Astro 项目。或者,你可以从 GitHub 上的任何现有 Astro 仓库开始一个新项目

终端窗口
npm create astro@latest -- --template blog

将你现有的 Markdown 文件作为内容引入,以创建 Markdown 页面,并使用 Astro Markdown 布局 来代替 Liquid 模板。

你现有的大部分 HTML 页面内容可以转换为 Astro 页面,此外你将能够在你的 HTML 模板中直接使用变量、类似 JSX 的表达式和组件导入

Astro 没有接受占位符的 permalink 属性。如果你想保持现有的 URL 结构,你可能需要阅读更多关于 Astro 的页面路由 的内容。或者,考虑在像 Netlify 这样的主机上设置重定向

要转换其他类型的网站,如作品集或文档网站,请在 astro.new 上查看更多官方入门模板。你会找到每个项目 GitHub 仓库的链接,以及一键在 IDX、StackBlitz、CodeSandbox 和 Gitpod 在线开发环境中打开工作项目的链接。

更多迁移指南

贡献 社区 赞助