身为低保户还要写博客是不是搞错了什么

身为低保户还要写博客是不是搞错了什么

六月 29, 2021

没有枪(指域名),没有炮(指服务器),只有一杆冲锋号(穷学生一个)。该如何搭建一个属于自己的博客?

个人建站明显不可能了,而又想定制外观、乱折腾的话,其实也就只剩 博客园 和 Hexo 两个选择了。

最终我选择了在 GitHub Pages 上搭建基于 Hexo 的静态网页博客,主要原因还是希望能多折腾,否则博客园无疑是个更好的选择。接下来本文就会详细介绍下如何使用 Hexo + Github 搭建博客的过程。

简介

image-20210705115752219

什么是 Hexo?

Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。

什么是静态网页

本人的理解是:静态网页并非静止不动的网页,而是指除了通过 URL 获得网页信息就没有其他方法与服务器交互的网页。

什么是 GitHub Pages

GitHub Pages 是由 GitHub 官方提供的一种免费的静态站点托管服务,让我们可以在 GitHub 仓库里托管和发布自己的静态网站页面用于介绍和宣传自己的项目。

什么是 GitHub Pages + Hexo?

即将 Hexo 生成的静态网页部署在 GitHub Pages。我不太清楚 GitHub 官方对用户蹭服务器写博客的态度如何,但从大量采用这个方式的个人博客和 Hexo 官网的介绍来看,这一行为最起码是被长期默许的。整个过程如下图

Hexo-GitHubPages

  • 优点:完全免费;可自由选择主题外观;静态网页;维护稳定
  • 缺点:相比动态博客,发文不够便利;Github 在国内访问日常性抽风

如何使用 GitHub Pages + Hexo?

环境

  • Node.js :Hexo 基于 Node.js,并使用 npm 安装 (Node.js 自带)
  • Git :部署到 GitHub Pages 上,同时 Hexo 自身也需要 Git 来下载

GitHub

  1. 没有账号先注册 GitHub 账号,CMD 输入以下指令,用于设置用户名和邮箱(GitHub 账号所使用邮箱):
1
2
git config --global user.name "GitHub 用户名"
git config --global user.email "GitHub 邮箱"
  1. 创建并添加 SSH 密钥(为了 GitHub 服务器验证身份,从而使得 Hexo 可以自动 Push),CMD 输入以下指令 :
1
ssh-keygen -t rsa -C "GitHub 邮箱"

一路回车,最后在 C:\Users\用户名\.ssh 目录(要勾选显示“隐藏的项目”),用记事本打开 id_rsa.pub,并复制内容,在 GitHub 网页上的个人设置中添加 SSH keys,将之前复制的内容添加进去。

  1. 最后在 CMD 内输入:
1
ssh -T git@github.com

显示 “Hi xxx! You’ve successfully……” 则成功。

  1. 创建一个 GitHub 仓库(public)用于发布博客。

Hexo

创建一个文件夹,该文件夹用于你日后本地原文件的存储,然后 CMD 内 cd 到该文件夹下,并输入以下指令:

1
2
3
4
5
npm install -g hexo-cli  # 安装 Hexo
hexo init # 初始化
npm install # 安装组件
hexo g # 生成页面
hexo s # 启动预览

然后访问 http://localhost:4000 ,出现 Hexo 默认初始化界面。

image-20210707005908359

Hexo + GitHub Pages

首先安装 hexo-deployer-git,Hexo 用于部署到类GitHub网站上的插件(Gitee 也可以,似乎能解决国内访问困难的问题):

1
npm install hexo-deployer-git --save

然后修改全局 _config.yml 的 deploy 项如下:

1
2
3
4
deploy:
type: git
repository: git@github.com:用户名/仓库名
branch: main # 网上有些老教程写的 master,但是Github早就因为政治正确把默认分支的名字改名了

使用

以后每次要发布新文章或者修改就,

1
hexo new "<name>"     # 新建文章

然后 source 文件夹中会出现一个 \.md 文件,就可以使用 Markdown 编辑器在该文件中撰写文章了,

1
2
hexo g                # 生成页面
hexo s # 本地预览

http://localhost:4000 打开预览,没有问题就可以部署了。

1
hexo d                # 部署

主题

本博客使用的主题为 hexo-theme-diaspora ,具体方法参考该链接。

这个主题也可以说是比较小众又年久失修,使用的主要原因就是审美契合,然而实际用起来真是哪哪哪都有问题。如果需要功能完善的主题,可以选择 NexT 更受欢迎的主题。

略微可能的 todo-list:

  1. 统计网页访问量等;
  2. 音乐音量调节功能;
  3. 漂浮且不会把文章挤到边上的 TOC ;
  4. 支持更多的 Markdown 第一方及第三方语法。