Hexo安装和配置

1. Git安装和设置

  • github
brew install git          #Mac电脑使用brew安装 
sudo apt-get install git  #Ubuntu系统使用这条命令安装 

然后设置好git账户
使用Github Page搭建博客, 需要在github建立仓库,仓库名为username.github.io

  • gitcafe
    因为github速度稍微慢一点,所以用作备份站,主站用国内的gitcafe。
  1. 先到https://gitcafe.com/projects/new页面注册一个新的项目,项目名需要与你的用户名相同,默认分支选择gitcafe-pages,项目主页也是相同的 http://username.gitcafe.com

  2. 采用和github同样的key文件,在 ~/.ssh/id_rsa.pub
    如果没有,单独生成一个ssh-key

ssh-keygen -t rsa -C "emailaddress" -f ~/.ssh/gitcafe

在SSH的文件夹下,可以看到gitcafe私钥和公钥文件:

gitcafe
gitcafe.pub

生成配置文件:

touch ~/.ssh/config

添加以下内容:

Host gitcafe.com www.gitcafe.com
IdentityFile ~/.ssh/gitcafe
  1. 登录网站,将SSH文件夹下的 GitCafe.pub 中的内容复制到公钥框中即可。

  2. 测试是否连上,共用的key,输入:

ssh -T git@gitcafe.com -i ~/.ssh/id_rsa

单独的key,输入:

ssh -T git@gitcafe.com -i ~/.ssh/gitcafe

2. Node.js安装

brew install node  #最新版的node.js的包中已经集成了npm包管理工具

使用以下命令验证是否安装成功

node -v
npm -v

如果运行hexo命令时,发现错误:

-bash: hexo: command not found

是没有指定nodejs所致。可以使用下面方法解决:

如果机器没有安装过node,那么首先brew install nvm安装nvm。

其次需要在shell的配置文件(~/.bashrc, ~/.profile, or ~/.zshrc)中添加如下内容:

export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh

然后设置别名

nvm ls
#v0.12.7

nvm use 0.12.7
#Now using node v0.12.7

nvm alias default 0.12.7
#default -> 0.12.7 (-> v0.12.7)

如果之前通过brew install node方式安装过node,那么需要先删除系统中存在的node:

brew remove --force node
sudo rm -r /usr/local/lib/node_modules

brew prune
sudo rm -r /usr/local/include/node

# 检查brew是否正常
brew doctor

3. Hexo安装与设置

Node, npm和Git都安装成功, 开始安装hexo

npm install hexo -g  #-g表示全局安装, npm默认为当前项目安装
hexo version

如果遇到报错

{ [Error: Cannot find module './build/Release/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' }
{ [Error: Cannot find module './build/default/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' }
{ [Error: Cannot find module './build/Debug/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' }

则用下列语句安装
npm install hexo --no-optional

Hexo使用命令:

cd ~/git
hexo init hexo  #执行init命令初始化到你指定的hexo目录
cd hexo
npm install    #install before start blogging
hexo generate       #自动根据当前目录下文件,生成静态网页
hexo server         #运行本地服务

浏览器输入http://localhost:4000就可以看到效果。

目录结构

.
├── .deploy       #需要部署的文件
├── node_modules  #Hexo插件
├── public        #生成的静态网页文件
├── scaffolds     #模板
├── source        #博客正文和其他源文件, 404 favicon CNAME 等都应该放在这里
|   ├── _drafts   #草稿
|   └── _posts    #文章
├── themes        #主题
├── _config.yml   #全局配置文件
└── package.json

4. 添加博文

hexo new "postName"  #新建博文,其中postName是博文题目

博文会自动生成在博客目录下source/_posts\postName.md

文件自动生成格式:

title: "It Starts with iGaze: Visual Attention Driven Networkingwith Smart Glasses"  #博文题目
date: 2014-11-21 11:25:38      #生成时间
tags:                    #标签, 多个标签也可以使用格式[tag1, tag2, tag3,...]
- tag1
- tag2
- tag3
categories: [cat1,cat2,cat3]
---
正文, 使用 Markdown 语法书写

如果不想博文在首页全部显示, 并能出现阅读全文按钮效果, 需要在你想在首页显示的部分下添加

<!--more-->

5. 主题更改

cd ~/git/hexo
git clone git@github.com:litten/hexo-theme-yilia.git themes/yilia

在./_config.yml,修改主题为yilia
theme: yilia

Hexo主题列表

另外推荐几个主题:
iissnan/hexo-theme-next
TryGhost/Casper
kywk/hexo-theme-casper #基于Casper
daleanthony/uno
A-limon/pacman
AlxMedia/hueman
ppoffice/hexo-theme-hueman #基于Hueman
xiangming/landscape-plus #基于官方
hexojs/hexo-theme-landscape

查看本地效果

hexo g
hexo s

6. 部署到Git

以上内容都是在本地进行查看, 现在将博客部署到github或gitcafe上

gitcafe

打开./_config.yml,修改如下信息:

type: git
repository: git@gitcafe.com:yourname/yourname.git
branch: gitcafe-pages

branch要提交到gitcafe-pages,然后才能在username.gitcafe.io中看到提交的页面。

Github

deploy:
  type: github
  repo: https://github.com/lmintlcx/lmintlcx.github.io.git
  branch: master

项目主页需要把 branch 设置为 gh-pages

注意事项

  • 所有键的冒号后面留一个空格,如language: zh-CN
  • url不能为空,否则报错
  • type: github报错hexo ERROR Deployer not found: github的解决方法:
    先运行 npm install hexo-deployer-git --save
    再改为 type: git

完整配置信息如下:

# Site #站点信息
title: blog Name #标题
subtitle: Subtitle #副标题
description: my blog desc #描述
author: me #作者
language: zh-CN #语言
timezone: Asia/Shanghai #时区
    
# URL
url: http://yoururl.com   #用于绑定域名, 其他的不需要配置
root: /
#permalink: :year/:month/:day/:title/
permalink: posts/title.html
permalink_defaults:
    
# Directory #目录
source_dir: source #源文件
public_dir: public #生成的网页文件
tag_dir: tags #标签
archive_dir: archives #归档
category_dir: categories #分类
code_dir: downloads/code
i18n_dir: :lang #国际化
skip_render:

# Writing #写作
new_post_name: :title.md #新文章标题
default_layout: post #默认模板(post page photo draft)
titlecase: false #标题转换成大写
external_link: true #新标签页里打开连接
filename_case: 0
render_drafts: false
post_asset_folder: false
relative_link: false
future: true
highlight: #语法高亮
  enable: true
  line_number: true #显示行号
  auto_detect: true
  tab_replace:

# Category & Tag #分类和标签
default_category: uncategorized #默认分类
category_map:
tag_map:

# Date / Time format #日期时间格式
## http://momentjs.com/docs/#/displaying/format/
date_format: YYYY-MM-DD
time_format: HH:mm:ss

# Pagination #分页
per_page: 10 #每页文章数, 设置成 0 禁用分页
pagination_dir: page

# Extensions #插件和主题
## 插件: http://hexo.io/plugins/
## 主题: http://hexo.io/themes/
theme: next

# Deployment #部署, 同时发布在 GitHub 和 GitCafe 上面
deploy:
- type: git
  repo: git@gitcafe.com:username/username.git,gitcafe-pages
- type: git
  repo: git@github.com:username/username.github.io.git,master

# Disqus #Disqus评论系统
disqus_shortname: 

plugins: #插件,例如生成 RSS 和站点地图的
- hexo-generator-feed
- hexo-generator-sitemap
    

保存之后,便可以使用hexo d上传到GitCafe。
部署成功,使用username.gitcafe.io进行访问, 或者设置个性域名,参考官方Wiki

7.域名

  • 绑定域名
    不绑定域名的话只能通过 your_user_name.github.io 访问
    申请域名推荐 GoDaddy, 域名解析推荐 DNSPod

  • 绑定顶级域名
    新建文件 CNAME, 无后缀, 纯文本文件, 内容为要绑定的域名 blogname.com
    如果要使用 www.blogname.com 的形式, 文件内容改为 www.blogname.com

DNS设置
主机记录@, 类型A, 记录值192.30.252.153
主机记录www, 类型A, 记录值192.30.252.153
参考 Tips for configuring an A record with your DNS provider

  • 绑定子域名

比如使用域名blogname.com的子域名blog.blogname.com
CNAME文件内容为blog.blogname.com

DNS设置
主机记录blog, 类型CNAME, 记录值blogname.github.io
参考 Tips for configuring a CNAME record with your DNS provider

  • Gitcafe 绑定域名

项目管理界面, 左侧的导航栏中有自定义域名设置

8.其他配置

站点建立时间
例如 © 2014 - 2015

站点配置文件新增字段 since
since: 2014

侧栏设置
post - 默认行为, 在文章页面(拥有目录列表)时显示
always - 在所有页面中都显示
hide - 在所有页面中都隐藏(可以手动展开)

sidebar: post

头像设置
编辑站点配置文件, 新增字段 avatar, 头像的链接地址可以是:

网络地址
https://avatars2.githubusercontent.com/u/4962914?v=3&s=460

站点内的地址
/images/avatar.jpg #头像图片放置在主题的 source/images/

avatar: /images/avatar.png

菜单设置
编辑主题配置文件的 menu
若站点运行在子目录中, 将链接前缀的 / 去掉

menu:
  home: /
  archives: /archives
  categories: /categories
  tags: /tags
  commonweal: /404.html
  about: /about

标签云页面
添加一个标签云页面, 并在菜单中显示页面链接

新建tags页面
hexo new page “tags”

将页面的类型设置为 tags

title: tags
date: 2015-09-19 22:37:08
type: "tags"
---

关闭评论

title: tags
date: 2015-09-19 22:37:08
type: "tags"
comments: false
---

在菜单中添加链接。 编辑主题配置文件, 添加 tags 到 menu 中

menu:
  tags: /tags

分类页面
添加一个分类页面, 并在菜单中显示页面链接

新建 categories 页面
hexo new page categories

将页面的类型设置为categories

title: categories
date: 2015-09-19 22:38:00
type: "categories"
---

关闭评论

title: categories
date: 2015-09-19 22:38:00
type: "categories"
comments: false
---

在菜单中添加链接. 编辑主题配置文件, 添加 categories 到 menu 中

menu:
  categories: /categories

RSS 链接
编辑主题配置文件 rss 字段

rss: false
禁用Feed链接

rss:
默认使用站点的 Feed 链接, 需要安装 hexo-generator-feed 插件
浏览http://localhost:4000/atom.xml查看是否生效

rss: http://your-feed-url
指定特定的链接地址, 适用于已经烧制过 Feed 的情形

自定义页面
以关于页面为例
新建一个 about 页面
hexo new page "about"

编辑 source/about/index.md:

title: About
date: 2014-11-1 11:11:11
---
About Me

菜单显示 about 链接, 主题配置文件中将 menu 中 about 前面的注释去掉

menu:
  about: /about

9.网站代码上传

设置完毕,为避免本地代码丢失,可以将hexo下的所有文件提交一份到服务器。

#create project on gitcafe.com
mkdir hexo-source
cd hexo-source
git init
# copy all files in 'hexo' folder here
git add ..
git commit -m 'first commit'
git remote add origin 'git@gitcafe.com:username/hexo-source.git'
git push -u origin master

参考文章

使用Hexo搭建博客
通过Hexo在Github上搭建博客教程
有那些好看的hexo主题?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容

  • 摘要:这是一篇很详尽的独立博客搭建教程,里面介绍了域名注册、DNS设置、github和Hexo设置等过程,这是我写...
    lishan3333阅读 8,377评论 20 94
  • 前言 建博客的想法缘来已久,绝非一天两天了。名博阮一峰曾经说过: 喜欢写Blog的人,会经历三个阶段。 第一阶段,...
    Raspberry阅读 13,808评论 2 15
  • 第一章 安装Git工具 下载GitHub for Windows,直接点击安装,安装完成后,可以看到“Git Sh...
    不圆的石头阅读 11,839评论 5 63
  • 刚下飞机的那一刻,一股湿热的气流扑面而来,没有想象中的激动,而是隐隐的不安,我能坚持四十多天吗,在这个语言不通的国...
    a75a351bb9bb阅读 266评论 0 0
  • 今天是愚人节,可能很多善男信女都忙着表白,因为就算被拒绝也可以当做开玩笑,继续偷偷爱着对方。 我坐着凌晨四点的火车...
    宥思阅读 401评论 1 3