GithubPages + Hexo 打造免费个人静态网页博客

·  阅读 376

这是我参与更文挑战的第5天,活动详情查看 更文挑战

前言:作为程序员为什么要写技术博客,一方面是为了养成做笔记做总结的习惯,一方面也能做些有用的知识分享,提高写作能力,其实有很多不错的博客平台都可以用,比如在掘金发布博客文章,但是如何在不需要域名空间和博客程序下,低成本的拥有属于自己的博客网站呢?

我后来发现很多大牛的个人博客都在用hexo,折腾了一下觉得简单又实用,markdown编写git发布,静态网页速度快,稳定性高,对于博客程序来说这一切足够了。听说还可以集成vue、angular等。

1. 准备工作

  • 必要环境及工具的下载:
  1. Node.js 安装后也会安装好 npm 包管理工具。
  2. Git 用于提交代码的工具,mac下安装了xcode则忽略这步。
  3. 需要一个Github账号,使用它提供的 Pages 功能就可以拥有一个静态网站空间,而且是免费的。国内的 Coding 也能做到同样的事,这里我还是选择github作为例子,原理都一样按需选择。
  • 申请个自己的域名(非必须)

2. 安装HEXO博客程序

  • mac下打开终端,如果嫌cd命令找目录麻烦,可以打开finder,点击左上角苹果图标旁边的Finder->服务->服务偏好设置->勾选新建位于文件夹位置的终端窗口,以后便可以在目录文件夹右键选择服务->...位置的终端窗口

  • windows在磁盘随便一个目录空白处右键选择在此处打开GitBash (使用cmd也可以,不推荐)

  • 在终端执行以下命令安装hexo (以下所有命令在windows下都不需要加sudo)

sudo npm install -g hexo

3. 初始化博客

  • 创建一个文件夹用于存放博客资源目录,在该目录下打开终端执行:hexo init

  • 第一次初始化需要稍作等待,完成后再执行:hexo g

  • 该命令作用是构建文章页面,就是生成静态网页,最后执行:hexo s

此时自动启动本地测试服务器,浏览器访问 http://localhost:4000 即可查看初始化好的博客。

初始化博客可能报错:ERROR Plugin load failed: hexo-server 解决方法:执行 sudo npm install hexo-server

4. 部署博客

经过以上步骤,我们已经可以将博客程序跑起来了,非常简单。接下来就要将它与Pages关联。

登录github并创建一个repository,点击“New repository”创建存放博客的仓库,注意仓库名必须为xxx(自定义前缀).github.io,这个也是你博客默认的访问地址。

进入博客资源目录(即刚刚初始化的目录),打开根目录的_config.yml文件,在末尾添加:

deploy:
  type: git
  repository: https://github.com/xxx/xxx.github.io.git
  branch: master
复制代码

仓库地址为前面创建的github仓库地址

  • 接着在终端执行以下命令:npm install hexo-deployer-git --save

  • cd到博客目录执行:hexo d

你会发现博客已经部署到giuhub仓库中,可以通过外网访问了。

5. 开始写博客

  1. 安装一个编写md文件的工具,例如我使用的是MacDown
  2. cd到博客目录执行hexo new "postName" 创建文章。
  3. 博客目录下的source/_posts找到你创建的文章,打开直接编写即可。
  4. hexo中文文档

6. 发布你的博客

每次编写博客的步骤:

  1. 本地写好博客
  2. 打开终端,cd到博客目录,执行 hexo clean 清空缓存
  3. 执行 hexo g 构建文章页面
  4. 执行 hexo s 本地预览整个站点
  5. 执行 hexo d 发布到Pages更新线上博客

7. 博客绑定自己的域名

域名解析CNAME记录到你仓库的默认域名,创建一个文本,写上你解析的域名,放在仓库根目录即可。

  • 重新生成网页文件会把 CNAME 文件覆盖掉,需要直接把 CNAME 文件添加到 source 文件夹里,这样每次推的时候就不用担心仓库里的 CNAME 文件被覆盖掉了。
  • 仓库设置中出现Domain's DNS record could not be retrieved.提示说明CNAME文件出错,检查该文件域名是否拼写错误,注意不要加协议前缀(如http)。
分类:
代码人生
标签: