Hexo + GitHub Pages 搭建博客的教程

前言:最近花了一段时间学习搭建博客,参照网上的各种教程,觉得这个不错就结合一下分享给大家。现在把 Hexo + GitHub Pages 搭建博客的完整过程记录下来:
大概流程:

  1. 搭建 Node.js 环境
  2. 搭建 Git 环境
  3. GitHub 注册和配置
  4. 安装配置 Hexo
  5. 关联 Hexo 与 GitHub Pages
  6. GitHub Pages 地址解析到个人域名
  7. Hexo 的常用操作
  8. 结束语


搭建 Node.js 环境

  为什么要搭建 node.js 环境? - 因为 Hexo 博客系统是基于 Node.js 编写的
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,可以在非浏览器环境下,解释运行 JS 代码。
  在 Node.js 官网:https://nodejs.org/en/ 下载安装包 v6.10.3 LTS
  保持默认设置即可,一路Next,安装很快就结束了。


  然后打开命令提示符,输入 node -v、npm -v,出现版本号则说明 Node.js 环境配置成功,第一步完成!
这里写图片描述

搭建 Git 环境

  为什么要搭建 git 环境? - 因为需要把本地的网页和文章等提交到 GitHub 上。
Git 是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

  在 Git 官网:https://git-scm.com/ 下载安装包 Git-2.13.0-64-bit.exe
这里写图片描述



  桌面右键,打开 Git Bush Here,输入 git –version,出现版本号则说明 Git 环境配置成功,第二步完成
这里写图片描述


GitHub 注册和配置

  GitHub 是一个代码托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub。

  Github注册:https://github.com/
这里写图片描述
  创建仓库:Repository name 使用自己的用户名,仓库名规则:
  注意:yourname 必须是你的用户名
  1 yourname/yourname.github.io
  这里写图片描述

  访问 yourname.github.io,如果可以正常访问,那么 Github 的配置已经结束了。

  到此搭建 Hexo 博客的相关环境配置已经完成,下面开始讲解 Hexo 的相关操作


安装配置 Hexo

  Hexo 是一个快速、简洁且高效的博客框架,使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。

  强烈建议你花20分钟区读一读 Hexo 的官方文档:https://hexo.io/zh-cn/



使用 npm 安装 Hexo:在命令行中输入
  1 npm install hexo-cli -g
  然后你将会看到下图,可能你会看到一个WARN,但是不用担心,这不会影响你的正常使用。
这里写图片描述

  查看Hexo的版本
这里写图片描述

  安装 Hexo 完成后,请执行下列命令来初始化 Hexo,用户名改成你的,Hexo 将会在指定文件夹中新建所需要的文件。
  1 hexo init bxm0927.github.io
  2 cd bxm0927.github.io
  3 npm install

  新建完成后,指定文件夹的目录如下:
  1 .
  2├── .deploy #需要部署的文件
  3├── node_modules #Hexo插件
  4├── public #生成的静态网页文件
  5├── scaffolds #模板
  6├── source #博客正文和其他源文件,404、favicon、CNAME 都应该放在这里
  7| ├── _drafts #草稿
  8| └── _posts #文章
  9├── themes #主题
  10├── _config.yml #全局配置文件
  11└── package.json #npm 依赖等


运行本地 Hexo 服务

  1hexo server
  2或者
  3hexo s

  您的网站会在 http://localhost:4000 下启动。如果 http://localhost:4000 能够正常访问,则说明 Hexo 本地博客已经搭建起来了,只是本地哦,别人看不到的。下面,我们要部署到Github。

这里写图片描述

注意1:执行hexo server提示找不到该指令
  解决办法:在Hexo 3.0 后server被单独出来了,需要安装server,安装的命令如下:

  1sudo npm install hexo-server
  2或者
  3npm install hexo -server --save


关联 Hexo 与 GitHub Pages

  我们如何让本地git项目与远程的github建立联系呢?用 SSH keys

生成SSH keys

  输入你自己的邮箱地址
  1ssh-keygen -t rsa -C "80583600@qq.com"
  在回车中会提示你输入一个密码,这个密码会在你提交项目时使用,如果为空的话提交项目时则不用输入,我们按回车不设置密码。


添加 SSH Key 到 GitHub

  打开 C:\Users\bxm09.ssh\id_rsa.pub,此文件里面内容为刚才生成的密钥,准确的复制这个文件的内容,粘贴到 https://github.com/settings/ssh 的 new SSH key 中


测试

  可以输入下面的命令,看看设置是否成功,git@github.com的部分不要修改:
  1ssh -T git@github.com

  如果是下面的反馈:
  The authenticity of host ‘github.com (207.97.227.239)’ can’t be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?

  不要紧张,输入yes就好,然后会看到:
  Hi aierui! You've successfully authenticated, but GitHub does not provide shell access.


配置Git个人信息

  现在你已经可以通过 SSH 链接到 GitHub 了,还有一些个人信息需要完善的。
Git 会根据用户的名字和邮箱来记录提交。GitHub 也是用这些信息来做权限的处理,输入下面的代码进行个人信息的设置,把名称和邮箱替换成你自己的。
  1git config --global user.name "bxm0927"
  2git config --global user.email "80583600@qq.com"

配置 Deployment

  在_config.yml文件中,找到Deployment,然后按照如下修改,用户名改成你的:

需要注意的是:冒号后面记得空一格!

  1# Deployment
  2## Docs: https://hexo.io/docs/deployment.html
  3deploy:
  4type: git
  5repo: git@github.com:bxm0927/bxm0927.github.io.git
  6 branch: master


本地文件提交到 GitHub Pages

  1// 删除旧的 public 文件
  2hexo clean
  3
  4// 生成新的 public 文件
  5hexo generate
  6或者
  7hexo g
  8
  9// 开始部署
  10hexo deploye
  11或者
  12hexo d


  在浏览器中输入 https://bxm0927.github.io (用户名改成你的)看到了 Hexo 与 GitHub Pages 已经成功关联了,哇哇哇哇哇哇,开心死你了,不要忘了回来给我点赞哟 ~
注意1:若上面操作失败,则需要提前安装一个扩展:
  1 npm install hexo-deployer-git --save

注意2:如果在执行 hexo d 后,出现 error deployer not found:github 的错误(如下),则是因为没有设置好 public key 所致,重新详细设置即可。

  Permission denied (publickey).
  fatal: Could not read from remote repository.
  Please make sure you have the correct access rights
  and the repository exists.

注意3:怎么避免 .md 文件被解析?

  Hexo原理就是hexo在执行hexo generate时会在本地先把博客生成的一套静态站点放到public文件夹中,在执行hexo deploy时将其复制到.deploy文件夹中。Github的版本库通常建议同时附上README.md说明文件,但是hexo默认情况下会把所有md文件解析成html文件,所以即使你在线生成了 README. md,它也会在你下一次部署时被删去。怎么解决呢?

  在执行hexo deploy前把在本地写好的README.md文件复制到.deploy文件夹中,再去执行hexo deploy。


GitHub Pages 地址解析到个人域名

  Github Pages 是面向用户、组织和项目开放的公共静态页面搭建托管服 务,站点可以被免费托管在 Github 上,你可以选择使用 Github Pages 默 认提供的域名 github.io 或者自定义域名来发布站点。

  看着博客的域名是二级域名,总有一种寄人篱下的感觉,为了让这个小窝看起来更加正式,我在阿里云上买了一个域名,打算将博客绑定自己的域名。

  进行该绑定过程,其实就是一个重定向的过程。

  在 GitHub 仓库的根目录下建立一个 CNAME 的文本文件(注意:没有扩展名),文件里面只能输入一个你的域名,不能加http://

  1www.lovebxm.com

  注意:CNAME 一定是在你 Github 项目的 master 根目录下

  进入阿里云域名解析地址,添加解析

  1 记录类型选择CNAME
  2 主机记录填www
  3 解析线路选择默认
  4 记录值填yourname.github.io
  5 TTL值为10分钟
  6 再添加一个解析,记录类型A
  7 主机记录填www
  8 解析线路选择默认
  9 记录值填你GitHub 的ip地址(在cmd中ping:)

  1ping bxm0927.github.com

这里写图片描述

  点击保存,等 1 分钟,访问下你自己的域名,一切就ok了。

  域名绑定成功,域名解析成功,因此你在浏览中输入 www.lovebxm.com,或 lovebxm.com 就可以访问到博客了,输入 bxm0927.github.io 会重定向到 www.lovebxm.com。过程:www 的方式,会先解析成 http://xxxx.github.io,然后根据 CNAME 再变成 www

**注意:**CNAME文件在下次 hexo deploy的时候就消失了,需要重新创建,这样就很繁琐

  方法一:每次 hexo d 之后,就去 GitHub 仓库根目录新建 CNAME文件

  方法二:在 hexo g 之后, hexo d 之前,把CNAME文件复制到 “\public\” 目录下面,里面写入你要绑定的域名。

  方法三(推荐):将需要上传至github的内容放在source文件夹,例如CNAME、favicon.ico、images等,这样在 hexo d 之后就不会被删除了。

  方法四:通过安装插件实现永久保留

  1$ npm install hexo-generator-cname --save

  之后在_config.yml中添加一条
  1plugins:
  2- hexo-generator-cname

  需要注意的是:如果是在github上建立的CNAME文件,需要先clone到本地,然后安装插件,在deploy上去即可。CNAME只允许一个域名地址。

注意1:每次生成的 CNAME 都是 yoursite.com 怎么解决?

  修改 _config.yml
  1url: http://www.lovebxm.com
  2root: /
  3permalink: :year/:month/:day/:title/
  4permalink_defaults:


  至此个人博客网站基本完成了,后面关于hexo的常用操作下期再给各位详细讲解

  使用 Hexo + GitHub Pages 建站,有优点也有缺点:
- GitHub Pages 不支持数据库管理,所以你只能做静态页面的博客,不能像其他博客(如 WordPress)那样通过数据库管理自己的博客内容。

  但是,GitHub Pages 无需购置服务器,免服务器费的同时还能做负载均衡,github pages有300M免费空间。

  个人博客真的有必要用数据库吗?答案是否定的。博客静态化,评论记录使用第三方的 网易云跟帖就可以了。静态的博客更有利于搜索引擎蜘蛛爬取,轻量化的感觉真的很好。

  通过 Hexo 你可以轻松地使用 Markdown 编写文章,非常符合我的口味。Markdown 真的是专门针对程序员开发的语言啊,现在感觉没有 Markdown什么都不想写。什么富文本编辑器,什么word,太麻烦了!而且样式都好丑!效率太低!

  推荐几个很好用的在线 Markdown 编辑器:
  - 作业部落:https://www.zybuluo.com/mdeditor
  - 马克飞象:https://maxiang.io

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值