相关链接
视频资源
文件资源
本教程用到的所有文件资源: https://pan.yukaidi.com/s/y66XIp
虚拟机ISO镜像: https://pan.yukaidi.com/s/z99bc5
官网列表
Git: https://git-scm.com/
Node.js: https://nodejs.org/en/
Hexo: https://hexo.io/zh-cn/
MarkText官网: https://www.marktext.cc/
MarkText项目: https://github.com/marktext/marktext/
Valine: https://valine.js.org/
LeanCloud: https://www.leancloud.cn/
注意事项
本教程部分步骤可能需要魔法上网环境。
本教程中Git Bash目录默认都位于博客根目录。正式开始
安装依赖
下载网盘里的资源或者从官网下载Git、Node.js并安装。
这些软件的安装都是傻瓜式的,一路Next就行了。
安装Hexo
创建文件夹
创建一个博客文件夹,如blog
使用npm安装Hexo
打开这个文件夹,右键点击“Git Bash Here”,在打开的终端中输入
1
npm install hexo-cli -g
稍等片刻,出现如图的输出即为安装成功。(下面是更新提示,与是否成功无关)
初始化Hexo
安装完成后,在博客文件夹下输入
1
hexo init
稍等片刻,出现如图输出即为成功。此时文件夹会生成Hexo文件。
生成博客网页
初始化完成后,输入
1
hexo g
稍等片刻,出现类似如图输出即为成功。此时Hexo会生成博客静态页面并放入public文件夹。
运行博客服务器
生成完成后,输入
1
hexo s
运行博客服务器。如果弹出防火墙提示,允许即可。
打开浏览器,在地址栏输入 http://localhost:4000 即可打开博客网页。
但是这个博客是在本地运行的,只有本机和内网设备可以访问。
撰写文章
新建文章
在Git Bash中输入
1
hexo new "文章标题"
注意文章标题不能包含特殊字符否则会报错。
编辑文章
打开博客目录下的source_post文件夹,使用MarkText打开【文章标题】.md文件。
首先编辑md的头文件,在tags行输入空格,然后输入这篇文章的标签。
如果要输入多个标签,标签之间以英文逗号隔开,然后整体用英文中括号括起来。
1
tags: [标签1,标签2]
如果要给文章添加分类,换行,然后输入:
1
categories: 分类
添加多个分类也是一样的格式:
1
categories: [分类1,分类2]
接着编辑正文内容。这时候使用MarkDown等md编辑器的优势就来了,这类编辑器不需要你掌握太多的md知识,使用和B站专栏差不多的编写方式就能编写md文件。比如再MarkText中输入@可以调出插入栏,可以嵌入代码、HTML或者标题表格等等。
发布文章
保存退出后,在博客目录的Git bash中输入
1
hexo clean
删除原有静态页面缓存,接着输入
1
hexo g
重新生成博客静态网页,最后输入
1
hexo s
运行本地博客服务器。
浏览器打开 http://localhost:4000 就能看到新写的这篇文章了。
更换主题
Hexo默认的Landscape主题是否的简陋以及难看,我们可以通过更换不同的主题来“装修”我们的博客。
获取主题
前往Themes | Hexo挑选一个主题,这里我使用Keep主题进行演示。
点开主题的图片,进入主题作者的个人博客中后找到页面中的GitHub链接并进入。
下滑,在项目文档中找到使用git clone的安装方式,复制其代码并安装。
1 | git clone https://github.com/XPoet/hexo-theme-keep.git themes/keep |
待其克隆完成之后,打开博客根目录的_config.yml文件,找到其中的
1 | theme: landscape |
将其更改为
1 | theme: keep |
冒号后面的值可以在文档中找到。
接着设置中文,找到文件中的
1 | language: en |
将其更改为
1 | language: zh-CN |
自定义主题
进入博客根目录下的 themes\[主题] 目录,这个目录路径和上面git clone命令末尾的目录路径一样,我这里是 themes\keep
找到目录中的_config.yml文件并打开,这里是主题的各种配置,包括但不限于标题、作者、图标、字体等,一般正规的配置文件中都有注释,看着注释自己一点一点自定义就行了。如果这些不满足你,你可以自行去修改主题的源代码并给作者交个PR,但是会这么操作的也不可能看这篇文章吧()
修改完配置文件后保存,然后重新生成博客文件并运行服务器:
1 | hexo clean |
将博客托管至GitHub
为了体现出本文章的0成本特点,无法通过购买VPS来开设网站(除非使用 https://hax.co.id 或 https://woiden.id 的免费ipv6 vps,但是极其不稳定,而且只有72小时),所以需要将代码托管至GitHub中实现搭建一个长期稳定免费的VPS。而Hexo是一个无后端博客框架,这意味着你可以将博客托管至静态网页托管平台,如 https://github.io 和 https://pages.dev 中。这里我是用免费知名的Github Pages(github.io)来演示。
注册GitHub账号
进入GitHub官网 https://github.com ,点击右上角Sign Up注册账号。
注册时会让你填写邮箱、密码、用户名,最下面的是询问是否接受产品更新推广邮件,直接输入n拒绝即可。
接着完成人机验证后,会让你验证邮箱,个性化直接跳过,验证完后等待其初始化,然后看到管理面板就说明注册完成了。
创建GitHub Pages仓库
点击面板左侧的Create repository,在Repository name这里输入[github用户名].github.io,比如我的用户名是xtzyj我就输入xtzyj.github.io。
创建完成后,你将会看见如上图的仓库初始页面。
将Github Pages仓库克隆至本地
复制Quick setup中的网址,在Git Bash中输入git clone [网址],比如:
1
git clone https://github.com/xtzyj/xtzyj.github.io.git
稍等片刻后出现类似如图输出结果即为成功。
进入这个目录,目录名称因人而异:
1
cd xtzyj.github.io
将本地文件上传到仓库中
(下面这几张图复制到文件是错误的,因为我不小心复制成了博客根目录的文件)
将博客根目录中的public文件夹中的所有文件复制到这个目录中。
接着将所有添加的文件记录到git中
1
git add --all
接着向git声明你的身份
1
2git config --global user.email "[email protected]"
git config --global user.name "Your Name"将you@example.com和Your Name更改为绑定GitHub的邮箱和GitHub用户名
接着提交一次commit来记录此次更改
1
git commit -m "message"
message更改为对于此次更改的描述,如
1
git commit -m "第一次上传博客"
最后将更改推送至远程仓库
1
git push
这时会弹出一个窗口来登录你的GitHub账号,点击Sign in with your browser
授权登录之后,稍等片刻,出现类似下图的输出即为上传成功。
(如果仓库上传失败,可以尝试输入git push –force强制上传)
等待其构建网页,直到commit序号前的橙色小圆点变为绿勾即为构建成功可以访问。
添加评论功能
为了让你的博客得到及时的反馈,需要允许访客评论,可是Hexo是无后端博客框架,评论需要有后端功能,怎么办呢?这就要介绍一个无后端评论插件,名为Valine,其实现原理是连接别人的数据库,其实就是用了别人的后端!本文使用LeanCloud服务来作为评论数据库,这家开发用途使用永久免费,并且得到了Valine官方文档的支持!
检查主题是否支持Valine
方法一:检查官方文档:
进入Valine官网 https://valine.js.org/ ,点击文档左侧的“在Hexo中使用”,按下键盘上的 Ctrl + F 调出搜索框,输入自己主题的名字。如果搜到了,就代表主题支持Valine评论插件;如果没搜到,看第二种方法。
方法二:检查主题配置文件
打开位于 themes\主题名称\ 目录中的_config.yml,搜索”valine”,如果能搜到说明支持,如果搜不到就不支持,不支持的话就换个支持的主题。
安装Valine插件
在Git Bash中输入
1
npm install valine --save
注册LeanCloud账号
2022年8月1日起,LeanCloud国际版共享域名不对中国大陆提供服务,需要绑定自己的域名来解除此限制。如果你没有自己的域名,请魔法上网或使用国内版。如果你要绑定自己的域名,见本文章附加部分。
打开LeanCloud官网 https://www.leancloud.cn/ ,点击右上角“控制台”。
在登陆界面的右上角可以选择国内版(华东、华北)或者国际版,如果你不介意上方红字提到的国际版限制,建议使用国际版(国内版注册需要 手机号验证 以及实名认证 ,并且评论内容将会受到 言论审查 )
点击 “还没有LeanCloud账号? 点此注册” 来注册一个LeanCloud账号,国际版仅需进行邮箱验证。
验证完之后将会来的主页面,点击“创建应用”。
创建应用按下图操作,应用名称随便取
将LeanCloud应用连接至博客
创建完后,在应用管理面板中进入设置-应用凭证:
复制AppID和AppKey,将主题填入主题配置文件中的对应位置并更改评论引擎为Valine,最后如果主题有评论开关的,不要忘记打开。(冒号后面要留一个空格)
server_urls:如果你用的是国内版,直接将控制面板中的 Rest API 服务器地址填入就行了;如果你用的是国际版并且希望没有魔法上网也可以访问评论功能,见附加部分绑定自己的域名。
重新生成博客
Git Bash中依次运行:
1
2
3hexo clean
hexo g
hexo s浏览器打开 http://localhost:4000/ ,随便打开一个文章滑到最底下,就能看见评论填写框了。
GitHub Pages绑定自定义域名
绑定自己的域名来让你的博客域名更突显更好记
这里以Cloudflare为例:
进入域名管理—DNS,添加一条DNS记录,类型为CNAME,名称自己填(不要使用根域名),目标指向你的页面的原始域名如xtzyj.github.io,关闭代理,保存。
回到Github中,在pages仓库页面中点击右上角settings然后点击pages,找到Custom Domain框填写绑定的子域名如test.xtzyj.top,点击Save保存。
等待Github检查DNS,检查成功后等待差不多1到5分钟刷新网页,如果发现Enforce HTTPS的框框可以勾选了就勾上,此时你的页面就开启了https访问。