CSGNAK的博客

【Hexo】如何快速建立你的Hexo博客

Word count: 1.4kReading time: 5 min
2021/07/26 Share

  上学期的时候,请教了某学长在 Windows 上搭建了一个文件分享的网站。但是现在换了 MacOS,Filezilla 登录不上原有的网站。所以这个暑假打算利用 github 做一个简易的博客记录生活以及代码学习。

Hexo的下载与安装

Hexo 是一个基于 Node.js 生成的快速、简洁且高效的静态博客框架。在搭建 Hexo 时,如果有问题,可以选择删掉博客所在的文件夹——这可比重新找问题所在快多了😂

安装Node.js

Node.js官网 上下载稳定版本的 Node.js,并直接安装。我的 Mac 用brew install node会出现一些无法正常显示版本的问题。在终端输入node -vnpm -v确定安装成功并查看版本。

安装Hexo

在全局安装Hexo,在终端输入:

1
npm install -g hexo-cli 

即可安装hexo。利用hexo -v进行版本检查。

国内npm速度慢的情况

由于无法“科学”上网的情况,我们需要利用 npm 下载 cnpm 帮助我们快速获取资源。

1
npm install -g cnpm --registry=https://registry.npm.taobao.org

个人感觉 cnpm 的下载代码更加高效。同样的在全局安装 Hexo:

1
cnpm -install -g hexo-cli

Hexo的初始化与连接

Hexo初始化

选中你期望写博客的文件夹。如果没有,可以利用mkdir 文件名新建所需的文件夹。从终端进入文件夹,输入:

1
hexo init		#初始化

Hexo 会自动下载,之后我们要在 github 上建立一个放置网站的仓库。

建立github仓库

如图所示,博客的仓库名称是你的 github 名称。

建立github仓库

hexo与github仓库的连接

初始化之后,可以在你期望写博客的文件夹找到文件 _config.yml 文件。可以直接打开,也可以在终端通过vim _config.yml指令打开编辑。将文件拉到最后,修改 # Deployment 部分如下:

1
2
3
4
5
6
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
branch: master
repo: https://github.com/yourgithubname/yourgithubname.github.io.git

如果用指令编辑,编辑后按esc+:wq+Enter强制退出。之后可以利用 Hexo 的常用指令进行编辑了。

首先利用hexo s指令启动本地服务器,之后点击http://localhost:4000/进行本地化的查看。按crtl+c退出本地服务器。之后利用hexo g指令生成网站静态文件到默认设置的 public 文件夹。最后利用hexo d部署到设定的仓库。通过访问https://yourgithubname.github.io就可以访问你的博客了。

Hexo的部分常用指令

1
2
3
4
5
6
7
8
hexo n "文章名"	#== hexo new "文章名" == hexo new post "文章名"
hexo p #== hexo publish
hexo g #== hexo generate 生成网站静态文件到默认设置的 public 文件夹。
hexo s #== hexo server 启动本地服务器,用于预览主题
hexo d #== hexo deploy 自动生成网站静态文件,并部署到设定的仓库。
hexo d -g #== hexo deploy --generate
hexo g -d #== hexo generate --deploy
hexo clean #清除缓存文件db.json和已生成的静态文件public

有时hexo d无法成功发送到 github 库,使用hexo clean之后再发送有奇效。

Hexo的部分拓展功能

更换主题

在 github 上搜索 hexo-theme,能搜到上千条内容。选中自己喜欢的主题并且下载到你期望写博客的文件夹。在 _config.yml 文件中找到 theme,将初始化的主题 landscape 替换成你想要的即可。我的博客采用的是这个模版,推荐一下QvQ。

常见问题

友链中有关建设网站的博客

这就是一个无限套娃的过程 (逃)。Anyway,里面的干货很多。

[1]叶神的博客[2]许老师的博客

SSH不支持问题

[9月13日更新]命令行报错内容:

1
2
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.

Github 从 2021 年 8 月 13 日不再支持用户名和密码的验证方式,要转而使用 personal access token。

在 github 进入 settings - Developer settings - Personal access tokens,新建一个 token,在hero d输入邮箱的位置填入生成的 token 密钥,即可解决。

hexo d指令连接github失败

[9月13日更新]命令行报错内容:

1
Failed to connect to github.com port 443:connection timed out

我这里是因为没有好好关代理服务器造成的。

解决方法:

1
2
git config --global http.proxy http://127.0.0.1:1080
git config --global https.proxy http://127.0.0.1:1080

取消全局代理:

1
2
git config --global --unset http.proxy
git config --global --unset https.proxy

hexo无法显示$\LaTeX$公式

[9月13日更新]可以通过安装 hexo-math 插件来解决这一问题,该插件支持 MathJax 和 KaTeX 来实现$\LaTeX$排版系统。进入博客目录,安装 hexo-math:

1
npm install hexo-math --save

卸载默认 markdown 渲染引擎 hexo-renderer-marked;若不卸载,会和新的引擎发生冲突。安装新引擎 hexo-renderer-kramed。

1
2
npm uninstall hexo-renderer-marked --save
npm install hexo-renderer-kramed --save

之后需要修改 kramed 配置来解决语意冲突。打开文件: /blog/node_modules\kramed\lib\rules\inline.js,修改第 11 行和第 20 行。

1
2
escape: /^\\([`*\[\]()#$+\-.!_>])/,			//11 行
em: /^\*((?:\*\*|[\s\S])+?)\*(?!\*)/, //20 行

之后回到博客根目录打开 _config.yml 文件,在末尾增加对 MathJax 的支持。

1
2
3
4
5
# MathJax
math:
engine: 'mathjax'
mathjax:
src: https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX-MML-AM_CHTML `

经过以上所有设置后,重启 Hexo ,让各种设置生效。参考链接:[1]博客-ninja

CATALOG
  1. 1. Hexo的下载与安装
    1. 1.1. 安装Node.js
    2. 1.2. 安装Hexo
    3. 1.3. 国内npm速度慢的情况
  2. 2. Hexo的初始化与连接
    1. 2.1. Hexo初始化
    2. 2.2. 建立github仓库
    3. 2.3. hexo与github仓库的连接
    4. 2.4. Hexo的部分常用指令
  3. 3. Hexo的部分拓展功能
    1. 3.1. 更换主题
  4. 4. 常见问题
    1. 4.1. 友链中有关建设网站的博客
    2. 4.2. SSH不支持问题
    3. 4.3. hexo d指令连接github失败
    4. 4.4. hexo无法显示$\LaTeX$公式