初衷
作为一名程序员,一直都有搭建自己博客的想法,一方面作为自己学习的积累,将所看所学用博客的方式记录下来,便于自己以后回顾,另一方面可以作为自己学习的一个动力。这几年思想上一直在CSDN、博客园和自己搭建之间徘徊犹豫,行动上一直用着印象笔记、OneNote、有道将就,直到有天查资料时误入某人的github.io博客,确认眼神的那一刻,我知道这就是我想要的。而作为github出品,其品质绝对是有保证的,最重要的一点是基于github的repo管理,这意味着咱们对其是有绝对的控制,和放在第三方的平台比,可控性要好太多。
关于搭建github.io博客,网上的教程很多,下面总结下我的Github.io的搭建过程。
搭建Github.io博客主要分为三步:
- 开通自己的github.io repo
- 选择一款合适的主题
- 编写发布博客
开通自己的github.io repo
1、 创建一个项目
2、 按格式输入项目名称
以上,就创建了属于自己的github.io,可以直接访问https://leitty.github.io/看看效果,只有readme.md的文件内容
可以在setting中选择一个jekyll的主题
选择一款合适的主题
当前流行的,适合github.io的博客框架有很多Jekyll、Hexo、Octopress等等。
短暂的折腾了下Jekyll和Hexo后,本人果断放弃了Jekyll,投向了Hexo的怀抱。Jekyll基于ruby,python,需要下载安装ruby,python,使用gem启动,官方文档有很详细的使用文档,但是做出来的页面不太符合个人的需求,选择了几个theme实验后,对页面仍不太满意,想折腾又没时间,于是转向了Hexo。Hexo基于nodejs,官方网站,有nodejs和git就能下载安装,而且nodejs和git更符合本人的知识储备。
按照Hexo的官方文档进行操作:
1、 安装Hexo脚手架1
npm install -g hexo-cli
2、 创建网站1
2
3$ hexo init <folder>
$ cd <folder>
$ npm install
其中folder是本地创建的文件夹名
新建完成后,指定文件夹的目录如下:1
2
3
4
5
6
7
8.
├── _config.yml
├── package.json
├── scaffolds
├── source
| ├── _drafts
| └── _posts
└── themes
package.json中
应用程序的信息。EJS, Stylus 和 Markdown renderer 已默认安装,您可以自由移除。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20{
"name": "hexo-site",
"version": "0.0.0",
"private": true,
"hexo": {
"version": "3.7.1"
},
"dependencies": {
"hexo": "^3.2.0",
"hexo-generator-archive": "^0.1.4",
"hexo-generator-category": "^0.1.3",
"hexo-generator-index": "^0.2.0",
"hexo-generator-tag": "^0.2.0",
"hexo-migrator-rss": "^0.1.4",
"hexo-renderer-ejs": "^0.3.0",
"hexo-renderer-marked": "^0.3.0",
"hexo-renderer-stylus": "^0.3.1",
"hexo-server": "^0.2.2"
}
}
各文件夹的作用和配置文件的作用,可以查看官方文档,我们需要知道的有两个
_config.yml
文件
网站的 配置 信息,您可以在此配置大部分的参数。
source
文件夹
资源文件夹是存放用户资源的地方,我们创建的内容md文件就在source/_post
文件夹下
针对有图片的文章,可以通过将config.yml
文件中的post_asset_folder
选项设为true
来打开,Hexo将会在你每一次通过hexo new [layout] <title>
命令创建新文章时自动创建一个文件夹,如图:
在文章中通过![](/example.jpg)
语法来进行引用。
3、 本地运行Hexo网站
安装hexo-server1
npm install hexo-server --save
运行1
hexo server
即可在http://localhost:4000/ 看到网站的效果
1 | hexo new [layout] <title> |
新建一篇文章。如果没有设置 layout 的话,默认使用 _config.yml 中的 default_layout 参数代替。如果标题包含空格的话,请使用引号括起来。
例如过hexo new first
即新建了一篇first.md的文章,同时在_post
文件夹下就出现一个first.md的文件
编写发布博客
1、 修改hexo站点的配置文件_config.yml
1
2
3
4deploy:
type: git
repo: https://github.com/Leitty/Leitty.github.io.git
branch: master
2、 进行部署1
2
3
4安装hexo-deployer-git
npm install hexo-deployer-git --save
进行部署
hexo d
3、再次访问你的网站
4、再次发布文章
根目录下输入 :1
hexo new "2018-07-09"
文章编辑完成后,终端在根目录文件夹下,执行如下命令来发布:
1 | hexo g //生成静态页面 |
注意hexo g
必须执行,将markdown文件转成public
文件夹下的html才能进行发布。
参考: