之前的博客是使用Jekyll托管在github上,后来用着愈来愈不方便,好比没有自动生成post,不能一键部署,文件结构和配置也是比较繁琐,更重要的是有时候用markdown写一篇文章,生成的静态文件很乱,应该是有些字符解析的问题。如今下决心换成了hexohtml
由于hexo是基于nodejs的应用,因此要先安装nodejs才能够。我这里以ubuntu为例,由于我本身一直在使用ubuntu。使用以下命令便可:node
sudo apt-get install nodejs sudo apt-get install npmHexo 是一个功能强大的静态网站生成系统,快速、简洁、高效。Hexo 支持 GitHub Flavored Markdown 的全部功能,甚至能够整合 Octopress 的大多数插件。能够一键部署到github,还有丰富的插件和主题,还支持热部署哦。执行以下命令进行安装。
sudo npm install hexo-cli -g
安装Hexo安成后,使用以下命令快速新建一个博客系统,而后运行它git
如今咱们来看看Hexo 生成博客的目录结构若是npm安装失败,请使用sudo安装。运行成功后,访问http://0.0.0.0:4000/就能够看到博客的样子的,对就是我如今的博客这个样子,o(∩∩)o...哈哈。 github
. ├── _config.yml ├── db.json ├── node_modules ├── package.json ├── public ├── scaffolds ├── source └── themes
其中_config.yml是配置站点的文件,public是hexo生成的静态站点文件夹,scaffolds是模板文件夹,source是存在用户资源的文件夹,themes是主题文件夹。shell
找到title,subtitle,author参数配置,分别配置站点的标题、副标题和做者,好比我这里是:npm
title: 飞雪无情的博客 subtitle: 专一于Android、Java、移动互联网、项目管理、软件架构 description:author: 飞雪无情 language: zh-CN
而后配置站点的url和permalink,这两个分别是你的站点的url host地址以及文章的永久链接,我这里是:json
url: root: / permalink: :year/:month/:day/:title.html permalink_defaults:
permalink 我配置的是年月日以及title,后缀是html,便于搜索收录。permalink详情参见: http://hexo.io/zh-cn/docs/permalinks.html ubuntu
使用以下命令便可新增一篇md格式的文章markdown
hexo new 'github-page-with-hexo'
Front-matter 是文件最上方以 —- 分隔的区域,用于指定个别文件的变量,举例来讲:而后就会在sources/_posts生成一篇文件名为github-page-with-hexo.md的markdown文件。编辑该文件就能够写博客了。这里有一些Front-matter须要介绍,能够配置文章使用的模板、所属的分类和tag等。
架构
title: "使用Hexo在Github上搭建本身的博客" date: 2015-03-10 22:30:04 tags: - Hexo - Github categories: - Hexo ---
请注意,目前的categories只能有一个一级分类,若是填写多个,第二个会被解析为二级分类,以及类推。tags能够容许有多个。更多关于Front-matter请参考 http://hexo.io/zh-cn/docs/front-matter.html
首先你已经建立好了你的github page对应的git库,没有建立的能够google相关博客。而后新建一个hexo分支,存放你如今hexo的全部文件。而后执行以下命令清理并生成发布的静态站点文件。
hexo clean hexo generate
最后而后把生成的public目录下的文件放到你的master分支下便可。git commit后把这两个分支推送到你的github上。git库结构能够参见个人github page库 https://github.com/rujews/rujews.github.io
而后等个几分钟,访问你的域名就能够看到你的网站了。如http://www.flysnow.org/ 。关于更多的Hexo请参考官方文档,之后有时间也会介绍 http://hexo.io/zh-cn/docs/
转载:http://www.flysnow.org/2015/03/10/github-page-with-hexo.html