跳转到内容

从 Pelican 迁移

Pelican 是一个开源的使用 Python 构建的静态网站生成器。

Pelican 与 Astro 的主要相似点

段落标题 Pelican 与 Astro 的主要相似点

Pelican 和 Astro 的一些相似点会帮助你完成迁移。

  • Pelican 和 Astro 都是静态网站生成器,尤其适合内容驱动的网站,例如博客。

  • Pelican 和 Astro 都内置支持 Markdown文档,包括页面元数据的 frontmatter YAML 属性。但是 Astro 中预留的 frontmatter 比 Pelican 少得多。尽管很多 Pelican 内生效的 frontmatter 属性在 Astro 中并不会生效,但你仍然可以使用使用 Markdown 和 frontmatter 。

Pelican 与 Astro 的主要差异点

段落标题 Pelican 与 Astro 的主要差异点

当使用 Astro 重新构建 Pelican 网站时,你会注意到一些重要的差异。

  • Pelican 支持 Markdown 和 reStructured Text(.rst)。Astro 可以从 Markdown 和 MDX 文件创建页面,但是不支持 reStructured Text。

  • Pelican 使用 HTML 格式和 Jinja 语法创建模板,而Astro 语法是一个类似于 JSX 的 HTML 超集,也就是说任何的 HTML 都符合 Astro 语法规则。

  • Pelican 为构建内容丰富的网站而设计,例如博客,它的博客特性 Astro 是不提供的,你必须自己构建。但是,Astro 也会提供一些特性包括官方博客主题

从 Pelican 迁移到 Astro 的步骤

段落标题 从 Pelican 迁移到 Astro 的步骤

为了将 Pelican 文档转换成 Astro,你可以从我们的 Starlight 文档主题模板开始,或者从主题展示里面的社区主题开始。

你可以通过传入--template参数到create astro命令开启一个 Astro 项目,并选择我们提供的某个模板。或者,你也可以从一个 Astro Github 仓库开始你的项目。

终端窗口
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 仓库链接和在线开发环境链接(StackBlitz, CodeSandbox and Gitpod)。

  • 添加你自己的!

更多迁移指南

贡献

你有什么想法?

社区