转载:http://ijiaober.github.io/categories/hexo/
(一)Hexo简介
你可能需要一个方便的工具来记录思想、整理笔记、表述观点,并且传播给更多的人。Hexo就是一个不错的工具。
Hexo,是一个基于Node.js的静态博客程序,可以方便的生成静态网页托管在github和Heroku上。
引用官方的话,hexo:1
2快速、简单且功能强大的 Node.js 博客框架。
A fast, simple & powerful blog framework, powered by Node.js.
我们可以用hexo创建自己的博客,托管到github或Heroku上,绑定自己的域名,用markdown写文章。本博客即使用hexo创建并托管在github上。
为什么要用Hexo
不可思议的快速 ─ 只要一眨眼静态文件即生成完成
支持 Markdown
仅需一道指令即可部署到 GitHub Pages 和 Heroku
已移植 Octopress 插件
高扩展性、自订性
兼容于 Windows, Mac & Linux
谁能使用Hexo
这是一个免费开源的博客程序,任何人都可以使用和修改。但是不同于wordpress,hexo由于需要使用Github,Git,Markdown,Node.js这样的工具,好多插件、widget都需要自己安装、设置。所以适合那些有一定计算机基础,喜欢折腾的人。但是,不要担心,只要跟着本教程走,就能很方便地让你熟练的使用起来。
Hexo
(二)Hexo安装和部署
(三)Hexo的配置和使用
基本配置
在Hexo中,有两个配置文件,一个是用来配置整站信息的,位于项目更目录下的_config.yml文件。另外一个是对主题的配置,位于themes目录下你所采用的主题目录里,文件名同样是_config.yml。
首先,我们来看第一个配置文件,整站信息配置:
1 | # Hexo Configuration |
当你根据自己的需要修改了配置以后,就可以依次使用hexo g和hexo s命令,然后通过localhost:4000来查看效果了。
我们再来看看主题下的配置文件:
1 | menu: #右上角导航菜单,冒号前面是菜单名,后面是访问路径。 |
使用
(四)Hexo的分类和标签设置
到这里,我们已经了解了如何配置一个Hexo博客,并且通过1
2
3
4 hexo n ‘name’
hexo g
hexo s
hexo d
几个常见命令来新建、更新、预览、同步你的博客。
这一节,我们来分享一下Hexo里关于分类和标签的设置技巧。
新建一个页面
首先,我们通过hexo n “name”命令来新建一个页面,在source/_posts目录下找到刚才新建的name.md文件,用记事本或者sublime text打开。
我们看到默认的页面是这样的:1
2
3
4title: name
date: 2014-08-05 11:15:00
tags:
可以编辑标题、日期、标签和内容,但是没有分类的选项。我们可以手动加入categories:项,或者打开scaffolds/post.md文件,在tages:上面加入categories:,保存后,重新执行hexo n ‘name’命令,会发现新建的页面里有categories:项了。
scaffolds目录下,是新建页面的模板,执行新建命令时,是根据这里的模板页来完成的,所以可以在这里根据你自己的需求添加一些默认值。
设置分类列表
在我们编辑文章的时候,直接在categories:项填写属于哪个分类,但如果分类是中文的时候,路径也会包含中文。
比如分类我们设置的是:
categories: 编程
那在生成页面后,分类列表就会出现编程这个选项,他的访问路径是:
*/categories/编程
如果我们想要把路径名和分类名分别设置,需要怎么办呢?
打开根目录下的配置文件_config.yml,找到如下位置做更改:1
2
3
4
5
6
7
default_category: uncategorized
category_map:
编程: programming
生活: life
其他: other
tag_map:
在这里category_map:是设置分类的地方,每行一个分类,冒号前面是分类名称,后面是访问路径。
可以提前在这里设置好一些分类,当编辑的文章填写了对应的分类名时,就会自动的按照对应的路径来访问。
设置标签
在编辑文章的时候,tags:后面是设置标签的地方,如果有多个标签的话,可以用下面两种办法来设置:1
2
3
4
5
6
7tages: [标签1,标签2,...标签n]
or
tages:
- 标签1
- 标签2
...
- 标签n
(五)Hexo导航菜单设置
在Hexo里,默认的导航菜单只有Home和Archives两项,那么我们怎么来增加其他的导航菜单进去呢?
首先打开主题的配置文件_config.yml:1
2
3
4menu:
Home: /
Archives: /archives
About: /about
我们看到的menu:部分是设置菜单的,我们在下面加了一项设置About: /about
象上一节设置分类一样,前面部分是名称,后面部分是访问路径,当然名称神马的你可以用中文,访问路径你也可以直接设置到其他站点的任何页面。
我们这个示例里,设置About的访问路径为:/about。
下面我们来建立这个about,运行命令:
hexo n page ‘about’
会在source目录里生成一个对应的_posts目录,该目录下的about.md,就是你访问About时的页面。
(六)Hexo主题安装
嘿,我们搭建好了Hexo,设置好了导航菜单和分类,写了一些文章并且同步到GitHub上了,可我们不满足,我们想要页面看起来更好看一些。
我们可以通过安装主题的方式来快速选择喜欢的样式!
打开Hexo的Themes;
找到你心仪的主题并且点击主题名称进入详细页面;
找到install这一项,复制下面的内容,比如Light主题的安装内容为:1
git clone https://github.com/hexojs/hexo-theme-light.git themes/light
在Hexo目录下运行上面复制的内容,就会自动下载该主题到你的Themes目录。
下载完毕后,在站点配置文件_config.yml里设置对应的主题名称:1
theme: light
根据自己的需要,配置主题的配置文件_config.yml;
OK,我们成功的安装了一个主题
(七)设置Hexo里的评论和分享
现在我们的Hexo安装了漂亮的主题,并且设置了导航菜单,也发布了几篇文章,是不是急不可耐的想和大家一起分享你的内容了?
在和朋友们分享文章的时候,有两个必不可少的功能,评论 和 分享,这一节我们就来了解一下这两个设置。
评论设置
在Hexo中,默认使用的评论是国外的Disqus,不过因为国内的”网络环境”问题,我们改为国内的“多说”评论系统。
注册多说账户
访问多说网站,点击登录,根据自己的习惯选择一个登录方式。
登录后根据提示填写一些基本信息,下一步就跳转到 工具 —- 获取代码 这页了。复制这里的通用代码备用。
修改comment文件
打开themes/主题名/layout/_partial/comment.ejs这个文件 ,在下面位置粘贴刚才复制的代码:
1 | <% if ( page.comments){ %> |
记得粘贴完后,替换代码里的标题、网址、ID三项信息。
标题可以用<%= item.title %>来替换,
网址可以用<%- config.url %><%- config.root%><%- item.path %>来替换,
ID可以用<%- item.path %>来替换。
分享设置
访问百度分享,复制代码备用。
找到themes/light/layout/_partial/post/share.ejs页面,用刚才复制的代码替换里面的内容,搞定。
如果想要调换分享图标可参考百度分享的说明来修改。
1 | 我使用了disqus |
(八)为Hexo添加RSS和Sitemap
添加RSS
用npm安装插件:
npm install hexo-generator-feed
在配置文件里引用插件。在hexo/_config.yml添加代码:1
2plugins:
- hexo-generator-feed
在导航上添加RSS链接。打开themes/light/_config.yml文件,rss:部分修改为rss: /atom.xml,然后在menu部分添加Rss: /atom.xml。完成后代码类似下面的效果:1
2
3
4menu:
Home: /
Archives: /archives
Rss: /atom.xml
### 添加Sitemap
和RSS一样,需要下载个插件。
安装插件:
npm install hexo-generator-sitemap
引用插件,同样在hexo/_config.yml中添加代码:1
2
3plugins:
- hexo-generator-feed
- hexo-generator-sitemap
访问/sitemap.xml就能看到站点地图了。