Hexo 博客与你 ——如何利用 GitHub 与 Hexo 搭建你的个人博客

361 22

前言

如果你还在忍受诸如新浪微博、腾讯微博等博客网站的臃肿,那你马上该读一读这篇文章了。

拥有一个你自己的博客网站,你可以:

  • 记录日常生活⏰
  • 写写学习笔记📋
  • 跟其他博客创作者们探讨写作🖊
  • 发电⚡

至于为什么写博客,上知乎搜一搜就有很多答案。我的语文老师说过一段话,我觉得很适合回答这个问题:

作文(划掉)博客是孩子们的一种创造,是一种优秀的表现,古人曾经靠的是一篇文章走遍天下。而如今,能写得一手好文章,也会受益终生。谢谢。

那不多废话,往下读开始你的博客生涯吧。

准备工作

在开始之前,你应该:

  • 有一台能访问互联网的,能正常工作的电脑。
  • 会使用搜索引擎。知道常用计算机术语并至少有初中的英语水平。
  • 会基础的文件操作。如复制、粘贴、下载和上传。
  • 有一个能正常使用的电子邮箱。如 QQ 邮箱。

另外,我非常建议使用加速器和 VPN。因为 GitHub 在中国没有服务器,使用 VPN 能让你快速访问网站。

搭建环境

务必按照顺序来安装!

Ⅰ 下载 git

git 官网下载对应的安装包:

安装好后在桌面 右键 → Open Git Bash here 输入 git --version 查看,这样显示就算安装成功了:

打开你下载 git 的目录,右键 git-bash.exe 选择[属性]并如下选择:

Ⅱ 下载 Node.js

Node.js 官网下载对应的安装包:

在 Git Bash 中输入 node -v,不报错即可。

环境配置参考这里

Ⅲ 安装 Hexo

在 Git Bash 中输入 (这一步换下载源,是为了后面下载不报错)。输入npm install -g hexo,等待完成后,输入hexo -v

更正:淘宝的镜像源已经修改为 https://registry.npmmirror.com,请参照本教程的朋友及时修正。

继续输入 npm install --save hexo-deployer-git安装依赖。

到这里,全部环境就搭建好了,下面是正式的搭建博客环节。

使用 git 生成 SSH key

如果你的用户名称中含有中文,这一步不建议在 Git Bash 中操作。Windows自带搜索框搜索cmd,右键→以管理员身份运行是更好的选择。

如果你到现在都没有自己的 GitHub 账户,就现在去注册一个并设置好用户名。

在 Git Bash 或 cmd 中输入ssh-keygen -t rsa -C "填你注册 GitHub 的邮件地址",按三次回车后,会像这样:

然后输入clip < ~/.ssh/id_rsa.pub,将刚刚生成的 SSH 密钥复制到剪贴板。如果是 cmd,就把~/.ssh/id_rsa.pub改成 id_rsa.pub 的绝对路径。

接着打开 GitHub 主页,点击个人设置,点击左侧的 SSH and GPG keys,点击 New SSH key。

将你的剪贴板里的东西复制进去,Title 随意取:

输入ssh -T [email protected]测试,接着输入yes,不报错即可。接着设置你的个人信息:

git config --global user.name "karlbaey101" # 你的github用户名
git config --global user.email "[email protected]" # 填写你的github注册邮箱

搭建博客

新建博客

开始之前先介绍一下 Hexo 的基本命令

hexo new "postName" # 新建文章
hexo new draft "draftName" # 新建草稿
hexo new page "pageName" # 新建页面
hexo generate # 生成静态页面至 public 目录
hexo server # 开启预览访问端口(默认端口4000,'ctrl + c'关闭server)
hexo deploy # 部署到GitHub
hexo help  # 查看帮助
hexo version  # 查看Hexo的版本

对应的缩写,比如:

hexo n == hexo new
hexo g == hexo generate
hexo d == hexo deploy
hexo s == hexo server

新建一个保存博客的存放目录,必须是空文件夹。比如卡尔白的是:E:\Karlblogs

在你的存放目录右键→ Open Git Bash here,输入命令hexo init

查看你的存放目录,里面应该出现了这些:

生成静态网页并预览: hexo g && hexo s 浏览器输入http://localhost:4000


报错解决: 问题:hexo g 报错,line.mathALL is not function 问题解决 原因:nodejs 版本低于12 解决:两种方法

  1. 请将 nodejs 升级到高于12.0.0的版本
  2. _config.yml 中的 highlight->enable 的值从 true 更改为 false,这样可以避免异常。

访问没问题了,接下来部署到 GitHub。

部署到 GitHub

注意: 此处需要一个新仓库(Repository),仓库名称格式:用户名.github.io。比如卡尔白的就是:karlbaey101.github.io

编辑_config.yml_config.yml在博客存放目录下:

deploy:
  type: git
  repository: [email protected]:Owner/Repo
  branch: main
  message: Commonly updation

repository 仓库地址改为自己的。branch 看自己的 GitHub 仓库是 master 还是 main,卡尔白这里是 main,所以就填写 main。message 填上你希望的提交信息。

发布到 GitHub,命令:hexo d

在浏览器访问:https://karlbaey101.github.io/

不出意外即可成功访问。

这个博客地址已经是部署到了公网中的 karlbaey.top,感兴趣的读者也可以访问。

编写博客

搭建好博客之后,日常中肯定是需要编写博客并且同步到 GitHub。卡尔白来带大家写一篇博客。

新建一篇名为Karl-first-blog的博客:hexo n "Karl-first-blog"

查看对应的文件夹:

可以看到生成了一个Karl-first-blog.md文件,通过这个 Markdown 文件去写博客。(这里用的是 VSCode 来编辑,也推荐用 Typora 或 Obsidian 等专用富文本编辑器来写)

默认的内容是这样的:

---
title: Karl-first-blog
date: 2025-02-10 23:47:31
tags:
---
这里开始编写正文(markdown 格式)

使用 markdown 格式编写好后,在博客存放目录右键→ Open Git Bash here,输入hexo g && hexo d,你的博客就被部署到网站上了。访问网站就能看到。

结语

到这里,你就应该会写博客和部署博客了,(如果有)下一期就告诉诸位怎么导入模板和网站操作。

完结撒花!🎇🎇🎇

脚注


1 后来在把博客扁平化的过程中,我把博客仓库更名为 Karlblogs,分支也从 main 改成了 master。这不影响使用。
一名纯的 Python3 爱好者,好困~纸箱 | 云盘 | 小作品 | 我终于有自己的域名啦!
最新回复 ( 22 )
  • 2
    1
    一离开部署时用的电脑,比如我只能用笔记本的时候就凉了......之前试过一次但是三个月没碰着电脑,终于还是买vps了(cf的kvblog也不是很好用)
  • 3
    1
    neko 一离开部署时用的电脑,比如我只能用笔记本的时候就凉了......之前试过一次但是三个月没碰着电脑,终于还是买vps了(cf的kvblog也不是很好用)
    所以我隔段时间就会备份,之后好在其他设备上继续部署。也算是没有VPS的弊端吧╮(╯▽╰)╭
  • 4
    1
    neko 一离开部署时用的电脑,比如我只能用笔记本的时候就凉了......之前试过一次但是三个月没碰着电脑,终于还是买vps了(cf的kvblog也不是很好用)
    我猜你可能需要备份ssh key(x
  • 5
    0
    如果有自己域名的话可以试试部署到Cloudflare Pages上,在国内访问体验要比GitHub Pages快得多。cf pages能直接绑定github仓库,无感迁移,超级友好 (=゚ω゚)ノ
  • 6
    0
    应该有些刚入门小白不会ssh链接github,一年前蛮多人问我这个
  • 7
    0
    柒泗 如果有自己域名的话可以试试部署到Cloudflare Pages上,在国内访问体验要比GitHub Pages快得多。cf pages能直接绑定github仓库,无感迁移,超级友好 (=゚ω゚)ノ
    vecel,netlify都不错,自定义域名,部署在边缘cdn,比cf快一丢丢。(ÒωÓױ)呃!!!!
  • 8
    0
    不是哥们,换了个自定义域名图片全崩了?还好我已经上传到萌盘备份了。
  • 9
    0
    呦呦鹿鸣 vecel,netlify都不错,自定义域名,部署在边缘cdn,比cf快一丢丢。(ÒωÓױ)呃!!!!
    我感觉还是GitHub page最快,有些地区甚至还是深绿的;Vecel是真的慢的不行…哪怕优选的依旧很慢
  • 10
    0
    滚来滚去……~(~o ̄▽ ̄)~o 。。。滚来滚去……o~(_△_o~) ~。。。
  • 11
    0
    GuGuan123 我感觉还是GitHub page最快,有些地区甚至还是深绿的;Vecel是真的慢的不行…哪怕优选的依旧很慢
    国内相当多地区都对Github有DNS污染和TCP阻断,可能你在某些沿海地区吧😭羡慕
  • 12
    0
    GuGuan123 我感觉还是GitHub page最快,有些地区甚至还是深绿的;Vecel是真的慢的不行…哪怕优选的依旧很慢
    Verve绑自定义域名后也这样嘛,Vercel的IP段还没有被完全阻断的
  • 13
    0
    呦呦鹿鸣 国内相当多地区都对Github有DNS污染和TCP阻断,可能你在某些沿海地区吧😭羡慕
    唉...没有办法,Github太开放了,所以我还是决定托管到cf上
  • 14
    0
    呦呦鹿鸣 国内相当多地区都对Github有DNS污染和TCP阻断,可能你在某些沿海地区吧😭羡慕
    是沿海,GitHub虽然经常会抽风,但是GitHub Page是真的很稳,几乎没有打不开的情况;从Page上下东西要比从Releases快太多了,裸连 10MB/s 轻轻松松
  • 15
    0

    Debian系的Linux 上前两步为简单的sudo apt-get install git nodejs npm 😁

  • 16
    0
    天影大盗 Debian系的Linux 上前两步为简单的sudo apt-get install git nodejs npm 😁

    可以看一下我的这篇文章

    安卓端部署及使用Hexo博客

    使用nvm进行npm的管理

  • 17
    0
    天影大盗 Debian系的Linux 上前两步为简单的sudo apt-get install git nodejs npm 😁
    winget install git nodejs
  • 18
    0
    Firgt 可以看一下我的这篇文章 安卓端部署及使用Hexo博客 使用nvm进行npm的管理
    安卓似乎直接用termux就行了,和linux一样简单也更高效,在安卓手机上弄个windows来干命令行的事我觉得没必要(`・ω・´)
  • 19
    0
    天影大盗 安卓似乎直接用termux就行了,和linux一样简单也更高效,在安卓手机上弄个windows来干命令行的事我觉得没必要(`・ω・´)
    不是windows啊,是美化了的Debian系统
    而且termux上搞Linux很烦
    tiny可以实现一键式安装系统
    详细可以看看这个
    https://github.com/Cateners/tiny_computer
  • 20
    0
    Firgt 不是windows啊,是美化了的Debian系统 而且termux上搞Linux很烦 tiny可以实现一键式安装系统 详细可以看看这个 https://github.com/Cateners/ ...

    哦,看起来太像Windows了⊙ω⊙,但弄hexo其实不需要桌面环境

  • 21
    0
    GuGuan123 我感觉还是GitHub page最快,有些地区甚至还是深绿的;Vecel是真的慢的不行…哪怕优选的依旧很慢
    vercel 我是绑cname-china.vercel-dns.com
    理论上看着延迟都还好
  • 22
    0
    天影大盗 Firgt 不是windows啊,是美化了的Debian系统 而且termux上搞Linux很烦 tiny可以实现一键式安装系统 详细可以看看这个 https://github.com/Cate ...
    哈哈,图形化好操作
    毕竟我是搞vs,ffdec的,电脑又在老家
    只能用平板来搞
  • 23
    0

    个人感觉还是netilify最快,其它托管平台在我的烂网下都是依托,当然netilify在我这里也很慢(cf pages日常抽风,github pages、vercel干脆打不开)

    我的博客:blog.mmoe.work

  • 游客
    24

    您需要登录后才可以回帖

    登录 注册

发新帖