这里提供了部署 Haku 的指南,主要针对 Windows 用户。
部署 Haku 是零成本的,但你需要先做一些准备工作,并且会阅读英文或使用翻译软件,以及知道一些代理知识。
准备
配置 git
首先你需要一个 GitHub 账号。
注册 GitHub 账户只需访问 GitHub 官网,点击右上角“Sign up”,依次输入邮箱、设置密码(需含大小写字母数字)、输入用户名并完成人机图形验证。通过邮件验证码验证后即可免费创建账号,建议选择免费版本(Free)完成设置。
然后你需要安装 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 的邮箱),这主要是为了方便识别。

系统会提示输入档案储存位置(预设为 ~/.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 -v 和 npm -v 查看版本号。显示类似 v**.**.* 的字样就算配置成功。
为了避免 NPM 安装包占用系统盘,建议配置全局安装目录。在 Node.js 安装目录下新建两个文档夹 node_global 和 node_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 部署。
点击这个按钮。
跟随教程完成即可。

Repository name 这里填入你喜欢的名字,例如 MyBlog。
(这样,假设你的账号名是 username,你的账号里就会多出一个叫做 github.com/username/MyBlog)的仓库。
关于 CDN
使用 loli.net 作为 CDN,共三个字体:SN Pro、Noto Sans SC 以及 Fira Code。中国大陆表现略差。

更新主题
WARNING务必注意,由于更新主题使用了
--allow-unrelated-histories参数(为了尽量减少提交体积,仅获取最后一次提交),可能导致大量的合并冲突。最好的方法是使用 VSCode 打开仓库,手动解决每一个合并冲突。务必小心。
执行命令。
haku updateHaku 会抓取远程仓库 Karlbaey/Haku 的最后一次提交,然后试图合并。
准备工作已经全部完成,接下来前往博客配置完成你所有的配置。
返回文章页面