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

本系列有五篇:分别是 
【一】Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 
【二】jekyll 的使用 :主要是jekyll的配置 
【三】Markdown+jekyll在Gitpages上写blog的经常使用操做 :主要Markdown的使用javascript

【四】搭建Markdown的编辑器 html

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

 

 

目录:

1、静态博客:java

2、关于hexo和jekyllnode

3、Hero的安装jquery

 

1、静态博客:

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

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

FarBox
国产,对中文支持好。相似于国外的 Scriptogr.amCalepin(相似还有不少,但这两个是主流,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.amCalepin,另外补充个 DocPad - Streamlined Web Development,看了官方文件,英语很差,后端不懂,因此不太明白。可是看见基于 node.js 和 express.js,是否是和 Hexo 有点相似呢?求其余大神补充吧。

 

2、关于hexo和jekyll

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

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

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

以前使用jekyll搭建的我的博客,因为jekyll对分页和文章摘要支持的不是很好,了解一下hexo这个新东西,感受其页面生成速度仍是蛮不错的,对分页和文章摘要也支持的挺好,主要是小清新的light主题吸引了我,因而乎,立刻有种把博客迁移到hexo的念头。web

一、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。

二、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更加”萨比西”。

3、Hero的安装

一、安装:参考官网文档
(1)安裝需求

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

若您的電腦已經安裝上述的必備軟體,那麼恭喜您!只须要透過 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
image

(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】

4、Hexo的配置和部署

一、一旦 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, StylusMarkdown 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)的路徑。

二、写做:参考【官方

接下來,我們要在網誌中创建第一篇新文章,您能够直接從現有的範例文章「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查看你的名称。

三、修改主题

【强烈推荐】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不错,算是作了一件好事啊!

四、强大的插件

一、官方插件: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中的内容。

二、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在我头疼过程当中的指点。

 

五、开始优雅地写博客吧

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

title: 更换博客系统——从jekyll到hexo
date: 1417276800000
tags:
category:
-–

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

Layout Destination
post(Default) source/_posts
page source

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

目前有以下几个公益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" charset="utf-8"></script> </body> </html> 

必定要设置layout:false(还有三个短横线),否则会被hexo解析。

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

更多用hexo写文章的内容能够看官方文档:Create a New Post

本身以前写了十几篇文章,只须要将开头部分稍做改动便可直接迁移到hexo中,文章数目比较少,因此就手动更改文章头了。

hexo中还提供了其余的命令,能够看Commands

六、佈署:官方文档

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") }})

image

注意hexo使用ssh部署,因此首先要肯定已经安装和配置好ssh与git的连接,否则部署会出现受权问题,详细请参考【git配置ssh(github)

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

image

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

image

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

image

七、迁移Disqus评论

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

好在Disqus容许咱们迁移博客评论,具体方法能够看Help: Migration Tools。原理其实很简单,Disqus评论默认将文章url做为标识符,每一个url对应该文章的评论,迁移时咱们只须要创建起新旧文章地址的对应关系便可。

八、绑定域名

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

域名解析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:/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,正常:

 

二、文章摘要设置

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

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

三、图片路径问题

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

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

 

参考:

将博客从jekyll迁移到了hexo

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

hexo你的博客
Tips for configuring an A record with your DNS provider
HEXO 指定404页面

相关文章
相关标签/搜索