hexo博客迁移流程

作者: ShallowLearner | 来源:发表于2017-03-19 16:32 被阅读1384次

    本文并不是从头开始搭建hexo博客的教程,而是因为最近个人换了电脑,需求迁移原来搭建好的hexo博客,为了防止将来还需要迁移,特记录下操作流程,以便将来查看。

    迁移博客的工作量要比从头开始搭建简单很多,很多插件的服务端配置都不需要重新设置,只需要在本地做相应的操作即可。

    安装hexo

    第一步当然是安装相应的软件和配置好环境。需要安装的软件有Node.js和Git,去官网下载安装即可。

    当Node.js和Git都安装好后就可以正式安装Hexo了,终端执行如下命令:

    sudo npm install -g hexo
    

    终端cd到一个你选定的目录,执行hexo init初始化命令:

    hexo init <folder>
    

    终端cd到目录下,安装npm

    npm install
    

    此时开启hexo服务就可以在本地(本地预览地址http://localhost:4000 )预览博客主页了

    hexo s
    

    下载主题:

    cd your-hexo-site
    git clone https://github.com/iissnan/hexo-theme-next themes/next
    

    拷贝文件

    拷贝原来搭建好的博客的站点配置文件和主题配置文件_config.yml并在对应的配置目录下做替换。

    如何还有其他修改过的配置文件,也一并替换掉。比如我的主题目录下layout/_partials/header.swig就有部分修改,因而需要替换。

    最重要的是拷贝并替换数据文件,即站点更目录下的source文件夹,所有博文的原始文件都在这个目录下。

    配置MathJax

    配置方法参考我的另一篇博文:在Hexo中渲染MathJax数学公式

    安装RSS插件

    npm install hexo-generator-feed --save
    

    安装Git插件

    npm install hexo-deployer-git --save
    

    安装hexo-asset-image的插件来处理图片

    npm install https://github.com/CodeFalling/hexo-asset-image --save
    

    确认_config.yml 中有 post_asset_folder:true,设置post_asset_folder为true参数后,在建立文件时,Hexo
    会自动建立一个与文章同名的文件夹,您可以把与该文章相关的所有资源都放到那个文件夹,如此一来,您便可以更方便的使用资源。结构如下:

    本地图片测试
    ├── apppicker.jpg
    ├── logo.jpg
    └── rules.jpg
    本地图片测试.md
    

    这样的目录结构(目录名和文章名一致),只要使用 ![](本地图片测试/logo.jpg) 就可以插入图片。其中[]里面不写文字则没有图片标题。

    配置站内搜索

    安装Algolia

    npm install hexo-algolia --save
    

    因为hexo-algolia的作者并没有把post.path进行index,所以data.path是undefined,即搜索出的内容点击之后跳转链接不正确,解决方案是在node_modules/hexo-algolia/lib, 找到command.js,打开文件,在storedPost变量里加path:

    var storedPost = _.pick(data, ['title', 'date', 'slug', 'path', 'content', 'excerpt', 'objectID']);
    

    上传数据到Algolia引擎服务

    hexo algolia
    

    提交搜索引擎

    分别用下面两个命令来安装针对谷歌和百度的插件

    npm install hexo-generator-sitemap --save
    npm install hexo-generator-baidu-sitemap --save
    

    大功告成

    执行如下命令就可以预览博客了。

    hexo g && hexo s
    

    最后要部属到远程服务器,如github或coding上,别忘了在新电脑上生成ssh公钥,并注册到远程服务器。

    PS: 为了兼容coding,需要在source文件夹下touch一个空的文件:Staticfile.

    因为博客同时部署到github和coding两个平台,但配置文件里智能配置一个root路径,所以生成的sitemap.xml或者baidu-sitemap.xml中有一个网站的路径是错误的,需要在部署之前手动修改。

    博客预览效果没问题的话,就可以部属到远程服务器了。

    hexo d
    

    相关文章

      网友评论

      • 95b1c1b8629c:上传数据到algolia报错怎么办
        ShallowLearner:应该是你的algolia配置错了,登录algolia后台,重新拷贝key吧

      本文标题:hexo博客迁移流程

      本文链接:https://www.haomeiwen.com/subject/lpzmnttx.html