作者:T9的第三个三角
序
作为一名合(zhuang)格(bi)的程序猿,经常写点东西,肯定少不了各种网站、博客,通俗的CSDN,文艺的简书,强大的GitHub,以及微信、掘金、知乎等等风格迥异的平台。不过,再多的地方,也容不下一颗想捯饬的心,不管什么网站,都有自己固定的模板,统一的风格,这怎么能满足程序猿的一颗躁动的心?
例如我的个人博客T9’s Developer,欢迎大家访问
那就自己动手,利用各种开源工具,自己搭建一个属于自己的个人博客吧。
下面记录的是自己搭建博客的每个步骤,尽量将所有细节记录下来,为有同样好奇心的小伙伴给个参考
准备
搭建博客,前期需要四个工具
- Hexo:Hexo快速、简洁且高效的博客框架
- Node.js:建立在Chrome上的JavaScript运行引擎
- Git:一款免费、开源的分布式版本控制系统
- GitHub:国内一款面向开发者的云端开发平台,提供代码托管,运行空间,质量控制,项目管理等功能
1. 安装
安装必要的配置环境,如果已经安装过,可以跳过
- 1.1 安装Git
Git官网 - 找到Download,安装自己对应的系统版本,系统会自动判定你当前版本,推荐下载,如果没有推荐,那就自己选择吧。
下载成功安装的步骤我就不贴了, - 1.2 安装Node.js
Node.js 下载地址
同理系统依然会判定你的系统并给出稳定推荐的版本和尝鲜版,两种,供君选择。下载安装步骤同样省略
- 1.3 GitHub账号注册
GitHub账号注册过程很简单,注册流程就省略,完成之后,就开始创建博客了
2.创建个人博客
注册完成之后,点击头像左侧的+
号, —>New repository
,创建新仓库
因为我们创建的是个人网站,所以仓库的名称需要安装GitHub个人网站项目的规定来写。
规则就是:
userName.github.io
比如我的GitHub用户名是dazhaoDai,那我就要填写 dazhaoDai.github.io。然后选择Public
模式,接着点击创建仓库按钮。
创建成功后,进入新仓库,点击Settings,往下找到
选择一个主题,之后一个托管在GitHub上的博客就就搞定了,大概半个小时后,例如我的个人博客:https://dazhaoDai.github.io/
就可以访问了,注意:将其中的用户名换成你创建的仓库名
这时候,你的确可以访问自己博客了,但是我们的博客访问地址是:userName.github.io,是不是一点都不满足?想用自己个性化的域名作为自己的博客地址?
接下来,就需要我们去购买域名,配置成自己个性化的域名地址
域名
购买域名有很多途径,例如阿里云、腾讯云等,这里以阿里云为例。
域名的价格差别比较大,我们是做个个人博客,所以买个便宜的后缀域名,如图所示,价格差别较大
购买域名很简单,但是一定要注意的是,选择的域名后缀一定是可以备案的,不然只能是注册保护,无法使用,在购买时,阿里云会有提示信息:
例如我注册的是 outofmemory.top,具体购买流程就不写了。
解析
购买完成后,选择管理控制台--域名--域名服务--域名列表
,看到你购买的域名,选择解析
参考下图,修改下面信息
分别添加两个A
记录类型,
一个主机记录为www
,代表可以解析 www.outofmemory.top
的域名
另一个为 @
, 代表 outofmemory.top
记录值就是我们的GitHub仓库地址:userName.github.io
,当然我们也可以填写IP地址,使用终端,ping一下:
红框内就是我们仓库的具体IP地址,所以根据自己选择,可以填写userName.github.io
,也可以填写IP地址
这里,我们已经完成了域名解析工作,回到GitHub,完成域名和GitHub Pages 的绑定
绑定
回到Github, 选择我们创建的个人域名仓库,选择Settings
,找到GitHub pages,将我们购买的域名地址填入下方 Custom domain, 然后保存,这时候我们的GitHub pages 和 域名就绑定到一起。
到了这一步,我们已经完成了个人博客的创建,不过你肯定有疑问了,为什么你的博客主题那么个性?别急,下面就来试试
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 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 文件,使用的注册的域名进行替换,然后提交保存 - 这时,输入你自己的域名,就可以解析到你的主页了。
- 添加文章
将上面的信息都改为自己的信息,既然配置好了,当然要新写个文章了,进入source/_posts,新建一个Markdown
文件,关于的使用,这里介绍的很详细献给写作者的 Markdown 新手指南,
比如我新建一个 hello.md,内容很简单
保存之后,就需要把添加的博客上传到GitHub了
上传到GitHub
在GitHub_Blog文件下,执行命令(建议每次都按照如下步骤部署):
hexo clean
hexo generate
hexo deploy
搞定!,这时候去浏览器输入你的域名,outofmemory.top是不是成功看到你的博客了?
风格不喜欢?简单,去更换主题,去Hexo查看眼花缭乱的主题
这个主题不错
找到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
-
#要修改主题,就修改theme
-
theme: hexo-theme-yelee
保存,然后将更新重新上传到GitHub
hexo clean
hexo generate
hexo deploy
成功!
TODO
后续将继续介绍如何添加 网站统计
、评论
、标签
、友链
等功能,希望大家继续关注