跳转到内容

从 Pelican 迁移

Pelican 是一个基于 Python 构建的开源静态站点生成器。

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

  • Pelican 和 Astro 都是静态站点生成器,非常适合像博客这样的内容驱动型网站

  • Pelican 和 Astro 都内置支持使用 Markdown 编写,包括用于页面元数据的 frontmatter YAML 属性。然而,与 Pelican 相比,Astro 的保留 frontmatter 属性非常少。尽管你现有的许多 Pelican frontmatter 属性在 Astro 中不会被“特殊”处理,但你仍然可以继续使用现有的 Markdown 文件和 frontmatter 值。

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

  • Pelican 支持用 Markdown 和 reStructured Text (.rst) 编写内容。Astro 支持从 Markdown 和 MDX 文件创建页面,但不支持 reStructured Text。

  • Pelican 使用 HTML 文件和 Jinja 语法进行模板制作。Astro 语法是 HTML 的一个类似 JSX 的超集。所有有效的 HTML 都是有效的 .astro 语法。

  • Pelican 旨在构建像博客这样的内容丰富的网站,并内置了一些博客功能,而在 Astro 中你需要自己构建这些功能。相反,Astro 在官方博客主题中提供了其中一些功能。

要将 Pelican 文档站点转换为 Astro,请从我们的官方 Starlight 文档主题入门模板开始,或在我们的主题展示中探索更多社区主题。

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

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

将你现有的 Markdown 内容文件迁移过来以创建 Markdown 页面。你仍然可以利用基于文件的路由,方法是将这些文档从 Pelican 的 content/ 文件夹复制到 Astro 的 src/pages/ 目录中。你可能希望阅读有关Astro 的项目结构的文档,以了解文件应放置的位置。

Pelican 可能已经为你处理了大部分的网站布局和元数据。你可能希望阅读有关构建 Astro 布局作为 Markdown 页面包装器的文档,以了解如何在 Astro 中自己管理模板,包括页面的 <head>

与 Pelican 类似,Astro 有许多扩展其功能的插件。浏览官方集成列表以添加 MDX 支持等功能,并在 Astro 集成目录中找到数百个由社区维护的集成。你甚至可以使用 Astro 集成 API 来构建自己的自定义集成,以扩展项目的功能。

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

更多迁移指南

贡献 社区 赞助