662 字
3 分钟
从Hexo迁移到Astro折腾记

Part.0 回答一下迁移相关的问题#

为什么要迁移?#

  • Hexo的主题自定义较为困难  
  • 正在使用的Hexo主题已经不更新且已迁移到Astro
  • GitHub Pages的SSL证书老是出bug
  • GitHub Pages访问速度堪忧

换到哪了?#

Part.1 迁移前准备#

  1. 前往主题所在仓库
  2. 将其Fork至你名下或使用其模板创建新的仓库(点击Use this template)
  3. 将你名下的仓库Clone至本地,并按照该主题所提供的README文件中的讲解进行基础操作

Part.2 迁移内容#

请注意,几乎所有的文章都可以直接迁移至Astro

移植到src\content\posts文件夹即可

但是,迁移之后需要对Frontmatter进行修改!!

具体内容如下:

--- title: '' published: '' description: '' image: '' tags: [] category: '' draft: false ---

其中,tags一定是支持多个的,使用英文逗号隔开,记得加空格

并且,如果是填写字符串的项目(例如title),填写内容后可删除掉单引号,不填的话必须有!(否则就是null了)

另外,其他页面的Markdown文件应该是可以直接移动到src\content\spec文件夹的,因为没有创建其他页面故未进行测试

Part.3 部署前准备#

  1. 根据自己需要,修改src\config.ts文件
  2. 修改astro.config.mjs文件内的site:设定,具体内容如下:
export default defineConfig({   site: "https://yourdomain.com",   base: "/",   trailingSlash: "always", ... })

最后,记得commit和push!

Part.4 部署至Netlify#

为什么是Netlify?#

  • 其在中国大陆地区访问速度较好
  • 可自动申请SSL,前提是将您的域名DNS服务器更改为其提供的
  • 可自定义域名并且支持IPv6访问(狠狠支持一波国家战略!)

如何部署?#

  1. 前往Netlify官网,登录(login),选择使用GitHub账号并授权
  2. 登录成功之后授权访问你的仓库,建议使用选择仓库单独授权(也有可能需要在Netlify dashboard页面上,点击 Add a new site,随后选择Import an existing project进行导入仓库并授权)
  3. 确认Build Command设置为astro buildnpm run build,Publish directory设置为dist
  4. 按下Deploy按钮,开始部署!

Part.5 完成&尾声#

访问你的博客,欣赏你的成果吧!

我到底怎么折腾了?#

  • 错误的理解内容集合(Content collections),随意在src\content\posts文件夹下创建文件夹,导致部署时报错并失败
  • 文件名带空格,部署时报错并失败
  • 未设置Publish directory为 dist,导致一直在404 Not Found Page,折腾半天
从Hexo迁移到Astro折腾记
https://blog.litenpanjun.cn/posts/cv100006/
作者
Zachary Pan
发布于
2024-07-24
许可协议
CC BY-NC-SA 4.0