blog从wordpress迁移至hexo+github page
主要参考了这篇博客,还综合网上其他教程做了优化。
wp导出
wordpress方面,在【后台–工具–导出】可导出xml文件。存储这个文件为wordpress.xml
,后续我们用hexo-migrator-wordpress
插件将它导入hexo。
hexo安装
创建文件夹
blog
作为博客文件的存储地打开
git bash
,安装hexo-cli
(默认已安装git
)1
npm install -g hexo-cli
使用
hexo-cli
在本地创建 hexo 工程1
2
3cd blog # 定位到blog
hexo init
npm install导入wp数据
1
2npm install hexo-migrator-wordpress --save # 安装转换插件
hexo migrate wordpress [path to wordpress.xml] # 输入xml文件的绝对路径。我这里是hexo migrate wordpress "..\wordpress_blog_data\lonetrialantares.WordPress.2024-09-22.xml"github repositery建立
名称 性质 作用 weblog public 静态文件 blog private 博客程序 git push同步
1
2
3
4
5
6git init
git checkout -b main # 建main分支(因为github repo的default branch是main)
git remote add origin [SSH of blog] # attention : origin & blog
git add .
git commit -m "init"
git push --set-upstream origin main --force # 建议先git push,否则一来就force也会报错下载配置主题
在hexo官网可选择主题。多番对比后我选择了yuzu的theme,因为适合我学术博客与随笔并行的写作风格。之后有时间也可能fork并个性化一下。为完整展示安装流程和注意事项,我把theme-yuzu的readme搬过来演示:
- 安装主题与必要的依赖
1
2
3
4# 在blog内运行
npm i hexo-renderer-pug
mkdir -p themes && cd themes
git clone https://github.com/Cerallin/hexo-theme-yuzu- 修改blog根目录下的
config.yml
。
将
config.yml
中theme
字段改为hexo-theme-yuzu
。将主题文件夹下_root_config_example.yml
的内容添加到config.yml
中。- 根据自己的需要修改主题配置
可创建一个
_config.[theme name].yml
文件来覆盖主题的默认设置。对于上述安装方法来说,就是_config.hexo-theme-yuzu.yml
。更新:这个主题加载比较慢,换成solar试一下:
- In the
root
directory of Hexo:
1
2$ git clone https://github.com/tzvetkov75/solar-theme-hexo.git themes/solar
$ npm install hexo-pagination --save- Change the
theme
property in theconfig.yml
file (hexo config file).
1
theme: solar
solar是基于cactus改写的,性能比较好,加载比较快。
尝试更换主题时,需耐心等待,电脑端加载比较慢(也可能是因为cookie残留之类的?)用手机预览会比较好。
构建与发布
更改
config.yml
的deploy
设置:1
2
3
4deploy:
type: git
repo: git@github.com:yourname/weblog.git # yourname 替换为 github 用户名
branch: gh-pages安装发布插件
1
npm install hexo-deployer-git --save
构建、发布
1
hexo g -d
github绑定域名
- 域名方面
以阿里云购买的域名为例,需添加5条域名解析记录:
记录类型 主机记录-域名前缀 记录值 A @ 185.199.108.153 A @ 185.199.109.153 A @ 185.199.110.153 A @ 185.199.111.153 CNAME www yourname.github.io - github方面
在
weblog
的【setting–page–custom domain】处添加自己的域名即可。解析记录添加过了就能通过DNS审核。记得勾选Enforce HTTPS
。想要以后每次构建发布自动添加域名,可在【blog/source】添加一个无后缀的文件【CNAME】,内容为你的域名。
至于自动化构建与发布,感觉意义不大,之后再弄。现今阶段更改完文件直接hexo g -d
就行了,已经很方便。
后续建设(个性化)
typora图片插入
总体参考这篇博客,更改typora的偏好设置(也就是在YAML Front Matter加一句typora-root-url: ./..
)、在source文件夹新建一个images文件夹即可插入图片。
给已有文章添加根目录地址时,可参考下面的python程序:
1 | import os |
公式渲染
1 | npm un hexo-renderer-marked --save |