部署指南

这里提供了部署 Haku 的指南,主要针对 Windows 用户。

部署 Haku 是零成本的,但你需要先做一些准备工作,并且会阅读英文或使用翻译软件,以及知道一些代理知识。

准备

配置 git

首先你需要一个 GitHub 账号。

注册 GitHub 账户只需访问 GitHub 官网,点击右上角“Sign up”,依次输入邮箱、设置密码(需含大小写字母数字)、输入用户名并完成人机图形验证。通过邮件验证码验证后即可免费创建账号,建议选择免费版本(Free)完成设置。

然后你需要安装 git

git
git

选择 Install for Windows,如果使用 Windows 以外的系统就对应选择即可。

然后配置 GitHub。在桌面右键 -> Open git bash here,输入这条指令。

配置 SSH Key

这一步是为了让你不需要密码也能访问 GitHub。

右键桌面,打开 git bash

ssh-keygen -t ed25519 -C "your_email@example.com"
  • -t ed25519:指定使用高安全性、较短的 Ed25519 算法(推荐)。
  • -t rsa -b 4096:假如不支持 Ed25519,使用 RSA 4096 字节密钥。
  • -C:添加注解(通常是邮箱,把 your_email@example.com 替换成你注册 GitHub 的邮箱),这主要是为了方便识别。
sshkey
sshkey

系统会提示输入档案储存位置(预设为 ~/.ssh/id_ed25519)。

提示输入 passphrase(密码短语),增加安全性。可直接按 Enter 留空以实现完全免密码登入。

假如你是 Windows 用户,打开 %USERPROFILE%\.ssh 就能找到里面的两个文件。

  • id_ed25519(没有后缀名):私钥(Private Key),绝对不可公开。
  • id_ed25519.pub:公钥(Public Key),上传到 GitHub。

用记事本打开 id_ed25519.pub,把里面的内容全部复制下来。

打开(预先登录好 GitHub)设置页面

_

我已经预先配置过 SSH 密钥,这里再加一个。

_
  • Title:是给你辨识这是哪个 SSH 密钥的,写一个自己知道意思的标题即可。
  • Key type:选择 Authentication Key
  • Key:填写从 id_ed25519.pub 复制到的东西。

然后在 git bash 输入指令。

ssh -T git@github.com

如果收到

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

或者类似的提示,说明 SSH 配置成功。

配置 Node.js

前往这里下载 Node.js,选择 LTS 版本。

双击安装包,建议修改安装路径(如 D:\Nodejs),一路点击 “Next”。

打开 git bash,输入 node -vnpm -v 查看版本号。显示类似 v**.**.* 的字样就算配置成功。

为了避免 NPM 安装包占用系统盘,建议配置全局安装目录。在 Node.js 安装目录下新建两个文档夹 node_globalnode_cache

执行以下命令。

npm config set prefix "D:\Nodejs\node_global"
npm config set cache "D:\Nodejs\node_cache"

假如你在中国大陆,建议修改镜像源以提高速度,这里的 https://registry.npmmirror.com/ 是淘宝提供的镜像源。

npm config set registry https://registry.npmmirror.com/

接着配置环境变量。按下 Ctrl + R,输入 sysdm.cpl 并按下回车。

打开“系统属性” -> 高级 -> “环境变量”。

在【系统变量】中新建 NODE_PATH,值为 D:\Nodejs\node_global\node_modules

修改【用户变量】中的 Path,新建一条,内容就是 Node.js 的安装路径(上面给出的就是 D:\Nodejs\)。

在命令行运行

npm install -g express

若安装成功,即配置完成。

部署博客

到了这里,离部署成功就很近了。建议的方式是通过 Netlify 部署。

点击这个按钮。

Deploy to Netlify

跟随教程完成即可。

Netlify
Netlify

Repository name 这里填入你喜欢的名字,例如 MyBlog

(这样,假设你的账号名是 username,你的账号里就会多出一个叫做 github.com/username/MyBlog)的仓库。

关于 CDN

使用 loli.net 作为 CDN,共三个字体:SN ProNoto Sans SC 以及 Fira Code。中国大陆表现略差。

fonts
fonts

更新主题

WARNING

务必注意,由于更新主题使用了 --allow-unrelated-histories 参数(为了尽量减少提交体积,仅获取最后一次提交),可能导致大量的合并冲突。最好的方法是使用 VSCode 打开仓库,手动解决每一个合并冲突。务必小心。

执行命令。

haku update

Haku 会抓取远程仓库 Karlbaey/Haku 的最后一次提交,然后试图合并。

准备工作已经全部完成,接下来前往博客配置完成你所有的配置。

返回文章页面

分享

评论区