没办法啊,yilia实在太符合个人要求了。所以我成功的从jekyll叛逃到了hexo。node
下面说说个人叛逃的过程吧。git
!!如下过程默认windows系统,而且git已经安装并配置好,github帐号配置好和pages都会使用。github
到node.js官网下载最新版本的安装好,安装直接一路点下去就能够了。npm
打开Git Bash,使用命令npm -v
看看node.js是否安装好,若是输出对应的版本信息,说明已经安装好了。若是出现npm既不是能够执行程序等balabala什么的,再去检查一下环境变量path是否添加,若是懒得检查了,那就再打开安装包安装一遍就能够了windows
好,既然npm能够用,那就安装hexo浏览器
npm intall -g hexo
切换到你要搭建博客的文件夹。
输入下面一系列命令。服务器
hexo init npm install
hexo s -i localhost
而后命令行会提示hexo
INFO Hexo is running at http://localhost:4000/. Press Ctrl+C to stop.
这时候,打开你的浏览器,输入127.0.0.1:4000
就能够在本地预览你的博客了。固然这时候你的博客还只是一个hexo自动生成的什么也没有的demo。ssh
hexo g
这个命令会生成一个文件夹public,全部的网页都会生成在里面。post
!!注意:
不知道为何,在本地预览的时候并不须要先生成,可是部署到服务器上以前总须要生成一次。
接下来,你只须要修改你的博客,而且添加文章。
到github去搜索"hexo-theme"关键字,搜出一堆主题,找一个喜欢的clone下来。
下面以yilia主题为例
#在博客的个目录下 git clone https://github.com/litten/hexo-theme-yilia.git /themes/yilia
而后修改博客根目录下的_config.yml文件,找到themes:的配置,将默认的landscape改为yilia。
而后再用
hexo s -i localhost
预览你的博客。
最后再根据yilia的说明 配置你的博客便可。
hexo new [layout] title # layout是可选参数, 默认为post # 下面是一个实例 hexo new post hello-hexo # 固然, 由于post是默认的,因此 hexo new hello-hexo # 其实也是同样的效果, # 若是你须要生成别的类型的文章 # 能够用别的参数,例如: hexo new photo pictures
而后hexo会自动的在./source/_posts/下面生成一个md文件,编辑它,写入你的文章内容,而后再用
hexo s -i localhost
预览效果。
修改博客根目录下的_config.yml 里面的 deploy:后面的配置为
deploy: type: git repo: git@github.com:username/username.github.io.git branch: master
而后安装hexo-deployer-git
插件
npm install hexo-deployer-git --save
确保你当前使用的ssh-key的公玥已经被添加到了你的github设置里面。
而后只须要在博客根目录下hexo deploy
便可。
!!注意:
每次deploy前都须要用
hexo g
命令生成一次博客。
由于deploy提取的pbulic文件夹下面的内容push到git服务器上。
安装烧制feed的插件。要在博客的根目录下。
npm install hexo-generator-feed --save
而后在博客的根目录下的_config.yml_文件最后添加上
plugins: - hexo-generator-feed
这样你的hexo在generate你的博客时候会自动的给你生成atom.xml文件。
而后在你的博客里面添加rss订阅图标。
修改./themes/yilia/目录下面的_config.yml文件,把 subnav: 下面的#rss: "#"的注释去掉,并把引号里面的url改为"/atom.xml"就能够了。
点击全部文章,你会发现,若是你的文章数量超过10篇,那么全部文章里面只会显示前10篇,不会把所有列出来。那怎么要把全部文章都列出来呢?
把根目录下的_config.yml里面的per_page:10改为per_page:0,也就是说把分页功能给关掉。
可是这样有个很差的地方,整个博客的分页功能都被关掉了,也就是说,主页也没有分页了。。
在\node_modules\hexo-generator-archive\下面找到node.js。修改之。一样的把per_page改为0!
'use strict'; var assign = require('object-assign'); hexo.config.archive_generator = assign({ per_page: 0, yearly: true, monthly: true }, hexo.config.archive_generator); hexo.extend.generator.register('archive', require('./lib/generator'));
至于sitemap我尚未折腾过。
据说yilia主题能够配置google analysis。可是我并不知道怎么搞。但愿之后能搞定这个问题。
Update: 到yilia的主题配置文件里面找到google_analytics: ''
, 在单引号里面填上tracking id就能够了。
主题没有 table of contents。
主题的psots 没法显示加粗效果。
因为我没学过node.js,而且hexo的封装性彷佛比jekyll好得多,因此我想手动的修改yilia主题都没办法修改,郁闷之。
又发现一个问题,主页上的post的预览里面的连接点开了不会打开新标签页,而是直接在当前页面跳转。