本站已从wordpress迁移到hexo。本文记录迁移过程,仅供参考。
本文省略hexo/wordpress等基本知识。
一、wordpress导入
准备
- wordpress:登陆后台,工具->导出,默认是所有内容。导出文件格式为xml。
- wordpress:登陆后台,自行想办法下载图片等媒体资源。
- hexo:安装导入工具,命令
npm install hexo-migrator-wordpress --save
。
导入wordpress
打开命令行(使用git bash也行),进入hexo博客目录,执行:
1 | hexo migrate wordpress wordpress_backup.xml |
整理
整理导入的md文件工程量非常大,因为格式错乱了,要一一查找,慢慢整理。
查找包括“代码生活”的所有文件,将其剪切到上一目录的newcat下的code-life目录:
1 | grep -rl "代码生活" * | xargs -I {} mv {} ../newcat/code-life |
二、hexo主题修改
背景
因为本站已经运行了近9年时间,有大量的文章,且分类、文章URL已固定,为保证一致性,需要修改配置。
保持原有url地址
在_config.yml文件中修改链接,如下:
1 | permalink: :category/:urlname.html |
其中urlname为每个markdown文件中必须填写的一项(与原有文章URL一致)。category为分类名称(与原有文章分类名称一致)。为方便中英对照,需要做映射,修改或添加category_map:
1 | category_map: |
源文件目录设计
接上,在_post目录中,以英文名称创建目录,如programming-under-linux
,该目录存放GNU/Linux程序
分类文章。文章名称为“日期-中文.md”,在文章中填写title和urlname。
如此一来,存储时按日期排序,并能直观看到文章标题(因为是中文),实际链接地址则使用映射的英文,兼顾了各方需求,是一个不错的选择。当然,在实际编写时,会略显麻烦。下面是本文的一个示例:
1 | --- |
标签、分类修改
hexo的标签、分类为复数形式:tags和categories。需要修改为单数,具体如下:
1 | tag_dir: tag |
网站地图
安装:
1 | npm install hexo-generator-sitemap |
配置:
1 | # sitemap |
xml文件地址为<网站地址>/sitemap.xml
RSS订阅
安装:
1 | npm install hexo-generator-feed |
配置:
1 | # new add 2018.7.30 |
xml文件地址为<网站地址>/atom.xml
文章加密
安装:
1 | npm i hexo-blog-encrypt |
配置:
1 | encrypt: |
使用:在文章前面添加password: 123456
。加密后,只能通过密码访问(不输入密码,右键查看源码无法看到真正内容)。
breadcrumb
1 | npm install hexo-breadcrumb |
结果:失败
参考修改
本小节列出本站参考的资源。感谢参考来源作者的工作。
- 本站主题:hipaper,以此为模板修改而成。
- 导航条:参考bootstrap教程。
- 打赏支持:参考但丁笔记修改,文字自定。注:实质参考NeXT主题。
- 文章版权声明:颜色、样式参考wordpress的Ality主题,文字自定。
- 文章封面图样式:参考hiero修改。
- 本站信息统计(文章、分类):参考闪烁之狐。注:实质使用百度的echarts。
- 网站运行时间:参考来源未记录。主要使用js统计时间。后删除。
- 网站统计:友盟、不蒜子。
- 网站推送:参考Hexo博客向百度提交链接。
- 面包屑:cactus。
- 评论系统:云淡风轻版本valine、deserts维护版、deserts维护版源码
另外一些是自己折腾的:
- 文章作者姓名、头像展示。
- 文章开头处:持续更新、尚未完结等字样。
- 面包屑功能。
- 网站提示语定期自动更新。
李迟 2019.3.31