在超哥的安利下,开始使用hexo+githubpages搭建自己的博客。对于前端同学来说,基于Node.js的hexo可谓是非常友好的选择。
前两天超哥很开心的敲下hexo d
,过了两天整理文件时一不小心手贱删掉了项目,写了4年的博客全都没有啦,只能一个个copy出来,简直是喜闻乐见(超哥不要打我,逃~)
基本操作大家都可以在hexo详尽的文档中找到,但是一些文档之外的最佳实践,在此记录下。
基本搭建操作
以下是搭建hexo博客基本操作,只是mark一下
1 | # 安装hexo命令行工具 |
很容易就搭建好了自己的博客,下面是一些常见问题的解决。
FAQ
1.怎么能将github.io的域名改成自己申请的域名?
首先你需要在万网或其他平台上买个域名,一般50元/年。购买完成后需要在购买域名的管理后台进行CNAME解析,目的是将gitubpages的地址比如https://github.com/EvaLotus/EvaLotus.github.io
指向你购买的域名evacoder.com
。
然后直接在github的project settings里,设置custom domain,这样就会自动在你的项目中增加一个CNAME文件,里面会记录你自己的域名。
2.如何hexo d
自动更新部署博客
需要安装插件npm i hexo-deployer-git --save
,在_config.yml
中配置
1 | # Deployment |
配置完成之后,每次hexo d
都会自动将编译好的文件提交到master分支上,并部署完成。
还需要在配置_config.yml时一定要注意此类文件对缩进要求很严格,在sublime中编辑会有适当的颜色提醒你是否缩进正确。
3.每次hexo d
之后我的CNAME都没了怎么办?
小伙伴们应该都发现了,hexo d
之后并没有push source目录,只是push生成后的public中的文件,所以我们要注意,CNAME,README,Favicon.ico都应该放在source目录下,这样hexo d
之后会直接copy到public的根目录下
4.换电脑了或者像超哥那样误删了源文件怎么办?
很多小伙伴应该都有同时在公司和在家修改博客的需求,一换电脑就懵逼,github上新clone下来的只有编译后的文件。
或者很久不写博客,整理文件时一不小心把源文件删掉了。
其实我们可以使用分支来管理我们的博客,简言之,master上存放生成的静态文件,hexo存放源文件。
操作之前我们要分清职责,既然hexo上只存放源文件,那么我们要配置合理的.gitignore
1 | .DS_Store |
操作上并不需要切换分支,按下面的步骤配置之后,每次操作都在hexo分支上修改,不用再管master分支了。
1 | # 切出hexo分支 |
我的博客可能不是最好看的,但是一定是目录结构最清爽的!
5.怎么维护博客呢?
我之前都是在gitbook上做学习笔记,语言很随意,排版很混乱,这样并不利于知识的沉淀,不仅仅要自己理解,更要能陈述的让其他人一看就明白,像阮一峰老师那样,由浅入深,把复杂的只是说清楚。
现在把gitbook的笔记都整理成博客之后,也不敢把gitbook的笔记删掉,一旦遇到维护两份差不多的文档时,我们就要警惕,他们一定会差别越来越大,最后有一份会被放弃,要不然就是要花更多的时间来整理。
既然写blog可以让我们知识沉淀更深,那么就写在博客上吧。
但是直接在sublime中写markdown并不能所见即所得,我想到的办法是在gitbook中直接打开博客的source目录,这样既能所见即所得,又保持了唯一性,之后会把gitbook上零碎的知识整理成每个人都能看懂的文章。
6.分享愉快的写博客体验
在hexo s
状态下我们修改了markdown之后,只需要刷新页面就可以看到变化了。如何实现自动刷新可以使用webpack的loader,但是暂时不想实现本地的chrome+sublime插件livereload也可以实现这个功能。
hexo使用的是gulp,gulp也有gulp-livereload可以使用,感兴趣的小伙伴可以改下试试。
其他问题可以直接去看hexo的文档,已经灰常良心了!
搭建博客很简单,有很多漂亮的主题可供大家选择,但是博客的壳子并没有那么重要,最重要的是保持每天记录的习惯,分享高质量的内容。
如果遇到其他问题可以给我留言,一起来搭建自己的博客吧。