【0成本】使用Hexo框架搭建个人博客并托管至Github Pages
系统只因家 Lv114514

相关链接

视频资源

文件资源

本教程用到的所有文件资源: 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就行了。

image
image
image

 

安装Hexo

  • 创建文件夹

    创建一个博客文件夹,如blog

  • 使用npm安装Hexo

    打开这个文件夹,右键点击“Git Bash Here”,在打开的终端中输入

    1
    npm install hexo-cli -g

    稍等片刻,出现如图的输出即为安装成功。(下面是更新提示,与是否成功无关)
    image

  • 初始化Hexo

    安装完成后,在博客文件夹下输入

    1
    hexo init

    稍等片刻,出现如图输出即为成功。此时文件夹会生成Hexo文件。
    image

  • 生成博客网页

    初始化完成后,输入

    1
    hexo g

    稍等片刻,出现类似如图输出即为成功。此时Hexo会生成博客静态页面并放入public文件夹。

    image

  • 运行博客服务器

    生成完成后,输入

    1
    hexo s

    运行博客服务器。如果弹出防火墙提示,允许即可。

    打开浏览器,在地址栏输入 http://localhost:4000 即可打开博客网页。
    image

    但是这个博客是在本地运行的,只有本机和内网设备可以访问。

撰写文章

  • 新建文章

    在Git Bash中输入

    1
    hexo new "文章标题"

    注意文章标题不能包含特殊字符否则会报错。

  • 编辑文章

    打开博客目录下的source_post文件夹,使用MarkText打开【文章标题】.md文件。 image

    首先编辑md的头文件,在tags行输入空格,然后输入这篇文章的标签。

    如果要输入多个标签,标签之间以英文逗号隔开,然后整体用英文中括号括起来。

    1
    tags: [标签1,标签2]

    如果要给文章添加分类,换行,然后输入:

    1
    categories: 分类

    添加多个分类也是一样的格式:

    1
    categories: [分类1,分类2]

    image

    接着编辑正文内容。这时候使用MarkDown等md编辑器的优势就来了,这类编辑器不需要你掌握太多的md知识,使用和B站专栏差不多的编写方式就能编写md文件。比如再MarkText中输入@可以调出插入栏,可以嵌入代码、HTML或者标题表格等等。

    image

  • 发布文章

    保存退出后,在博客目录的Git bash中输入

    1
    hexo clean

    删除原有静态页面缓存,接着输入

    1
    hexo g

    重新生成博客静态网页,最后输入

    1
    hexo s

    运行本地博客服务器。

    浏览器打开 http://localhost:4000 就能看到新写的这篇文章了。

    image

更换主题

Hexo默认的Landscape主题是否的简陋以及难看,我们可以通过更换不同的主题来“装修”我们的博客。

  • 获取主题

    前往Themes | Hexo挑选一个主题,这里我使用Keep主题进行演示。

    点开主题的图片,进入主题作者的个人博客中后找到页面中的GitHub链接并进入。

image
image
image

下滑,在项目文档中找到使用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,但是会这么操作的也不可能看这篇文章吧()
    image

修改完配置文件后保存,然后重新生成博客文件并运行服务器:

1
2
3
hexo clean
hexo g
hexo s

浏览器打开http://localhost:4000
image

将博客托管至GitHub

为了体现出本文章的0成本特点,无法通过购买VPS来开设网站(除非使用 https://hax.co.idhttps://woiden.id 的免费ipv6 vps,但是极其不稳定,而且只有72小时),所以需要将代码托管至GitHub中实现搭建一个长期稳定免费的VPS。而Hexo是一个无后端博客框架,这意味着你可以将博客托管至静态网页托管平台,如 https://github.iohttps://pages.dev 中。这里我是用免费知名的Github Pages(github.io)来演示。

  • 注册GitHub账号

    进入GitHub官网 https://github.com ,点击右上角Sign Up注册账号。
    image

    注册时会让你填写邮箱、密码、用户名,最下面的是询问是否接受产品更新推广邮件,直接输入n拒绝即可。

    接着完成人机验证后,会让你验证邮箱,个性化直接跳过,验证完后等待其初始化,然后看到管理面板就说明注册完成了。

    image
    image
    image

  • 创建GitHub Pages仓库

    点击面板左侧的Create repository,在Repository name这里输入[github用户名].github.io,比如我的用户名是xtzyj我就输入xtzyj.github.io。

    image
    image

    创建完成后,你将会看见如上图的仓库初始页面。

  • 将Github Pages仓库克隆至本地

    复制Quick setup中的网址,在Git Bash中输入git clone [网址],比如:

    1
    git clone https://github.com/xtzyj/xtzyj.github.io.git

    稍等片刻后出现类似如图输出结果即为成功。
    image

    进入这个目录,目录名称因人而异:

    1
    cd xtzyj.github.io
  • 将本地文件上传到仓库中

    (下面这几张图复制到文件是错误的,因为我不小心复制成了博客根目录的文件)

    将博客根目录中的public文件夹中的所有文件复制到这个目录中。

    image

    接着将所有添加的文件记录到git中

    1
    git add --all

    接着向git声明你的身份

    1
    2
    git 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

    image

    授权登录之后,稍等片刻,出现类似下图的输出即为上传成功。

    (如果仓库上传失败,可以尝试输入git push –force强制上传)

    image

    image

    等待其构建网页,直到commit序号前的橙色小圆点变为绿勾即为构建成功可以访问。

添加评论功能

为了让你的博客得到及时的反馈,需要允许访客评论,可是Hexo是无后端博客框架,评论需要有后端功能,怎么办呢?这就要介绍一个无后端评论插件,名为Valine,其实现原理是连接别人的数据库,其实就是用了别人的后端!本文使用LeanCloud服务来作为评论数据库,这家开发用途使用永久免费,并且得到了Valine官方文档的支持!

  • 检查主题是否支持Valine

    方法一:检查官方文档:

    进入Valine官网 https://valine.js.org/ ,点击文档左侧的“在Hexo中使用”,按下键盘上的 Ctrl + F 调出搜索框,输入自己主题的名字。如果搜到了,就代表主题支持Valine评论插件;如果没搜到,看第二种方法。

    image

    方法二:检查主题配置文件

    打开位于 themes\主题名称\ 目录中的_config.yml,搜索”valine”,如果能搜到说明支持,如果搜不到就不支持,不支持的话就换个支持的主题。

  • 安装Valine插件

    在Git Bash中输入

    1
    npm install valine --save
  • 注册LeanCloud账号

    2022年8月1日起,LeanCloud国际版共享域名不对中国大陆提供服务,需要绑定自己的域名来解除此限制。如果你没有自己的域名,请魔法上网或使用国内版。如果你要绑定自己的域名,见本文章附加部分。

    打开LeanCloud官网 https://www.leancloud.cn/ ,点击右上角“控制台”。

    image

    在登陆界面的右上角可以选择国内版(华东、华北)或者国际版,如果你不介意上方红字提到的国际版限制,建议使用国际版(国内版注册需要 手机号验证 以及实名认证 ,并且评论内容将会受到 言论审查

    image

    点击 “还没有LeanCloud账号? 点此注册” 来注册一个LeanCloud账号,国际版仅需进行邮箱验证。

    验证完之后将会来的主页面,点击“创建应用”。

    image

    创建应用按下图操作,应用名称随便取

    image

  • 将LeanCloud应用连接至博客

    创建完后,在应用管理面板中进入设置-应用凭证:

    image

    复制AppID和AppKey,将主题填入主题配置文件中的对应位置并更改评论引擎为Valine,最后如果主题有评论开关的,不要忘记打开。(冒号后面要留一个空格

    image

    image

    server_urls:如果你用的是国内版,直接将控制面板中的 Rest API 服务器地址填入就行了;如果你用的是国际版并且希望没有魔法上网也可以访问评论功能,见附加部分绑定自己的域名。

  • 重新生成博客

    Git Bash中依次运行:

    1
    2
    3
    hexo clean
    hexo g
    hexo s

    浏览器打开 http://localhost:4000/ ,随便打开一个文章滑到最底下,就能看见评论填写框了。

    image

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访问。

image

附加:LeanCloud Rest API 绑定自定义域名

DPlayer
 评论
评论插件加载失败
正在加载评论插件