欢迎使用 Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

原则

|简   Simple                           |效   Useful                                   |要  Important

基本指令

Create a new post 新博客创建

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment

常用流程

更新后调试

更新内容或修改butterfly下_config.yml文件,然后clean 然后g 然后s,也就是:

1
hexo clean &&hexo g && hexo s

注意:

1.node这类都可以动态热更新,也就是小改动直接刷新页面,不用重新执行指令;

2.&&有些终端不适用于连接命令

更新并部署

更新内容或修改butterfly下_config.yml文件,清除并重新生成public下文件,然后部署

1
hexo clean &&hexo g && hexo d

模板修改

scaffolds文件夹是模板文件夹,里面存放了3个模板文件,依次是草稿模板,页面模板和文章模板。

1
2
3
├── draft.md
├── FASTPANEL
├── post.md

当我们使用hexo命令生成草稿、页面或者文章的时候,就是复制这些模板。
我们以文章模板为例进行说明。默认post.md内容为空,头部信息如下:

1
2
3
4
5
---
title: {{ title }}
date: {{ date }}
tags:
---

如果我们想所有新生成的文章都带上分类字段。我们可以修改post.md的头部。我们给头部添加了categories字段。

1
2
3
4
5
6
---
title: {{ title }}
date: {{ date }}
tags:
categories:
---

这样我们使用hexo new a 生成a.md文章的时候,a.md文章顶部都会带上categories字段。

1
2
3
4
5
6
---
title: a
date: 2022-04-01 16:57:55
tags: Hexo
categories: Hexo
---

新项创建

创建新的子网页

1
hexo new page XXX

比如book\categories\tags等,例如

1
hexo new page book

然后会在source文件夹下多一个对应的文件夹,编辑里面的index.md即可


插件:音乐、GITdeploy时候自动部署

个性化:修改butterfly主题下config文件

TODO:cheatsheet

问题:修改大小写后部署出问题,路由大小写敏感

参考:

Hexo 部署到 Github Pages 文件夹大小写问题 // Yizhao He’s Notes (1mhz.me)

hexo 分类或标签单词开头大写出现404-腾讯云开发者社区-腾讯云 (tencent.com)

在本地没有发现问题,但是一部署就发现有个博客打不开,手动修改网址大小写就打开了,根据上面两个博客,修改 .deploy_git/.git/config文件中ignorecase = true 改为= false,如果VSCODE或文件管理器没有文件夹,只是隐藏了而已

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
(base) PS C:\Hexo-Blog\blog-demo\myblog\.deploy_git> git push
fatal: The upstream branch of your current branch does not match
the name of your current branch. To push to the upstream branch
on the remote, use

git push git@github.com:Mr-brillianter/Mr-brillianter.github.io.git HEAD:main

To push to the branch of the same name on the remote, use

git push git@github.com:Mr-brillianter/Mr-brillianter.github.io.git HEAD

To choose either option permanently, see push.default in 'git help config'.

To avoid automatically configuring an upstream branch when its name
won't match the local branch, see option 'simple' of branch.autoSetupMerge
in 'git help config'.
1
git branch

显示我在main,github主branch是master,本来想拉取或者new branch的,但不知道为什么又push好了

Hexo使用插件hexo-pdf插入pdf

插入特点:该pdf是可下载的(肯定可下载,只是难度问题,没打水印吧;pdf理论上等同图像格式,如果可以按页插入,也是图像形式可下载/爬取)

1
npm 

插入方法:
1.在文档中插入代码,例如:

1
{% pdf ./MINILM.pdf %}

2.将pdf文件移入,关键是pdf路径,上述路径是在public/发布日期/博客标题名 文件夹下,跟index.html在相同路径。

案例:

报错:Nunjucks Error,[Line 92, Column 138] unexpected token: 双括号误用

原因:hexo对于双括号parsing会有问题,我误以为是我手抽把hexo g写成了npm g,结果后者等同npm install g即全局安装依赖,问题不大

1
2
3
4
5
6
7
8
9
10
11
12

FATAL Something's wrong. Maybe you can find the solution here: https://hexo.io/docs/troubleshooting.html
Nunjucks Error: _posts/Vue-1.md [Line 92, Column 138] unexpected token:
===== Context Dump =====
=== (line number probably different from source) ===
87 | <!--code12-->
88 | <p>需要注意的是,使用变量要用this.来指定。这里使用的是及时定义的函数</p>

===== Context Dump Ends =====
at formatNunjucksError (C:\Hexo-Blog\blog-demo\myblog\node_modules\hexo\lib\extend\tag.js:173:13)
at C:\Hexo-Blog\blog-demo\myblog\node_modules\hexo\lib\extend\tag.js:249:29

有md格式不对:sertionError [ERR_ASSERTION]: T

AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value:

assert(cache[index])

不知为何,还是原因,还是有md格式不对

npm 重装后butterfly主题下yml更改导致还原默认主题样式

解法:请参照butterfly主题的用法,将node_modules\hexo-theme-butterfly_config.yml修改成自己个性化后的.yml