本文所提及的博客框架以及托管平台,您可以依据自己爱好替换,但本文并不会介绍其他框架以及平台的使用方法

本文的一些术语以及介绍可能不专业,欢迎大佬纠错补充

这里是 MqyGalaxy~

如果您想拥有一个自己的网站,但又执着与经济上的问题,那么您可以考虑使用 Hexo 与 GitHub Pages 来搭建一个静态博客

# 前言

# 搭建博客的初衷?

为什么要搭建博客?因为看到其他大佬的博客心动?还是为了分享自己的生活?亦或者是为了自己的爱好?
这些都可以成为博客的初衷,你可以在博客上写含有技术性的文章,或者分享自己的爱好和生活,也可以是一个项目或者其他文章

比如我的博客,起因是看到了大佬的博客感到心动,之后由一些爱好的推动而尝试自己搭建
一开始我的博客没有使用任何博客框架,全靠自己手打 css/js 文件,不会就学习别人的。但是终于还是发现,这样既不便管理,又不便使用
之后又听说到许多大佬使用 Wordpress 搭建个人博客,很遗憾的是当我准备好且打算替换原来的静态博客时,这高昂的价格挡住了我一个学生党的道路

但是,直到最后,听到了使用 Hexo 这样的静态博客框架来搭建博客非常实惠,这条道路简直是完美实现了我搭建博客的想法

到了现在,你所看到的博客就是 Hexo 与 markdown 渲染后,由 GitHub Pages 发布后的成果

# 为什么选择使用 Hexo 等类似的静态博客框架?

首先,让我们了解一下什么是静态网站
静态网站是指全部由 HTML 代码格式的静态页面页面组成的网站,无论是否被访问都是一个独立存在的文件,但没有数据库的支持,制作与维护的工程量较大,交互性较差,在功能方面有着很大的限制

而动态网站,它会因为变量的改变而产生不同的网页,交互性强,功能限制少,拥有后台数据库。
现在的许多网站都是动态网站(如 bilibili、萌娘百科或者一些博客等),但是,虽然维护的工程量减少了,但相对应的维护成本提高了不少。

而这就是我们为什么选择静态博客框架,它大大降低了维护成本(甚至可以白嫖),而且可以依靠插件实现动态网站所拥有的一部分功能(包括但不限于评论、搜索等)
但请注意,这不代表使用了静态博客框架就可以媲美动态网站,动态网站能实现的功能大大超过了静态网站
但是作为博客,静态博客框架已经足够满足我们了;当然,如果您有足够的能力还是可以去尝试动态网站制作。

说回使用静态博客框架的好处,除了成本低以外,相比于原本的没有框架的静态网站来说,管理也十分简单,比如在基于 markdown 插件下您可以去除那些繁琐的代码来快速撰写自己的文章
而且您也可在网上搜索(如 Hexo 官方主题页面)其他人公开发布的免费主题来装饰自己的网站

# Hexo 介绍

除了 Hexo,您也可以选择使用其他的静态博客框架

Hexo 是一款基于 Node.js 的静态博客框架,依赖少易于安装使用,可以方便的生成静态网页托管在 GitHub 和 Heroku 上,是搭建博客的首选框架
而且官网支持中文,一些文档细节您都可以使用中文阅读

# GitHub 以及 GitHub Pages 介绍

除了 Github,您也可以选择使用其他平台托管

GitHub ,是大型同性恋交友平台通过 Git 进行版本控制的软件源代码托管服务平台
关于 GitHub 与 Git 的其他功能与用法在此不多提,我们只需要了解他所提供的 GitHub Pages 网页托管服务

GitHub Pages 可以存放以及托管您的博客,一般使用 github.io 的子域名,当然您可以替换使用第三方域名(您购买的自定义域名)
GitHub Pages 存在一定限制,但由于微软收购,他已经极大满足了个人博客需求真是太好用了!

  • 发布的 GitHub Pages 网站不得超过 1 GB。
  • GitHub Pages sites have a soft bandwidth limit of 100GB per month.
  • GitHub Pages sites have a soft limit of 10 builds per hour.

# 使用前准备(安装环境准备)

浏览器强烈建议使用 Chrome,在英文文档翻译以及错误排查有很大的帮助,而且速度也快许多

您需要准备好使用环境才可以安装使用 Hexo

# 编写工具

我使用的 Notepad++ ,因为这个工具是最轻便的,至于什么工具需要你自己挑选

# 创建 GitHub 仓库

前往Github官网注册 / 登陆自己的 GitHub 账号,在此不会多提

登陆完毕后,点击右上角的 + 号,再点击 New repository 创建新的仓库
仓库名应该设置为: 你的GitHub用户名.github.io

如果您的仓库名不是叫 用户名.github.io ,您部署的网站将会部署到 用户名.github.io/仓库名 而不是 用户名.github.io

描述你可以选择不填,但是仓库必须选择公开状态 Public

下面三个选项 RADEME.md.gitignore许可证 ,可以先不选择

创建完毕后你可能处于一个选项页面,是因为你的仓库没有任何上传文件,但仓库已经存在(您可以选择创建或者引用其他仓库,在此不会多提)

# 安装 Git 并绑定 GitHub 账号

您需要使用 Git 完成本地同步 GitHub 的仓库

Git 官网安装根据自己配置需求安装相应版本

安装完毕后,在命令行( cmd 或者 powershell )输入 git 测试是否安装成功
如若安装失败,请查看其他 Git 安装教程

安装成功后,您需要将 Git 绑定 GitHub 账号:
鼠标右键或者菜单搜索打开 Git Bash (鼠标右键为 Git Bash Here 在此路径打开,不影响以下操作)
设置 user.nameuser.email 的配置信息,分别输入后回车:

配置信息
git config --global user.name "你的GitHub用户名"
git config --global user.email "你的GitHub注册邮箱"

绑定后生成 ssh密钥 文件:

密钥文件
ssh-keygen -t rsa -C "你的GitHub注册邮箱"

默认不需要设置密码
生成 ssh 文件后,git 会直接给出 .ssh 文件夹所在路径 C:\Users\用户名\.ssh
打开 .ssh 文件夹找到 id_rsa.pub ,复制里面的全部内容
最后打开 GitHub ,点击右上角个人头像后点击 Setting 进入设置界面再点击 SSH and GPG keys
点击 New SSH key 新建
title 任意填写,将你复制的内容粘贴至 Key 中,点击 add SSH Key 添加

Git Bash 中输入 ssh git@github.com 检测公钥设置是否成功
如若出现 Hi 你的用户名!You've successfully authenticated…… 的说明即为成功
设置密钥可以让你在使用 Git 上传时省去输入账号密码验证的过程

# 安装 Node.js

因为 Hexo 基于 Node.js 环境的因素,您还需要下载安装 Node.js
Node.js 官网安装根据自己配置需求安装相应版本
安装 Node.js 会包含环境变量以及 npm 的安装
在命令行输入 node -v 来检测 Node.js 是否安装成功,显示相应版本即为安装成功
输入 npm -v 来检测 npm 是否安装成功,显示相应版本即为安装成功

至此,恭喜您完成全部安装 Hexo 的前置环境搭建

# 安装 Hexo

Hexo 是作为我们整个静态博客的框架
首先在电脑中新建一个文件夹,取名随意(最好是在自己已经规划好的路径,比如 D:\Blog\MyBlog

打开新建文件夹,在文件夹上方的路径栏里输入 cmd 或者 powershell 在该路径中打开命令行

使用 cmd 或者 powershell 都可以做到命令行的作用,在这里推荐使用 powershell , 以下将简称为命令行

在命令行中输入 npm 命令安装 Hexo

npm安装Hexo
npm i -g hexo-cli

在这里将 install 缩写成 i ,您也可以输入 install
Hexo 安装可能需要一段时间,中途可能出现几个报错,可以先无视它

安装完成后,在命令行输入 hexo -v 验证是否安装成功
如若显示版本等各项信息即为安装成功

随后在命令行输入 hexo init 初始化文件夹,接着输入 npm install 安装必备的组件

至此 Hexo 安装完毕

# Hexo 的使用以及博客的发布

以下所有命令都在命令行执行,路径为博客根目录

# hexo 常用命令

首先要了解 Hexo 的常用命令

Hexo常用命令
hexo n "xxx" = hexo new "xxx" # 新建名为 xxx 的文章
hexo g = hexo generate # 生成静态网站文件
hexo s = hexo sever # 启动服务本地预览
hexo d = hexo deploy # 部署博客
hexo clean # 清除缓存,一般网站正常则不会使用

下面会一一讲解:

# 站点配置文件 _config.yml

_config.yml 是您的博客的配置文件,位于根目录,在这里可以设置博客的基础信息以及插件指令

\themes\主题名\_config.yml 为主题配置文件,注意一定不要混淆

# 本地预览

输入 hexo g 生成静态网页,再输入 hexo s 打开本地服务器预览
默认本地服务器路径为 localhost:4000 在浏览器中打开就可以看到 Hexo 默认的博客样式了

如果本地服务器启动失败,可能是因为端口占用的原因,输入 hexo s -p 5000 修改端口为 5000 并启动

如需关闭,在命令行中按下 Ctrl + C

# 推送网站

如果您的网站一切准备就绪,是时候将网站部署在 GitHub 上了

首先打开站点配置文件 _config.yml 并找到 deploy 项,一般都在最后
将其修改为

Hexo推送设置
# 以下格式可能不符,建议手动添加
deploy
  type: git
  repo: git@github.com: 用户名 / 仓库名.git # 仓库地址
  branch: master

保存站点配置文件

上传前需要安装 Git 部署插件,输入命令

npm安装Hexo-Git部署插件
npm i hexo-deployer-git --save

安装完毕后分别输入命令

Hexo推送指令
hexo clean # 可以忽略,更换主题或者出现问题可以尝试执行该命令
hexo g
hexo d

输入 hexo d 后,网站就会由 Git 插件上传至 GitHub 仓库
在仓库中点击 setting 进入仓库设置界面(请勿点入个人账户设置界面 = =)
GitHub Pages 选项中,将 Branch 设置为 master , /(root) 保持根目录不变
点击 save 保存,刷新后就会显示正在部署网站了
部署完毕后,在浏览器输入自己的域名 https://你的GitHub用户名.github.io 即可访问你的博客了!

至此,基础的博客部署已经成功了

# 更换主题

我们不可能就使用 Hexo 自带的默认主题
在 Hexo 官网的Themes专区,有许多用户自制的开源 Hexo 主题
您可以找到并根据主题介绍文档下载并配置自己喜欢的主题,在这里不会具体介绍
主题应安装在 \themes
安装主题后,记得将站点配置文件 _config.ymltheme 项修改成您安装的主题名称
当然,如果您有能力可以魔改甚至自制主题

一般来说,主题会自带插件(如评论、搜索等),您需要使用 npm 下载相应插件,主题的介绍文档也应该列出了插件下载地址
如若在主题方面出现问题,请去寻找主题作者询问或者提议

修改完成后保存,在使用相同的方式上传到 GitHub 仓库即可

# 撰写文章

安装完 Hexo 后,Hexo 会自动在文件夹 \source\_posts 中生成一个名为 hello world.md 的文件
这个文件就是 Hexo 自动帮你生成的第一篇文章,里面写的是 Hexo 的初始指令

_posts 就是你以后写文章所放置.md 文件的地方, .md 后缀的文件即是 markdown 文件,是你写完的文章文件
markdown 是你写文章所使用的语法,具体写作方法请自行搜索
如果您写过 wiki 的话应该会更好理解,大部分 wiki 与博客等网站都是使用 markdown 语法
如果你要新建文章,在命令行输入:

Hexo新建文章
hexo n post "xxx"

就会在 _post 目录下新建一个名为”xxx“文章了

如果你在 _post 中已经生成了文章,写新文章时不想使用 hexo n ,可以直接复制旧文章到 _post 中加以修改

文章写完后保存,在使用相同的方式上传到 GitHub 仓库即可

使用不同的主题,相关文章配置路径也会不同,请仔细阅读主题配置文档

# 更换域名

如果您有能力且想要属于自己的个性化域名,您可以购买域名来使用到自己的博客上

购买域名请自行购买,最好在靠谱的交易域名商处购买域名
最好不要购买使用免费域名,因为域名商可能不会保证域名的使用权利,而且一些博客的友链也不会收录免费域名
域名不能买断且价格不同,比如 .com 的价格偏高,且每个域名商提供的价格也不同
购买域名后需要代理商解析域名,如果是国内购买的域名则需要进行备案,在此不详细说明

如果你已经准备好后,在仓库设置的 GitHub Pages 中的 Custom domain 项中填入自己的自定义域名并保存
建议打开强制 https Enforce HTTPS 来保证自己的网站安全
github.io 会固定开启强制 https

所以如果没有能力最好就使用 github.io ,既不会被歧视也好用,就是不怎么好看 = =

# 自定义域名补充

当你从本地 hexo d 上传本地文件后,发现域名从自定义域名变回了 GitHub 域名。
\source 中新建一个名为 CNAME 的文件 (无后缀),并在里面写入自己的自定义域名。
最后再次上传就可以了

# 最后

部署一个 Hexo 框架的静态博客其实非常简单,但很多想要尝试的小白萌新看到这么繁杂的过程,觉得非常麻烦就放弃了,其实这个过程上手后你会觉得非常简单的 = =
如果有任何问题 / 错误 / 补充请在评论区回复,我会看到并回答 / 纠正 / 补充的!
希望这篇文章能够帮到你~

更新于 阅读次数