成功叛逃到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的预览里面的链接点开了不会打开新标签页,而是直接在当前页面跳转。
相关文章推荐
- SiteMesh基本用法及示例
- VS2013MFC单文档工程学习笔记六 - 窗口的常用消息事件
- 测试发布Python随笔
- Struts2
- Completely change MACE timestamps?
- DB2数据库性能监控和调优实践
- iOS开发学习第十五课——继承、初始化方法、便利构造器
- Java -数组-String字符串
- 认识自己——我的不足
- iOS 动画总结(一)
- ubutu ssh openWRT
- Hadoop DistributedCache使用案例
- AFNetworking 2.5.x 网络请求的封装
- Hibernate 学习笔记:Hibernate 项目开发中,NoSuchMethodError解决方法
- iPad app 开发概述 - iPad开发系列文章之二
- 类集概念总结
- acm-hdu5264解题报告
- 2015061102 - 在js中使用freemarker数据
- p124.45
- 随笔-2015-06-09