您的位置:首页 > 其它

成功叛逃到hexo

2015-06-11 22:43 183 查看

前天又把博客的主题给换掉了。

没办法啊,yilia实在太符合我的要求了。因此我成功的从jekyll叛逃到了hexo。

下面说说我的叛逃的过程吧。

!!以下过程默认windows系统,并且git已经安装并配置好,github账号配置好和pages都会使用。

安装node.js

node.js官网下载最新版本的安装好,安装直接一路点下去就可以了。

安装hexo

打开Git Bash,使用命令
npm -v
看看node.js是否安装好,如果输出对应的版本信息,说明已经安装好了。如果出现npm既不是可以执行程序等balabala什么的,再去检查一下环境变量path是否添加,如果懒得检查了,那就再打开安装包安装一遍就可以了

好,既然npm可以用,那就安装hexo

npm intall -g hexo


使用hexo

初始化博客

切换到你要搭建博客的文件夹。

输入下面一系列命令。

hexo init
npm install


预览博客

hexo s -i localhost


然后命令行会提示

INFO  Hexo is running at http://localhost:4000/. Press Ctrl+C to stop.


这时候,打开你的浏览器,输入
127.0.0.1:4000
就可以在本地预览你的博客了。当然这时候你的博客还只是一个hexo自动生成的什么也没有的demo。

生成静态的网页

hexo g


这个命令会生成一个文件夹public,所有的网页都会生成在里面。

!!注意:

不知道为什么,在本地预览的时候并不需要先生成,但是部署到服务器上之前总需要生成一次。

接下来,你只需要修改你的博客,并且添加文章。

修改主题

到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


预览效果。

将博客部署到github上

修改博客根目录下的_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服务器上。

给自己的博客添加rss

安装烧制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的预览里面的链接点开了不会打开新标签页,而是直接在当前页面跳转。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: