使用hexo在GitHub上搭建自己的bolg

  1. 前言:搭建博客的几大要素

    • 一个服务器(即博客的代码存放的地方,这里选用github)
    • 一个Blog生成工具(这里选用Hexo,类似的还有 WordPress,jekyll)
  1. 介绍Git和GitHub

    Git,一个非常强大的版本管理工具。

    GitHub,一个基于Git的日益流行的开源项目托管库,也就是你的“代码仓库”(repository)。

    你可以在本地或者网上对自己的代码进行修改,而Github就是一个将你对代码的任何修改和更改说明(commit)进行同步的一个工具,并且可以进行版本管理。在我们搭建博客的过程中,它就扮演着一个“云仓库”服务器的角色,存放我们的博客代码

  2. Github的安装和配置

    1. 注册,这个总会吧,官网-https://github.com/
    2. 安装及配置可以看这里
  3. 使用Github Pages生成博客

    1. 在Github网站上新建一个仓库(repository),网站右上角:

    2. 输入库的名字,注意:一定要以这种形式yourname.github.com进行命名,比如我的用户名是vickchen1992,于是我的命名就是vickchen1992.github.com

    3. 创建完成之后进入这个界面后点击右边的设置。

    4. 把界面往下拉就可以看到一个“页面自动生成”按钮了,点击该按钮

    5. 然后进入Github自带的Markdown编辑器进行编辑,你可以随意修改写上几句自己的话。然后点击右下角的绿色按钮Continue to Layouts。
    6. 然后你可以选择一个自己喜欢的主题,点击Publish就可以生成属于你自己的博客啦!
    7. 试着在地址栏输入http://yourname.github.io/ 就可以进入你刚刚创建的博客。
  4. 安装Node.js

    • 在 Windows 环境下安装 Node.js 非常简单,仅须下载安装文件并执行即可完成安装。
  5. 安装hexo

    1. 利用 npm 命令即可安装。(在任意位置点击鼠标右键,选择 Git bash )

      npm install -g hexo

    2. 创建hexo文件夹

      安装完成后,在你喜爱的文件夹下(如 D:\hexo),点击鼠标右键,选择 Git bash 执行以下指令,Hexo 即会自动在目标文件夹建立网站所需要的所有文件。

      hexo init

    3. 安装依赖包

      npm install

    4. 本地预览

      现在我们已经搭建起本地的hexo博客了,先在本地看看怎么样。在hexo安装的目录执行以下命令启动服务

      hexo generate //生成静态网页,简写方式为 hexo g

      hexo server //启动本地服务,简写方式为 hexo s

      也可合并命令,如hexo s -g 表示先生成然后开启服务

      然后到浏览器输入http://localhost:4000即可

      至此,本地博客已经搭建起来了。

  6. 博客部署到Github

    • 修改配置文件

      打开安装目录下的 _config.yml(在 D:\hexo下),找到deploy并进行如下修改,记得把相应的地方改成你自己的账号或URL。

      别告诉我你不知道你github pages的git提交地址。。。好吧,我还是附上一张截图吧,进入到你的github刚创建好的那个github pages仓库就能看到了。

      执行下列指令完成部署

      hexo generate //可简写为 hexo g

      hexo deploy //发布至GitHub 可简写为 hexo d

    • 注意

      每次修改本地文件后,需要 hexo generate才能保存。每次使用命令时,都要在 D:\hexo目录下。

      OK,我们的博客已经完全搭建起来了,在浏览器访问 http://yourname.github.io/ 就能看到你的成果了!

      还有一点,有一些用户在hexo deploy之后会有个这个提示

      那么我们要输入我们在git上验证的邮箱,再次hexo deploy便成功发布上去。

      就可以访问我们的网站了。

  7. 常见问题

    1. 配置文件_config.yml 编辑了title subtile之类的信息保存后,在git下输入hexo server(或其他指令),出现大量报错,形如’…can not read a block mapping entry…‘?

      解决方法:检查_config.yml内容,特别注意冒号后面需要有一个空格

    2. hexo deploy之后报错 ERROR Deployer not found: github ?

      解决方法:在安装目录下(D:\hexo)右键Git Bash执行命令

      npm install hexo -deployer -git --save

      然后检查根目录下配置文件_config.yml,将deploy 的 type由github改为git

    3. hexo deploy之后出现 fatal: ‘username.github.io’ does not appear to be a git repository?

      解决方法:一是检查 repo 的名字是否合乎规范、是否含有大写字母、config.yml 中的 deploy 配置是否正确,二是把 git bash 关掉,重新打开再执行命令。

    4. hexo deploy之后出现 Error: EBUSY: resource busy or locked, rmdir ‘D:\Dropbox\Blog.deploy_git\categories’

      解决方法:这个问题一般是因为文件夹被占用或者权限不够引起,设置下取消只读或者提高权限即可。

    5. hexo deploy之后出现 error: failed to execute prompt script (exit code 1) fatal: could not read Username for ‘https://github.com‘: No error

      解决方法:检查_config.yml 文件中的deploy->repo链接是否为https方式?改为ssh方式([email protected]:XX/XX.github.io.git)

      如果ssh方式报错,则运行ssh -T [email protected] 用于测试ssh是否正确配置

    6. 右键菜单中没有 git bash选项?

      解决方法:可以进入开始菜单找到 git bash,然后通过 cd进入相应目录执行命令。

    7. 在github部署完成之后,马上访问出现404错误?

      解决方法:这是正常的,(最多)等待十分钟左右就可以访问了。如果还不行,那很可能是 github 发送给你的验证邮件你没有打开看,验证后就没问题了。

    8. shell 命令中输入密码时,你输入之后密码是不显示的,这是为了安全,并非是你没输上。

    9. 出现乱码的,不要使用 windows 中的「记事本」打开并编辑文件,推荐使用 VS Code

    10. 遇到什么其他的问题,不妨删除.deploy 和db.json 再重新生成试一试。

    11. hexo安装没错,也能成功运行。启动也没错,但就是无法访问http://localhost:4000?

      你的电脑端口被占用了。hexo默认的端口是4000,如果你的电脑安装了福昕阅读器,就是他,没错.

      启动hexo s 的时候,用这个命令,换一个端口。

      hexo s -p 5000