搭建Hexo博客部署到GitHub上(2022)

参照官网的文档进行安装和部署

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

hexo官网:https://hexo.io/zh-cn/

官方文档教你在mac/windows/Linux上搭建hexo博客:https://hexo.io/zh-cn/docs/

主要步骤

安装git,安装NodeJS长期版,安装hexo, 注册GitHub并创建一个特殊仓库(命名相同)

详细教程

安装Git,直接去官网安装

Git - Downloads (git-scm.com)

安装nodejs,直接去官网安装

https://nodejs.org/

打开cmd命令流窗口

npm -v

查看npm的版本号

结果失败了,提示npm版本太低

根据提示先升级一下npm到8.5.2版本

npm: NodeJS的包管理器,用于node插件管理(包括安装、卸载、管理依赖等)

用cnpm安装HEXO博客框架

利用npm来安装cnpm(因为cnpm比较快!指向淘宝的镜像源)

npm install -g cnpm --registry.npm.taobao.org

cnpm install -g hexo-cli

用HEXO搭建博客

新建一个空文件夹不妨叫blog(我怎么知道的呢?我一开始直接敲完,然后j警告提示要建一个空的folder)

hexo init

初始化hexo博客

安装完成了

提示start blogging with hexo!(开心!!)

启动Hexo

首先命令窗口进入到hexo根目录

cd e:

cd holder/blog

输入:

hexo s

显示如图说明在本地localhost:4000端口顺利启动了

在网页输入这个端口地址就可以看到刚建起来的个人blog了!可以看到里面初始化生成了一篇HelloWorld的博客,里面介绍了hexo的一些指令。

写下第一篇Blog

然后你可以创建你自己的第一篇blog了

命令窗口进入hexo根目录然后输入:

hexo new "我的第一篇blog"

就会创建一个名为"我的第一篇blog"的markdown文件(.md),往后写blog也都是用这种md格式的文档。

  • [ ] 推荐学习一下markdown语法,用于写md文档。这是一种广受技术人员喜爱的文档格式,确实很好用,语法也很简单。编辑工具可以下载一个Typora。

然后打开hexo根目录,打开我的"第一篇blog.md",写完然后保存

后续创建博客 可以自己用vs或者其他工具写博客,注意是md文件,放到这个文件夹里就行。可以新建一个text,把扩展名改成.md

写好了。然后运行hexo

hexo s

进网页输入这个端口进入就是刚创建的个人博客了!

里面有一篇默认生成的hello word和刚刚自己创建的blog

部署到远端

把博客从本地部署到远端!部署到github上,让全世界人都可以查看。

1,在github上创建一个存储库命名为:“github用户名”+“.github.io”

命令窗口用cnpm或npm安装一个git配置工具

npm install --save hexo-deployer-git

打开blog文件夹里的_config.yml文件,这是一个hexo的配置文件,里面可以修改title等大多数配置。

用vs可以打开,然后修改配置

github似乎取消了http远程访问权限,只支持通过ssh访问了。

2,将_config.fml文件的配置改了一下,把https改成了ssh公钥,branch改成了main。

这些跟你的github账号有关,github现在版本建立repository branch默认都是main了。

ssh公钥在github主页的setting里面创建。用git连接github的仓库时就要用到的,我这里密码就是之前用git向远程push代码时创建的。

3,然后在命令窗口将博客部署到远端

Hexo g -f (相当于hexo clean 再hexo g,清理缓存,发布网站)

Hexo d

然后就成功啦!

成功送到远程github的仓库了

问题

每次都要输入密码很麻烦

去git bash.exe(安装完Git就会有这个工具)里配置一下你的身份 就不用每次输入github的账号密码了

git config --global user.name "你的github用户名"


当输入hexo s -g发布博文并预览时出现下面的提示:

1
YAMLException: can not read a block mapping entry; a multiline key may not be an implicit key at line x, column y:

报错信息是提示hexo的yml配置文件

冒号后面少了空格,补上即可


有篇博客突然导致报错

C++这样的命名似乎允许,改名后就行了