【五】将博客从jekyll迁移到了hexo

发布于 2019-09-26 作者 风铃 252次 浏览 版块 前端

    <h1 class=\"postTitle\">
        <a id=\"cb_post_title_url\" class=\"postTitle2\" href=\"http://www.cnblogs.com/mo-wang/p/5119967.html\">【五】将博客从jekyll迁移到了hexo</a>
    </h1>
    <div class=\"clear\"></div>
    <div class=\"postBody\">
        <div id=\"cnblogs_post_body\"><p>本系列有五篇:分别是  <br/><a href=\"http://www.cnblogs.com/mo-wang/p/5115266.html\" target=\"_blank\">【一】Ubuntu14.04+Jekyll+Github Pages搭建静态博客</a>:主要是安装方面  <br/><a href=\"http://www.cnblogs.com/mo-wang/p/5117408.html\" target=\"_blank\">【二】jekyll 的使用</a> :主要是jekyll的配置  <br/><a href=\"http://www.cnblogs.com/mo-wang/p/5117819.html\" target=\"_blank\">【三】Markdown+jekyll在Gitpages上写blog的常用操作 :主要Markdown的使用</a></p>

【四】搭建Markdown的编辑器

【五】将博客从jekyll迁移到了hexo

 

 

目录:

一、静态博客:

二、关于hexo和jekyll

三、Hero的安装

 

一、静态博客:

引用链接:https://www.zhihu.com/question/21981094/answer/20585133
来源:知乎

正题:以下内容来自于我个人的调查和使用经验,如果有错误或者主观的地方,欢迎指正。
注:marboo 和 Prose · A Content Editor for GitHub 第一次知道。

※FarBox
国产,对中文支持好。类似于国外的 Scriptogr.am 和 Calepin(类似还有很多,但这两个是主流,calepin 是 dropbox 用作博客的始祖),利用 dropbox 做仓库储存文章,Markdown 写作。一键安装,不需要懂技术,使用门槛低。可以生成静态网站(这点类似 site44)和博客。作为个人博客是个不错的选择,不用管数据库什么的,专注写作。但如果要做动态网站,还是用 WordPress 或者 site44 的付费版(如果你一定要用 dropbox 的话)。
收费参考:FarBox的服务与价格。对于个人用户可以说近乎免费。暂时未开通企业服务也说明它现在还不适合做企业网站。不过想想 WP 虽然是免费的,但是还得买空间,对比之下 dropbox 的免费2G和 Farbox 的“五年计划”还是较为划算的。

※Jekyll • Simple, blog-aware, static sites
完全免费,可以托管在 Github 上。相当于技术版的 WP 地位,插件多,教程多。自定义程度高,世界中的程序员们都爱用,便于与他们沟通交流,结交朋友,学习知识。但是需要一定的技术知识,虽然现在中文教程很多,照做应该可以顺利搭建,但步骤还是稍显繁琐,特别对于不懂技术的人(比如我,纠结了很久 git 是什么),完全是一头雾水。
另外需要注意的是,用 Github Pages 建博客除了在技术上适合程序员,在内容上也更偏向分享程序界的知识。如果只是生活叨叨,那还是算了吧。参考使用 GitHub Pages 来做博客是否道德?中@钟子豪的回答,不要漏看spread your ideas 这句话。

※Octopress
据说是 Jekyll 的简化版,比 Jekyll 易上手。免费,托管 Github,教程不少。缺点同 Jekyll,另外据说文章一多非常慢。

※Ghost - Just a blogging platform
因为放出话来要代替 WP 成为博客界的龙头老大而闹得沸沸扬扬的新平台。发起者是 WP 的(前?)员工,基本可以等同于年轻时的 WP(现在的老 WP 已然是一副 CMS 的样子了)。融合了些现代技术和思维,比如 Markdown 写作。和 WP 一样免费开源,需要买空间托管。缺点大概就是没什么特别的地方吧。

※Marboo - Noting with Freedom
看了题目第一次知道,去官网看了一下,发现是个编辑器,可以写很多语言: Markdown、HTML还有程序。对于前后端都涉猎的人来说应该是个不错的编辑器。
更多请参考README

※Hexo - Node.js blog framework
台湾产。用 Node.js 搭建的博客平台,速度快,免费,可以搭建在 Github 上。操作比 Jekyll 简单,命令少,易于记忆。 安装好像也简单一点。

※Medium
一个完整社区,大家在里面写写读读。专注于写作和阅读。国内有类似的社区:简书和十五言 - 每个人都在创造。

※Logdown, blog things with Markdown
在线。分免费版和付费版,具体差别请看Plans & Pricing « Logdown。注册后第一个月内是付费版试用,用得爽了可以选择继续付费使用,或者切换为免费版。免费版只有一个静态页面,不能绑定域名。Markdown 写作,图片拖曳上传,免费版30张,付费版10G空间。

※Prose · A Content Editor for GitHub
在线编辑器,区别于 Jekyll、Octopress 以及 Hexo ,它提供一个建立免费 CMS 网站的环境(好吧,我承认我在翻译介绍页面)。

除了 Scriptogr.am 和 Calepin,另外补充个 DocPad - Streamlined Web Development,看了官方文件,英语不好,后端不懂,所以不太明白。但是看见基于 node.js 和 express.js,是不是和 Hexo 有点类似呢?求其他大神补充吧。


 


二、关于hexo和jekyll


现在人气比较高的的静态博客系统有Jekyll,Hexo,Octopress等。Octopress是在Jekyll上的一个框架,网上褒贬不一,而且意见有点极端,说它好的人爱到简直是没了它不行,说它不好的人贬地一无是处。最终我试用了一下JekyllHexo


hexo和jekyll一样都是个静态网站生成工具,hexo是一个台湾小伙使用nodejs开发的,jekyll则是用ruby开发,github内置了jekyll,可以直接将jekyll相关的文件提交到github,github会自动给你生成静态页面。


hexo由于采用nodejs开发的,因此需要在本地生成静态页面后在提交到github,不过hexo内置了hexo deploy命令,提交博客也是挺方便的。


之前使用jekyll搭建的个人博客,由于jekyll对分页和文章摘要支持的不是很好,了解一下hexo这个新东西,感觉其页面生成速度还是蛮不错的,对分页和文章摘要也支持的挺好,主要是小清新的light主题吸引了我,于是乎,马上有种把博客迁移到hexo的念头。


1、Jekyll应该是现在最火的静态博客系统了,从Github Pages支持Jekyll上就能看出来。所谓Github Page支持Jekyll,并不是说Github Page上面可以放Jekyll的博客而不能放Hexo的博客,而是说Github Page支持直接上传Jekyll的源文件,由Github Pages的服务器生成静态页面,无需在本地生成好后再上传。这样就能利用Github强大的版本管理功能维护博客内容、皮肤、设置之类的东西,而别人clone下来的也不再只是博客的HTML文件,而是包括皮肤、设置、文章等源文件。从开源的角度讲,更加方便了别人“拿来主义”你的东西,当然也方便了你“拿来主义”别人的东西。我现在用到的皮肤、搜索功能就是从别人那里clone下来的。


关于Jekyll的使用教程网上很多,官网的文档其实也很详细,详细请参考以下博文:


【一】Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 
【二】jekyll 的使用 :主要是jekyll的配置 
【三】Markdown+jekyll在Gitpages上写blog的常用操作 :主要Markdown的使用


Jekyll功能很强大,但是用起来比较麻烦,如果懂一点HTML、JS的语法,用起来会更加得心应手。在Jekyll中,修改、使用皮肤的方式还是属于比较原始,在基本的框架下,没有办法同时保有多套皮肤、并方便的切换皮肤。另外,个人感觉Jekyll的皮肤相对于Hexo来说,普遍功能都简单一些。估计也就是因为Jekyll易用性的不足,才会有很多基于Jekyll的框架,比如OctoPress。


2、Hexo是一个台湾人写的基于Node.JS的静态博客框架。据说他最初之所以要写Hexo,是因为受不了OctoPress的生成速度,两者的页面生成速度据说是百倍级的差距。


相比于Jekyll,Hexo就更像是一套博客系统了,在设计之初就实现了文章与皮肤的分离。在Hexo里面有专门的皮肤目录,把皮肤放进去之后,只需要在_config.yml文件中写上theme: xxx 就能指定皮肤。易用性带来的是灵活性的不足,在Hexo中,只有皮肤相关的文件能执行函数,包含文章内容的markdown文件是无法执行函数的。


如果想在一篇文章中插入另外一篇文章的链接,直接插入那篇文章的固定链接当然可以,但是如果被应用文章的固定链接变了,添加的链接就失效了。为此,Jekyll提供了一种方法,就是在文章中调用post_url函数,{% post_url /subdir/2010-07-21-name-of-post %}。在Hexo中,想实现类似的功能就需要添加插件了。


引用知乎里一个人的说法,静态博客不是为 hacker 做的,是为”萨比西”的人做的。相比之下,Jekyll比Hexo更加”萨比西”。


三、Hero的安装


1、安装:参考官网文档

(1)安裝需求

安裝 Hexo 相當簡單;然而,在安裝前您必須先檢查下列您的電腦是否已經安裝下列軟體:



  • Node.js

  • Git

若您的電腦已經安裝上述的必備軟體,那麼恭喜您!只需要透過 npm 即可完成 Hexo 的安裝。









$ sudo npm install -g hexo-cli


如果您的電腦尚未安裝必備軟體的話,請根據下列的安裝指示來完成安裝。


(2)安裝 Git


  • Windows:下載並安裝 git.

  • Mac:使用 Homebrew, MacPorts 或 安裝程式 安裝。

  • Linux (Ubuntu, Debian):sudo apt-get install git-core

  • Linux (Fedora, Red Hat, CentOS):sudo yum install git-core


(3)安裝 Node.js

安裝 Node.js 的最佳方式是透過 nvm。


cURL:









$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh


Wget:









$ wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh



 


一旦安裝完成,重啟終端機並執行下列指令以安裝 Node.js。









$ nvm install 4


或者您也可以下載 安裝程式 來安裝。


【Ubuntu用户】在Ubuntu上,可以通过apt-get 安装


sudo apt-get install nodejs




(3)安装npm

npm是node.js的一个包管理器,因为Hero是Note.js做的,所以需要通过这个包管理器下载。


貌似官网上说安装了Node.js就可以直接使用npm程序来安装包,但是我在Ubuntu14.04上测试好像要再手动安装下npm,如下:




(4)安装hexo

一旦所有的必備軟體都安裝完畢後,即可透過 npm 安裝 Hexo。









$ sudo npm install -g hexo-cli



(5)测试是否安装成功:


输入hexo -v ,如果如下显示,表明正常


 


如果出现异常,请参考最后面的【异常1】


四、Hexo的配置和部署


1、一旦 Hexo 完成後,請執行下列指令,Hexo 會在指定資料夾中建立所有您需要的檔案。









$ hexo init <folder>
$ cd <folder>
$ npm install



建立完成後,專案資料夾會有下列檔案:









.
├── _config.yml
├── package.json
├── scaffolds
├── scripts
├── source
| ├── _drafts
| └── _posts
└── themes


 


_config.yml:跟Jekyll一样,hexo的配置文件也是根目录下的config.yml,可配置内容相当多,可以在官方文档Configuration里查看详细解释。


 


package.json

應用程式資料。EJS, Stylus 和 Markdown renderer 已預設安裝,您可以稍後移除。


package.json









{
"name": "hexo-site",
"version": "0.0.0",
"private": true,
"hexo": {
"version": ""
},
"dependencies": {
"hexo": "^3.0.0",
"hexo-generator-archive": "^0.1.0",
"hexo-generator-category": "^0.1.0",
"hexo-generator-index": "^0.1.0",
"hexo-generator-tag": "^0.1.0",
"hexo-renderer-ejs": "^0.1.0",
"hexo-renderer-stylus": "^0.2.0",
"hexo-renderer-marked": "^0.2.4",
"hexo-server": "^0.1.2"
}
}


scaffolds

鷹架 資料夾。當您建立新文章時,Hexo 會根據 scaffold 來建立檔案。


scripts

腳本 資料夾。腳本是擴充 Hexo 的最簡易方式,在此資料夾內的 JavaScript 檔案會被自動執行。


source

原始檔案資料夾是放置內容的地方。檔案 / 資料夾名稱開頭為 (底線) 和隱藏檔案會被忽略,除了_posts 資料夾以外。Markdown 和 HTML 檔案會被處理並放到 public 資料夾,而其他檔案會被拷貝過去。


themes

主題 資料夾。Hexo 會根據主題來產生靜態檔案。


 


更多命令:详细请查看【官方命令文档】


init








$ hexo init [folder]


建立一個新的網站。如果沒有設定 folder 的話,Hexo 會在目前的資料夾建立網站。


new








$ hexo new [layout] <title>


建立一篇新的文章。如果沒有設定 layout 的話,則會使用 _config.yml 中的 default_layout 設定代替。如果標題包含空格的話,請使用引號括起來。


generate








$ hexo generate


產生靜態檔案。
















選項描述
-d, –deploy 產生完成即部署網站
-w, –watch 監看檔案變更

publish








$ hexo publish [layout] <filename>


發表草稿。


server








$ hexo server


啟動伺服器。






















選項描述
-p, –port 覆蓋連接埠設定
-s, –static 只使用靜態檔案
-l, –log 啟動記錄器,或覆蓋記錄格式

deploy








$ hexo deploy


部署網站。












選項描述
-g, –generate 部署網站前先產生靜態檔案

render








$ hexo render <file> …


渲染檔案。












選項描述
-o, –output 輸出位置

migrate








$ hexo migrate <type>


從其他系統 轉移內容。


clean








$ hexo clean


清除快取檔案 (db.json) 和已產生的靜態檔案 (public)。


list








$ hexo list <type>


列出網站資料。


version








$ hexo version


顯示版本資訊。


選項


安全模式








$ hexo –safe


在安全模式下,不會載入外掛和腳本。當您在安裝新外掛後遭遇問題時,可以嘗試以安全模式重新執行。


除錯模式








$ hexo –debug


在終端機中顯示除錯訊息並儲存記錄檔到 debug.log。當您碰到問題時,試著以除錯模式重新執行一次,並把除錯訊息貼到 GitHub。


安靜模式








$ hexo –silent


隱藏終端機的訊息。


自定配置檔的路徑








$ hexo –config custom.yml


自訂配置檔的路徑而不是使用 _config.yml


顯示草稿








$ hexo –draft


顯示 source/_drafts 資料夾中的草稿文章。


自定 CWD








$ hexo –cwd /path/to/cwd


自定目前工作目錄(Current working directory)的路徑。


2、写作:参考【官方】


接下來,我們要在網誌中建立第一篇新文章,您可以直接從現有的範例文章「Hello World」改寫,但我們更建議您學習 new 指令。









$ hexo new [layout] <title>


您可以在指令中指定文章的佈局(layout),預設為 post,您可以透過修改 _config.yml 中的default_layout 設定來指定預設佈局。




我将新建文章的名字格式改为和jekyll的类似,便于按照时间排序:(在_config.yml中修改)



new_post_name: :year-:month-:day-:title.md



Disqus的名字必须要正确,不然是无法拿到你的评论的,可以登录disqus查看你的名称。


3、修改主题


【强烈推荐】NexT主题,非常漂亮。


hexo默认主题不是特别好看,不过Themes里面列出了相当多不错的主题,这里我选择了alberta,然后对其进行了进一步的简化。


主题的安装、使用简单的不能再简单了,这里不再啰嗦,主要写一下我对主题的删减、修改部分吧:



  1. 删去开始部分的图片(加载起来浪费时间)

  2. 删掉页面底部的版权说明(这玩意儿没人看吧)

  3. 删掉很炫的fancybox(这么炫,我不敢用)

  4. 去掉分享文章的链接(又不是鸡汤文,没人会分享的)

  5. 部署国内CND(jquery和google字体…丧心病狂!)

  6. 修改了blockquote,code,table的样式。


修改后的效果如图:



你可以在这里fork哦。前面说过我不是很会前端的Css、JavaScript,但是仍然能对Theme进行删减,说明Theme这块可读性是多么的好,所以你可以放心去定制自己的Theme吧。


顺便提一下,360的CDN不错,算是做了一件好事啊!


4、强大的插件


1、官方插件:https://hexo.io/plugins/


之前用jekyll博客系统时,为了实现订阅功能,用google找到一段“神奇”的代码,可以生成feed.xml页面。但是要添加订阅,必须输入blog.com/feed.xml,只输入主页地址blog.com是不行的。然后困扰了许久,才找到RSS Auto-discovery这篇文章,成功解决问题。


我只是想实现订阅功能而已,jekyll却逼着我了解了许多RSS协议的内容,好吧,谁让自己不是全栈工程师呢。而hexo对我这种新手都很友好,我要实现订阅,只需要使用hexo-generator-feed插件即可,我才懒得去了解你怎么实现订阅呢。


插件的安装卸载一条命令就能搞定,详细的插件列表可以看Plugins。


不过在这里被坑了一次,文档中并没有说EJS, Stylus和Markdown renderer被移出核心模块,所以按照文档方法安装hexo后,根本不能够生成静态文件,后来看到Issue 620才知道怎么回事。


所以提醒一下,你需要手动安装EJS, Stylus和Markdown renderer:


$ npm install hexo-renderer-ejs –save
$ npm install hexo-renderer-stylus –save
$ npm install hexo-renderer-marked –save

对了,还有Tag Plugins,可以允许你在博客里面引用其他站点的内容。比如要引用jsFiddle中的代码片段,只需要 {% jsfiddle shorttag [tabs] [skin] [width] [height] %},或者是用{% gist gist_id [filename] %} 引入gist中的内容。


2、Hexo上使用MathJax来实现数学公式的表达——Hexo MathJax插件

【方法一】参考官方文档——数学公式


NexT 借助于 MathJax 来显示数学公式,此选项默认关闭。


编辑 主题配置文件(theme/next/_config.yml),将 mathjax 设定为 true 即可。


# MathJax Support
mathjax:ture




ProTip: 使用七牛 CDN 来加速 MathJax 脚本的加载


【方法二】


参考:


【Hexo MathJax插件】


【Hexo上使用MathJax来实现数学公式的表达】


原生的Hexo是不支持数学公式的显示的,但听说过Latex所以在网上搜教程来着,大部分搜到的渲染公式的方法都分为两个步骤:



  1. 在theme的header中插入对MathJax CDN script的引用,并配置inline math;

  2. 在文章中用inline math插入公式。

  3. 但其中似乎存在两个缺点:

  4. 需要人肉进行的工作太多;

  5. 遇到特殊符号需要人肉escape,否则会被markdown parser吃掉。


具体可参考【【三】用Markdown写blog的常用操作——>公式】


我们这里直接引用了CATX开发的一款插件来实现这个功能。


安装与初始化


$ npm install hexo-math –save


在blog文件夹中执行:



$ hexo math install


在_config.yml中添加:



plugins:
- hexo-math


部署完之后,相关的ejs等文件就会自动生成在你的theme相应的文件夹里了。


使用

简单的公式:



Simple inline $a = b + c$.


效果:


Simple inline a=b+c'>a=b+c.


 


复杂一点的独立公式:



$$\frac{\partial u}{\partial t}
= h^2 \left( \frac{\partial^2 u}{\partial x^2} +
\frac{\partial^2 u}{\partial y^2} +
\frac{\partial^2 u}{\partial z^2}\right)$$


效果:


 


&#x2202;u&#x2202;t=h2(&#x2202;2u&#x2202;x2+&#x2202;2u&#x2202;y2+&#x2202;2u&#x2202;z2)'>

 



$\cos 2\theta = \cos^2 \theta - \sin^2 \theta =  2 \cos^2 \theta - 1$


效果:


 


cos&#x2061;2&#x03B8;=cos2&#x2061;&#x03B8;&#x2212;sin2&#x2061;&#x03B8;=2cos2&#x2061;&#x03B8;&#x2212;1'>

 


最后来个牛逼的吧,薛定谔方程,大学物理考试貌似还复习过这个公式,虽然现在已经记不清是什么意思来着了:



$$ i\hbar\frac{\partial \psi}{\partial t}
= \frac{-\hbar^2}{2m} \left(
\frac{\partial^2}{\partial x^2}
+ \frac{\partial^2}{\partial y^2}
+ \frac{\partial^2}{\partial z^2}
\right) \psi + V \psi.$$


 



 


注意



  • 对了,在书写的过程中碰到了几个头疼的问题在这里记录一下,防止以后犯错:




  • Markdown会将一些标记给编译掉,所以在打{时不能知只打\{,需要再加一个斜线来编译,即\\{。因为\{在markdown编译的时候成了{,然后mathjax再编译就……一定记着编译过程有两次:第一次markdown,第二次mathjax。




  • 编写带有下标的公式时要在下划线前加上\,比如x_i应该写成x_i。




  • 数学公式属于符号后面应该有个空格:x_i\in C



  • 写行间公式时,注意换行是四个斜杠(即\\\\),打两个(即\\)的话可能解析出错。





  • 有关MathJax语法的教程网上特别多就不一一列举了,搜了一下可以参考《MathJax使用LaTeX语法编写数学公式教程》。最后,感觉没学过编译原理这门课有点遗憾,感谢师傅Willzhang在我头疼过程中的指点。




 


5、开始优雅地写博客吧


可以用hexo new "blog_name"来新建一篇文章,文章藏在source/_posts里面。我们可以在scaffolds里面设置生成新博客的模板,比如文章(layout: post)的模板post.md可以改为如下内容:



title: 更换博客系统——从jekyll到hexo
date: 1417276800000

<br/>tags:

<br/>category:

<br/>-–</p>


这里文章有两种layout,如下:









</tr>



</tr>

LayoutDestination
post(Default) source/_posts
page source

post用来放文章,page可以用来放一些比如“关于我”,“友情链接”,“404页面”之类的页面。GitHub Pages 自定义404页面非常容易,直接在根目录下创建自己的404.html就可以。但是自定义404页面仅对绑定顶级域名的项目才起作用,GitHub默认分配的二级域名是不起作用的,使用hexo server在本机调试也是不起作用的。


目前有如下几个公益404接入地址,我选择了腾讯的。404页面,每个人可以做的更多。



  • 腾讯公益404

  • 404公益_益云(公益互联网)社会创新中心

  • 失蹤兒童少年資料管理中心404

只需要在source目录添加404.html文件即可,文件内容为:

layout: false

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>宝贝,公益404带你们回家</title>

</head>

<body>

<script type="text/javascript" src="http://www.qq.com/404/search_children.js&#34; charset="utf-8"></script>

</body>

</html>



一定要设置layout:false(还有三个短横线),不然会被hexo解析。



写完之后,可以用hexo generate生成静态文件,然后用hexo server运行本地服务器,查看效果。如果发现有问题,在md文件改了之后,刷新页面就可以看到更改的效果了(是不是比jekyll强大啊)。



更多用hexo写文章的内容可以看官方文档:Create a New Post。



自己之前写了十几篇文章,只需要将开头部分稍作改动即可直接迁移到hexo中,文章数目比较少,所以就手动更改文章头了。



hexo中还提供了其他的命令,可以看Commands。



6、佈署:官方文档





Hexo 提供了快速方便的一鍵佈署功能,讓您只需一個指令就能將網站佈署到伺服器上。

















$ hexo deploy




在開始之前,您必須先在 _config.yml 中修改設定,一個正確的部署設定中至少要有 type 欄位,例如:

















deploy:

type: git




您可同時使用多個 deployer,Hexo 會依照順序執行每個 deployer。

















deploy:

- type: git

repo:

- type: heroku

repo:




Git


安裝 hexo-deployer-git。

















$ npm install hexo-deployer-git –save




修改設定。

















deploy:

type: git

repo: <repository url>

branch: [branch]

message: [message]








































選項描述
repo 儲存庫(Repository)網址,特别注意是SSH的地址不是Http的
branch 分支名稱。如果您使用的是 GitHub 或 GitCafe 的話,程式會嘗試自動偵測。
message 自定提交訊息 (預設是 Site updated: {{ now("YYYY-MM-DD HH:mm:ss") }})




注意hexo使用ssh部署,所以首先要确定已经安装和配置好ssh与git的链接,不然部署会出现授权问题,详细请参考【git配置ssh(github)



repo的地址的ssh 的地址也要注意是SSH的,可以在github上复制





输入hexo d 或者hexo deploy,会自动生成静态文件然后进行部署





成功。。。。通过github page访问。。







7、迁移Disqus评论



hexo生成的的文章url中时间格式为/2013/11/22/,而之前博客的url中时间为2013-11-22,导致之前文章的评论就消失了。



好在Disqus允许我们迁移博客评论,具体方法可以看Help: Migration Tools。原理其实很简单,Disqus评论默认将文章url作为标识符,每个url对应该文章的评论,迁移时我们只需要建立起新旧文章地址的对应关系即可。



8、绑定域名



改了博客界面之后,顺便注册了一个域名,绑定github博客中。你可以在free domains域名免费注册里选择自己喜欢的域名,然后申请(免费)。申请成功之后,添加两条域名解析A记录,如下图:





然后可以用dig命令(当然也可以用nslookup)验证域名记录是否生效:



$ dig zhaofei.tk +nostats +nocomments +nocmd

; <<>> DiG 9.8.3-P1 <<>> zhaofei.tk +nostats +nocomments +nocmd

;; global options: +cmd

;zhaofei.tk. IN A

zhaofei.tk. 14439 IN A 192.30.252.153

zhaofei.tk. 14439 IN A 192.30.252.154



然后在自己的博客仓库根目录新建名为CANME的文件,里面内容为你的域名地址。



如果没有绑定成功,可以看github的帮助文档:My custom domain isn’t working。






还有添加到搜索引擎,站点数据统计等,准备折腾完再记录一下。



 



 



 



遇到的一些问题



1、异常1:/usr/bin/env: node: No such file or directory(运行hexo的时候,提示找不到node文件)





 



解决方法:参考:【run npm command gives error "/usr/bin/env: node: No such file or directory" #3911



I've found this is often a misnaming error, if you install from a package manager you bin may be called nodejs so you just need to symlink it like so "ln -s /usr/bin/nodejs /usr/bin/node"



这是由于hexo调用hexo的时候是用node这个名字,而我们安装nodejs时是默认安装了nodejs这个名字,所以提示node这个文件不存在,我们可以如下检验。





为了解决问题,我们只需为nodejs增加一个叫node的软链接,命令如下:



sudo ln -s /usr/bin/nodejs /usr/bin/node





问题解决。。。重新打入hexo -v,正常:





 



2、文章摘要设置



hexo和jekyll一样,都支持使用markdown编写文章,hexo的文章保存在source/_post目录下。



需要注意的是,在编写markdown文档是,在文档中插入<!–more–>就可以将文章切分开了,more以上的部分会已摘要的形式显示,当查看全文是more一下的部分也会显示出来。



3、图片路径问题



这个也很简单,直接将图片文件夹放到source目录下即可。



同理将favicon.ico和CNAME(github支持在CNAME文件中加入自定义域名,通过自定义的域名访问自己的网站)也放到source目录。



 



参考:



将博客从jekyll迁移到了hexo



更换博客系统——从jekyll到hexo



hexo你的博客
Tips for configuring an A record with your DNS provider


HEXO 指定404页面










    </div>
<div class=&#34;postDesc&#34;>posted @ <span id=&#34;post-date&#34;>2016-01-10 23:58</span> <a href=&#34;http://www.cnblogs.com/mo-wang/&#34;>mo_wang</a> 阅读(<span id=&#34;post_view_count&#34;>…</span>) 评论(<span id=&#34;post_comment_count&#34;>…</span>) <a href=&#34;http://i.cnblogs.com/EditPosts.aspx?postid=5119967&#34; rel=&#34;nofollow&#34;>编辑</a> <a href=&#34;#&#34; onclick=&#34;AddToWz(5119967);return false;&#34;>收藏</a></div>

收藏
暂无回复