作者:​​T9的第三个三角​​


作为一名合(zhuang)格(bi)的程序猿,经常写点东西,肯定少不了各种网站、博客,通俗的CSDN,文艺的简书,强大的GitHub,以及微信、掘金、知乎等等风格迥异的平台。不过,再多的地方,也容不下一颗想捯饬的心,不管什么网站,都有自己固定的模板,统一的风格,这怎么能满足程序猿的一颗躁动的心?

例如我的个人博客​​T9’s Developer​​,欢迎大家访问

如何从零开始搭建自己的博客_github

那就自己动手,利用各种开源工具,自己搭建一个属于自己的个人博客吧。

下面记录的是自己搭建博客的每个步骤,尽量将所有细节记录下来,为有同样好奇心的小伙伴给个参考

准备

搭建博客,前期需要四个工具

  • Hexo:Hexo快速、简洁且高效的博客框架
  • Node.js:建立在Chrome上的JavaScript运行引擎
  • Git:一款免费、开源的分布式版本控制系统
  • GitHub:国内一款面向开发者的云端开发平台,提供代码托管,运行空间,质量控制,项目管理等功能

1. 安装

安装必要的配置环境,如果已经安装过,可以跳过

  • 1.1 安装Git
    ​Git官网​
  • 如何从零开始搭建自己的博客_github_02

  • 找到Download,安装自己对应的系统版本,系统会自动判定你当前版本,推荐下载,如果没有推荐,那就自己选择吧。
    下载成功安装的步骤我就不贴了,
  • 1.2 安装Node.js
    ​Node.js 下载地址​

同理系统依然会判定你的系统并给出稳定推荐的版本和尝鲜版,两种,供君选择。下载安装步骤同样省略

  • 1.3 GitHub账号注册
    GitHub账号注册过程很简单,注册流程就省略,完成之后,就开始创建博客了

2.创建个人博客

注册完成之后,点击头像左侧的​​+​​​号, —>​​New repository​​,创建新仓库

如何从零开始搭建自己的博客_git_03


因为我们创建的是个人网站,所以仓库的名称需要安装GitHub个人网站项目的规定来写。

规则就是:

​userName.github.io​

比如我的GitHub用户名是dazhaoDai,那我就要填写 ​​dazhaoDai.github.io​​​。然后选择​​Public​​模式,接着点击创建仓库按钮。

如何从零开始搭建自己的博客_github_04

创建成功后,进入新仓库,点击Settings,往下找到

如何从零开始搭建自己的博客_github_05


选择一个主题,之后一个托管在GitHub上的博客就就搞定了,大概半个小时后,例如我的个人博客:​​https://dazhaoDai.github.io/​​就可以访问了,注意:将其中的用户名换成你创建的仓库名

这时候,你的确可以访问自己博客了,但是我们的博客访问地址是:​​userName.github.io​​,是不是一点都不满足?想用自己个性化的域名作为自己的博客地址?

接下来,就需要我们去购买域名,配置成自己个性化的域名地址

域名

购买域名有很多途径,例如​​阿里云​​​、​​腾讯云​​等,这里以阿里云为例。

域名的价格差别比较大,我们是做个个人博客,所以买个便宜的后缀域名,如图所示,价格差别较大

如何从零开始搭建自己的博客_个人博客_06


购买域名很简单,但是一定要注意的是,选择的域名后缀一定是可以备案的,不然只能是注册保护,无法使用,在购买时,阿里云会有提示信息:

如何从零开始搭建自己的博客_github_07

例如我注册的是 outofmemory.top,具体购买流程就不写了。

解析

购买完成后,选择管​​理控制台--域名--域名服务--域名列表​​​,看到你购买的域名,选择​​解析​

如何从零开始搭建自己的博客_github_08


参考下图,修改下面信息

分别添加两个​​A​​记录类型,

一个主机记录为​​www​​​,代表可以解析 ​​www.outofmemory.top​​​的域名
另一个为 ​​​@​​​, 代表 ​​outofmemory.top​​​ 记录值就是我们的GitHub仓库地址:​​userName.github.io​​,当然我们也可以填写IP地址,使用终端,ping一下:

如何从零开始搭建自己的博客_个人博客_09


红框内就是我们仓库的具体IP地址,所以根据自己选择,可以填写​​userName.github.io​​,也可以填写IP地址

如何从零开始搭建自己的博客_git_10

这里,我们已经完成了域名解析工作,回到GitHub,完成域名和GitHub Pages 的绑定

绑定

回到Github, 选择我们创建的个人域名仓库,选择​​Settings​​,找到GitHub pages,将我们购买的域名地址填入下方 Custom domain, 然后保存,这时候我们的GitHub pages 和 域名就绑定到一起。

如何从零开始搭建自己的博客_github_11

到了这一步,我们已经完成了个人博客的创建,不过你肯定有疑问了,为什么你的博客主题那么个性?别急,下面就来试试

Hexo

​Hexo官方文档​​ 前面我们已经安装了Git、Node.js,然后使用npm,安装hexo:

$ npm install -g hexo-cli

安装完毕,我们就需要对自己的仓库进行配置,首先使用Git,将自己的仓库克隆到本地

  • 克隆仓库
    复制仓库地址,在本地创建一个个人博客的文件夹,例如GitHub_Blog,进入文件夹,使用git命令:
git clone ​​git@github.com​​:dazhaoDai/dazhaoDai.github.io.git
  • 配置Hexo
    使用命令行
$ hexo init <替换为当前博客文件夹,例如我的是/Users/dai/Documents/android_dai>
$ cd /Users/dai/Documents/android_dai
$ npm install

新建完成后,指定文件夹的目录如下:

.

├── _config.yml #配置信息
├── package.json
├── scaffolds
├── source
| ├── _drafts
| └── _posts #博客内容
└── themes #主题

我们大部分操作都在 _config.yml中,打开 _config.yml,查看信息:

1. ​​# Hexo Configuration​​
2. ​​## Docs: https://hexo.io/docs/configuration.html​​
3. ​​## Source: https://github.com/hexojs/hexo/​​
4.
5. ​​# Site​​
6. ​​title: T9'S Develop Blog #你博客的标题​​
7. ​​subtitle: 不仅有工作,更有生活 #显示在浏览器上搜索的时候显示的标题​​
8. ​​description: 喜欢探索未知,保持好奇心 #描述​​
9. ​​author: daidai #显示作者​​
10. ​​email: daidazhao@gmail.com #邮箱​​
11. ​​language: zh-Hans #语言​​
12. ​​timezone: Asia/Shanghai #时区​​
13.
14. ​​# URL​​
15. ​​## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'​​
16. ​​url: http://outofmemory.top #这个就是填写你的博客地址​​
17. ​​root: /​​
18. ​​permalink: :year/:month/:day/:title/​​
19. ​​permalink_defaults:​​
20.
21. ​​# Directory​​
22. ​​source_dir: source​​
23. ​​public_dir: public​​
24. ​​tag_dir: tags​​
25. ​​archive_dir: archives​​
26. ​​category_dir: categories​​
27. ​​code_dir: downloads/code​​
28. ​​i18n_dir: :lang​​
29. ​​skip_render:​​
30.
31. ​​# Writing​​
32. ​​new_post_name: :title.md # File name of new posts​​
33. ​​default_layout: post​​
34. ​​titlecase: false # Transform title into titlecase​​
35. ​​external_link: true # Open external links in new tab​​
36. ​​filename_case: 0​​
37. ​​render_drafts: false​​
38. ​​post_asset_folder: false​​
39. ​​relative_link: false​​
40. ​​future: true​​
41. ​​highlight:​​
42. ​​enable: true​​
43. ​​line_number: true​​
44. ​​auto_detect: false​​
45. ​​tab_replace:​​
46.
47. ​​# Home page setting​​
48. ​​# path: Root path for your blogs index page. (default = '')​​
49. ​​# per_page: Posts displayed per page. (0 = disable pagination)​​
50. ​​# order_by: Posts order. (Order by date descending by default)​​
51. ​​index_generator:​​
52. ​​path: ''​​
53. ​​per_page: 10​​
54. ​​order_by: -date​​
55.
56. ​​# Category & Tag​​
57. ​​default_category: uncategorized​​
58. ​​category_map:​​
59. ​​Android:android​​
60. ​​Hexo: Blog​​
61.
62. ​​tag_map:​​
63. ​​android ​​
64.
65. ​​# Date / Time format​​
66. ​​## Hexo uses Moment.js to parse and display date​​
67. ​​## You can customize the date format as defined in​​
68. ​​## http://momentjs.com/docs/#/displaying/format/​​
69. ​​date_format: YYYY-MM-DD​​
70. ​​time_format: HH:mm:ss​​
71.
72. ​​# Pagination​​
73. ​​## Set per_page to 0 to disable pagination​​
74. ​​per_page: 10​​
75. ​​pagination_dir: page​​
76.
77. ​​# Extensions​​
78. ​​## Plugins: https://hexo.io/plugins/​​
79. ​​## Themes: https://hexo.io/themes/​​
80. ​​#要修改主题,就修改theme​​
81. ​​theme: hexo-theme-next ​​
82.
83. ​​#GitHub仓库地址​​
84. ​​# Deployment​​
85. ​​## Docs: https://hexo.io/docs/deployment.html​​
86. ​​deploy:​​
87. ​​type: git​​
88. ​​repo: https://github.com/dazhaoDai/dazhaoDai.github.io.git ​​
89. ​​branch: master​​
90.

我们要修改的就是有注释的地方:

1. ​​# Site​​
2. ​​title: T9'S Develop Blog #你博客的标题​​
3. ​​subtitle: 不仅有工作,更有生活 #显示在浏览器上搜索的时候显示的标题​​
4. ​​description: 喜欢探索未知,保持好奇心 #描述​​
5. ​​author: daidai #显示作者​​
6. ​​email: daidazhao@gmail.com #邮箱​​
7. ​​language: zh-Hans #语言​​
8. ​​timezone: Asia/Shanghai #时区​​
9.
10.
11. ​​# URL​​
12. ​​## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'​​
13. ​​url: http://outofmemory.top #这个就是填写你的博客地址​​
14. ​​root: /​​
15. ​​permalink: :year/:month/:day/:title/​​
16. ​​permalink_defaults:​​
17.
18.
19. ​​#要修改主题,就修改theme​​
20. ​​theme: hexo-theme-next ​​
21.
22. ​​#GitHub仓库地址​​
23. ​​deploy:​​
24. ​​type: git​​
25. ​​repo: https://github.com/dazhaoDai/dazhaoDai.github.io.git ​​
26. ​​branch: master​​
  • 修改CNAME
    最后一步,只需要修改 我们github仓库下的 CNAME 文件。
    选择 CNAME 文件,使用的注册的域名进行替换,然后提交保存
  • 如何从零开始搭建自己的博客_git_12

  • 这时,输入你自己的域名,就可以解析到你的主页了。
  • 添加文章
    将上面的信息都改为自己的信息,既然配置好了,当然要新写个文章了,进入source/_posts,新建一个​​Markdown​​文件,关于的使用,这里介绍的很详细​​献给写作者的 Markdown 新手指南​​,

比如我新建一个 ​​hello.md​​,内容很简单

如何从零开始搭建自己的博客_github_13

保存之后,就需要把添加的博客上传到GitHub了

上传到GitHub

在GitHub_Blog文件下,执行命令(建议每次都按照如下步骤部署):

hexo clean
hexo generate
hexo deploy

搞定!,这时候去浏览器输入你的域名,​​outofmemory.top​​是不是成功看到你的博客了?

如何从零开始搭建自己的博客_github_14

风格不喜欢?简单,去更换主题,去Hexo查看​​眼花缭乱的主题​

这个主题不错

如何从零开始搭建自己的博客_github_15


找到GitHub地址

​https://github.com/MOxFIVE/hexo-theme-yelee.git​

去前面GitHub_Blog,进入themes,克隆这个主题

cd themes
git clone ​​​https://github.com/MOxFIVE/hexo-theme-yelee.git​

然后去_config.yml 修改主题,使用仓库名作为主题名


12


  1. ​#要修改主题,就修改theme​
  2. ​theme: hexo-theme-yelee ​

保存,然后将更新重新上传到GitHub

hexo clean
hexo generate
hexo deploy

成功!

TODO

后续将继续介绍如何添加 ​​网站统计​​​、​​评论​​​、​​标签​​​、​​友链​​等功能,希望大家继续关注