静态博客搭建
- 主要针对新版hexo(>=3.0),之前的也就是同时发布的修改方法不同
根据我这两天搭建的经历,写下详细的帮助教程,总结自己的经验,也是为了避免后来者犯错。
注意:现在hexo都是3.0以上版本,使用方法与之前的2.0版本有所不同,这也是我被坑的地方,需要用新的方法.
1.安装Hexo等工具
1 | 前提工具:git nodejs npm ssh服务 |
我安装在免费的云中,这样换个地方,换台电脑也能有环境编辑上传文件,安装在本地需要额外的步骤。
国内免费的有代码市场,反正也就一个编辑上传的地方。当然也可以直接使用
云的服务建立博客,这种最简单。
2.建立本地镜像
1 | mkdir <your project> //博客项目文件夹 |
此时就可以新建博客了
3.创建博客
1 | hexo new page '<blog title>' //会在/source/_posts/生成相应的文件文件夹 |
或者直接发布到_post:1
hexo new <blog name>
4.发布方法
1.发布在云上
1 | hexo g && hexo s //生成博客,并开始启动服务 |
此时访问云分配给你的http://域名:4000/即可看到你的博客
2.发布在Github
- 在自己的github上建立一个与用户名相同的repo
- 在repo
Settings
中选择开启Github Pages
由于之前安装了hexo-deploy-git,因此只要配置git config即可
1
2git config --global user.name "your github name"
git config --global user.email "you github email"修改本地站点下的/_config.xml,找到deploy:
1
2
3
4
5deploy:
type: git
message: "update blog."
repo:
github: git@github.com:your-name/youn-name.github.io.git
注意:这里不是网上所说的那种配置方式:1
2
3
4deploy:
type: github
repo: git@github.com:luoyibu/luoyibu.github.io.git
branch: master
当然,这种方式也可以,不过一次发布到2个及以上的托管服务会有问题,所以还是
使用新方法吧!
- 发布博客
1
2
3
4
5发布之前,最好清理本地环境:
hexo clean
生成并发布:
hexo d -g //与 hexo g -d 相同
3.发布在Gitcafe
由于github在国外,国内访问不稳定,可以使用国内服务gitcafe,操作步骤也差不多。
这里提一下提前准备的东西。
- 最好使用和github同名的账户,我就是这么干的,这样全局
git config
就是一样的,省去
一些麻烦。然后新建一个同用户名的repo 在~/.ssh下生成ssh密钥:
1
ssh-keygen -t rsa -C "邮箱地址"
copy id_rsa.pub中内容到github和gitcafe
SSH
公钥管理中- 修改本地站点下的/_config.xml,找到deploy:
1
2
3
4
5deploy:
type: git
message: "update blog."
repo:
gitcafe: git@gitcafe.com:your-name/your-name.git
这里和网上教程介绍的也不一样,不需要brach: gitcafe-pages也能成功。
之后发布操作和github发布相同,就不再赘述。
Github和Gitcafe同时发布
github访问不稳定,gitcafe又快,为了国际化,能不能两个都发布呢?相信很多人和我
的想法一样,我找了很多资料,就连写makefile的都有,现在新版,同时发布已经很方便了。
网上大部分的是:1
2
3
4
5
6
7
8修改本地站点下的*/_config.xml*,修改*deploy*:
deploy:
type: git
message: [message]
repo:
github: <repository url>,master
gitcafe: <repository url>,gitcafe-pages
这种在新版中经过我测试是不行的,github 的master分支一直出错,只有gitcage能成功。
新版方法1
2
3
4
5
6deploy:
type: git
message: "update blog."
repo:
github: git@github.com:your-name/your-name.github.io.git
gitcafe: git@gitcafe.com:your-name/your-name.git
不需要设置brach,两个发布都会成功。
5.其他有用的操作
改变博客的主题颜色
- 由于使用的主题惨白的,对我来说是比较难看清内容的,所以我开始折腾
怎么换主题,去看原作者,发现他语焉不详,只提了一下solarized dark和highlightjs
高亮。然后昨晚对比css忙活到大半夜也没有成功。 - 今天仔细搜了下发现hexo3以上版本用的就是highlightjs,并且node_modules里已经有
stylus插件了,所以尝试了在theme中的config定义theme_color为常用sublime配色,果然成功了!
现在记录下来以帮助那些还在惨白主题中苦苦挣扎的程序员吧!
- 可以去highlightjs官网的demo选择自己喜欢的主题
- 在
/_config.yml 添加:1
2theme_color:
theme: "Monokai Sublime" //你的主题名字
重新部署博客就可以看到新主题生效了,再也不用盯着惨白色看博客。
博客删除
1 | 删除仓库里面 source/_posts/我的文章.md |
添加分类/tags
新建分类:
1 | hexo new page "<category name>" |
在生成的相应md中修改如下:1
2
3title: <文章标题>
date: 2016-01-09 10:56:27
type: "<category name>"
修改本地layour下的/themes/1
2
3
4menu:
main: /
archives: /archives
category: /<category name>
新建tags
直接在新建的md文件中添加1
tags: <your tag name>
修改本地layour下的/themes/1
tags: /<your tag name>
改变新建博客的模板
修改1
2post.md ==> 对应hexo new 生成的md模板
page.md ==> 对应hexo new page生成的categories模板
可以在其中加上categories:
模板,这样就不用每次手动添加了。
例如:1
2
3
4title: {{ title }}
author: {{ your-name }} //添加的模板
date: {{ date }}
tags:
最后
今天通过这种方法,我在github和gitcafe上的博客
都正常运行了,也是经经历一番排错和查找问题的经历。
其实有些东西自己摸索出来还是很有成就感的,印象也更深,即使是别人早已知道的。
希望给想建立自己博客的人一点帮助。后续遇到的一些问题都会在博客上更新,
欢迎关注我!