利用hexo和github搭建静态博客
安装nodejs
- 从官网下载安装
- 使用nvm
nvm install node # 安装最新版本
nvm use node # 使用最新版本 - 使用 curl 方式安装最新版本
curl -sL https://deb.nodesource.com/setup_current.x | sudo -E bash -
sudo apt-get install -y nodejs
设置hexo
- 安装
npm install -g hexo-cli
- 初始化
hexo init <folder>
设置Github
创建一个同名仓库。例如我的GitHub名字是kelinkong,新建一个仓库
kelinkong.github.io
将地址设置到delpoy
地址格式:
git@github.com:username/username.github.io.git
默认分支:
main
部署之前需要安装
npm install hexo-deployer-git --save
deploy:
type: git
repository: git@github.com:kelinkong/kelinkong.github.io.git
branch: main
更换主题
我这里使用的是maupassant主题。地址:https://github.com/tufu9441/maupassant-hexo
设置步骤:
git clone https://github.com/tufu9441/maupassant-hexo.git themes/maupassant |
在项目的_config.yaml设置中,将themes改为maupassant
部署和预览
hexo c && hexo g |
hexo常用命令
hexo init <folder> #初始化文件夹 |
注意:每一个分类和tag都需要建立对应的新目录和index.md文件
文章标识:
title: 文章标题 |
针对maupassant主题
- 修改logo:在主题的配置文件中,修改
avatar: /img/logo.jpg
- 如果需要识别Latex格式的公式,在文章index添加
mathjax: true
tips
如何在vscode中快速粘贴图片到markdown文档?
参考连接: https://juejin.cn/post/7244809769794289721
打开markdown.copyFiles.destination
设置,我这里是在_posts
文件夹下新建了一个img
文件夹专门用来存储图片。对应设置如下:
该配置是一个对象,key 使用 Glob 语法,表示匹配的 Markdown 文档;value 则表示所匹配的这些 Markdown 文档,它们的图片文件存放目录,可以使用一些简单的变量。
如何设置about me
hexo new page about
如何设置rss订阅
npm install hexo-generator-feed --save
图片无法显示
在vscode中预览是有图片的,生成和发布之后无法显示图片。
因为在源文件的 post 目录下新建了 img 子目录,然后在 markdown 中使用相对路径引用图片。
这在本地预览时可以正常显示,但是部署后会出错。
因为 Hexo 在生成时,会将 post 中的 markdown 和资源文件一起复制到 public 目录,相对位置不变。
但是 img 子目录不会自动复制过去。所以 public 中找不到 img 中的图片,导致无法显示。
解决方法: 将img重命名为imgs(因为会和主题的img文件夹命名冲突),然后将文件夹移动到source
目录下,而不是放在_posts
目录下,注意粘贴的设置也需要修改为imgs。