Wordpress to Hexo或Hugo
Wordpress 预处理
导出
访问你的Wordpress WEB管理后台, 访问 “Tools” → “Export” → “WordPress” ,将整站导出,你的浏览器将自动下载xml文件,请将该下载文件保存到本地指定地点。
评论处理
使用 Disqus 进行评论管理。请先去官网开通帐号并增加现有博客网站。 在wordpress后台安装Disqus的官方插件,设置完配置信息,启动插件的自动同步功能,将网站现有评论同步到Disqus上。 如果评论量非常大的话,推荐使用wordpress后台导出评论功能,再去Disqus官网进行导入。
迁移过程
迁移Wordpress
因为开始考虑是迁移到Hexo,因此使用了Hexo的Wordpress导入程序。
Hexo 安装并建立一个新网站
需要依赖Node.js Git ,如果你的本地电脑未安装,请先安装。
npm install -g hexo-cli
hexo init blog #blog为网站目录名
cd blog
npm install
Wordpress 迁移到 Hexo
使用 Hexo 迁移工具
npm install hexo-migrator-wordpress --save
hexo migrate wordpress ~/Downloads/wordpress.xml # ~/Downloads/wordpress.xml为上一步下载文件。
执行完这两步后,你应该在blog目录下的source/下看到所有文章文件,后缀为md。
Wordpress 文章图片迁移
文章配图也需要迁移,否则网站文章内的配图将全部失效。 将配图迁移到七牛云(免费存储10G) 官网价格说明 注册链接
我直接从网站服务器将相关文件传输到七牛云,如果你没有网站服务器的ssh权限,也可以将目录下载到本地后再上传到七牛云。 登入你的网站服务器后,执行如下命令:
wget http://devtools.qiniu.com/qshell-v2.1.9.zip
unzip qshell-v2.1.9.zip
在七牛云注册后,访问密钥管理-七牛云 可以获得下行需执行命令提到的AccessKey/SecretKey
./qshell-linux-x64 account AccessKey SecretKey
在七牛云新建存储空间,例如将存储空间命名为it580_com(建议使用域名或二级域名,省得重复也方便自己管理)
执行以下命令,完成所有配图的上传。(注意将it580_com替换为你自己命名的存储空间)
./qshell-linux-x64 qupload2 -src-dir=/var/www/wordpress/wp-content/uploads/ -bucket=it580_com
Wordpress 文章内图片链接修改
我使用Atom做编辑器,因此就直接使用它进行所有文章内链接替换。 使用Atom打开用Hexo建立的本地新网站,选择 Find-> Find in Project.
在Find in project 输入框里输入: http://blog.it580.com/wp-content/uploads/ (请替换为你自己的域名)
在Replace in project 输入框里输入: http://abcd1234.bkt.clouddn.com/ (你的存储空间概述右侧显示的测试域名,如我这里输入的示例域名,如果你的域名已备案,请在七牛云绑定后直接使用自己的域名)
在File/directory 输入框输入: source/ (只检索和替换该目录下的文章)
点击右侧 Find All 按钮,并检查结果是否准确,如果没有问题,点击下方的 Replace All 按钮,完成替换。
本地网站测试
在本地新网站目录名,执行如下命令:
hexo server
当出现提示:
Hexo is running at http://localhost:4000/. Press Ctrl+C to stop.
使用浏览器,打开 http://localhost:4000/ 检查网站、文章是否准确显示。
Hexo 性能问题
当我完成本地网站测试后,执行了生成静态页面命令:
hexo generate
发现在本地电脑上都非常慢,而且几分钟后都未完成(我的网站才一千多的文章),因此我放弃了Hexo。转而使用Hugo。
从Hexo到Hugo
Hugo本地安装及建立本地新网站
因为我本地是Mac OSX,使用brew比较方便。(Git也是前置条件)
brew install Hugo
hugo new site hugoblog #请将hugoblog替换为你自己希望的目录名称
cd hugoblog
git init
git submodule add https://github.com/budparr/gohugo-theme-ananke.git themes/ananke #安装网站模板
echo 'theme = "ananke"' >> config.toml #配置为默认模板
如果是其他平台,直接到Hugo下载页面,下载对应版本。
将文章迁移到Hugo
Hexo 和 Hugo 均采用同一(Markdown)的文章格式(其实静态化网站生成工具基本都是该格式),因此我们只要将Hexo建立的本地新网站下的source/复制到hugoblog下的content/下。
Hugo本地网站测试
在Hugo 本地网站目录内执行:
hugo server
当出现提示:
Web Server is available at http://localhost:1313/ (bind address 127.0.0.1)
Press Ctrl+C to stop
使用浏览器,打开 http://localhost:1313/ 检查网站、文章是否准确显示。
发布
- 发布到Gitlab
- Netlify编译并生成网站
这两块都比较简单,留待下次再说。