抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

此文介绍了搭建 Hexo 博客的全过程。然而在安装前,您必须检查电脑中是否已安装下列应用程序

image

必备应用

  • Node.js
    • 首先下载最新的 LTS(长期支持版)的 Node.js,除了安装路径自选外,其它选项全部默认,一路点击 Next 即可。最后安装好之后,cmd 输入 node -v,如果出现版本号,那么就安装成功了。
  • Git
    • 除了安装路径自选外,有一步我们要确保勾选 Git Bash Here,取消 Git GUI Here 的选项,其余选项默认,一路点击 Next,安装完后就可以直接在鼠标右键菜单选项里打开 Git Bash 了。可以在 Git Bash 输入 git --version 验证是否安装成功
  • yarn
    • Node.js >=16.10 版本之后本身就包含了 yarn 这个包管理器,但是默认没有启用。我们可以通过以管理员身份运行 cmd,执行命令启用:
1
corepack enable

本教程假定你已经安装上述必备程序。这里我还想说一句,很多教程是用 npm 包管理器来安装依赖的,我这里则是用的 yarnyarnnpm 相比有很多优势,更多详情和 npm 命令之间的差异建议自行去网上搜索。

Hexo 安装及建站过程


  1. 全局安装 Hexo(在 cmd 输入)
1
yarn global add hexo-cli

  1. 配置环境变量

桌面上的「此电脑」图标,鼠标右键,「属性」,「高级系统设置」,「环境变量」,在「系统变量」一栏的「Path」,点击「编辑」,「新建」,把路径 C:\Users\<用户名>\AppData\Local\Yarn\bin 写进去(此处路径取决于你电脑的用户名),保存即可。


  1. 找个目录建立站点(在你认为合适的目录下鼠标右键,点击 Git Bash Here,下面的 your_blog_name 是自定义的,随你喜好设定),然后输入命令:
1
2
3
4
hexo init your_blog_name
cd your_blog_name
yarn
yarn add hexo-deployer-git

完成上述操作后接下来就该部署到 GitHub Pages 上了。


GitHub Pages 必备条件

  • 拥有一个 GitHub 账号
    • 如果还没有账号的自行 点击这里 注册
      创建一个名为 your_username.github.io 的 repository(此处的your_username指的是你的 GitHub 用户名)

配置 SSH 密钥

配置 GitHub 的 SSH 密钥可以让本地 Git 项目与远程的 GitHub 建立联系,让我们在本地写了代码之后直接通过git操作就可以实现本地代码库与 GitHub 代码库同步。操作如下:

检查本地上是否已有 SSH 密钥

打开 Git Bash,并运行:

1
ls ~/.ssh
  • 如果提示 No such file or directory 的就说明你之前还没有创建过 SSH 密钥,如下:
1
2
$ ls ~/.ssh
ls: cannot access '/c/Users/Innovation/.ssh': No such file or directory
  • 如果有 id_*id_*.pub (其中 * 是生成密钥的签名类型),说明您之前已经生成过 SSH 密钥了,如:
1
2
$ ls ~/.ssh
id_ecdsa id_ecdsa.pub

还没有 SSH 密钥看这里

  1. 创建一对新的 SSH 密钥,输入以下命令
1
ssh-keygen -t ecdsa -C "your_email"
  • 上面的 your_email 以你 GitHub 的邮箱地址替换即可
  1. 按回车确认key保存的路径
1
2
Generating public/private ecdsa key pair.
Enter file in which to save the key (/c/Users/Innovation/.ssh/id_ecdsa):

上面的意思是询问你保存密钥的路径,我们默认即可,此处直接回车

  1. 输入密码

此处建议不要设置密码,直接回车,不然每次你本地文件发生变化要部署到 GitHub 仓库的时候都要繁琐的输入密码

1
2
Created directory '/c/Users/Innovation/.ssh'.
Enter passphrase (empty for no passphrase):
  1. 确认密码

是让你确认密码,没设置密码的直接回车

1
Enter same passphrase again:
  1. 输入完成之后,屏幕大致会显示如下信息:
1
2
3
4
Your identification has been saved in /c/Users/Innovation/.ssh/id_ecdsa
Your public key has been saved in /c/Users/Innovation/.ssh/id_ecdsa.pub
The key fingerprint is:
SHA256:snXEmouBdXZbc9EdpkJJCeVhbMuTimnhvCr7Sv/xFeg your_email@example.com

已有 SSH 密钥看这里

  1. 在 Git Bash 里显示你的 SSH 公钥
1
cat ~/.ssh/id_*.pub
  1. 鼠标复制返回的内容

  2. 接着:

  • 登陆 GitHub,进入你的 Settings
  • 点击左栏的 SSH and GPG Keys 选项
    • 选择 New SSH Key,在 Key 文本框里直接粘贴刚才复制的内容
    • Title 文本框可以不填,点击 Add SSH Key 就好了

测试 GitHub 的身份验证

  1. 在提交到 GitHub 之前,你首先需要声明提交者的身份信息,打开 Git Bash,输入下列命令:
1
2
git config --global user.name "your_username"
git config --global user.email "your_email"
  • 上面命令中的 your_usernameyour_email 改为你 GitHub 用户名邮箱地址即可。
  1. 输入下面的命令,看看设置是否成功,git@github.com 的部分不要修改:
1
ssh -T git@github.com
  1. 如果大致是下面的反馈:
1
2
3
4
The authenticity of host 'github.com (20.205.243.166)' can't be established.
ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])?

输入 yes 即可

然后反馈如下,那么就验证成功了

1
Hi ericclose! You've successfully authenticated, but GitHub does not provide shell access.

修改 blog 的配置文件

打开你一开始创建的 blog 文件夹,用文本编辑器(推荐 vscode 或者是 Notepad++ 这类带语法高亮的编辑器)打开刚文件夹下的 _config.yml 文件,然后修改最后一块代码:

_config.yml
1
2
3
4
deploy:
type: git
repository: git@github.com:your_username/your_username.github.io.git
branch: master

把上面的 your_username 改成你 GitHub 的用户名就完成了所有配置。

生成 public 文件夹并部署到你的 GitHub Pages

在你 blog 根目录下鼠标右键,点击 Git Bash Here,输入

1
2
hexo g
hexo d
  • 上面的 g 代表的是 generate(生成),d 代表的是 deploy(部署)
    命令可以简写成一行 hexo g -d

完成

进入你的 GitHub Pages 看看效果了,链接是 https://your_username.github.ioyour_username 用你的用户名替代即可)

默认的 Hexo 主题是 landscape,最初只有一篇文章,效果图如下:

评论