hexo基础环境搭建

https://zhuanlan.zhihu.com/p/102592286

1. 创建一个新的md文件

1
$ hexo new "title"

该命令默认会在source/_posts下创建一个title.md文件

2. 本地测试

1
$ hexo server

3. 生成静态html文件

1
$ hexo generate

or

1
$ hexo g

4. 发布并上传到github

1
$ hexo deploy

or

1
$ hexo d

如果hexo d执行失败,如果开了vpn或者代理,可能需要打开一个新的bash界面再次尝试执行该命令,因为老的bash可能使用了老的代理设置,需要打开一个新的bash刷新一下

1
2
3
4
5
6
7
开启代理软件后
设置代理
git config --global http.proxy 127.0.0.1:7890
git config --global https.proxy 127.0.0.1:7890
取消代理
git config --global --unset http.proxy
git config --global --unset https.proxy

安装hexo-renderer-markdown-it渲染器

参考:https://github.com/hexojs/hexo-renderer-markdown-it

1
npm install hexo-renderer-markdown-it --save

配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
markdown:
preset: 'default'
render:
html: true
xhtmlOut: false
langPrefix: 'language-'
breaks: true
linkify: true
typographer: true
quotes: '“”‘’'
enable_rules:
disable_rules:
plugins:
anchors:
level: 2
collisionSuffix: ''
permalink: false
permalinkClass: 'header-anchor'
permalinkSide: 'left'
permalinkSymbol: '¶'
case: 0
separator: '-'
images:
lazyload: false
prepend_root: true
post_asset: true
inline: false # https://markdown-it.github.io/markdown-it/#MarkdownIt.renderInline

5. 插入图片

修改_config.yml中的配置,增加:

1
post_asset_folder: true

当该配置被应用后,使用hexo new命令创建新文章时,会生成相同名字的文件夹,也就是文章资源文件夹。

hexo-renderer-markdown-it的部分配置修改为:

1
2
3
4
images:
lazyload: false
prepend_root: true # 在图片路径前添加上绝对路径
post_asset: true # 使用post的单独asset资源文件夹

相当于hexo-renderer-marked渲染器的下述配置:

1
2
3
marked:
prependRoot: true
postAsset: true

之后就可以在使用![](相对资源路径/image.jpg)的方式插入图片了。

下图示例:![](2023-09-05-how-to-create-new-post/IMG2.png)

6. 插入数学公式

还是参考:https://github.com/hexojs/hexo-renderer-markdown-it

ReadMe最下面

1
npm install katex @renbaoshuo/markdown-it-katex --save

在_config.yml中的plugins下增加配置

1
2
3
4
plugins:
- '@renbaoshuo/markdown-it-katex'
options:
skipDelimitersCheck: true # $分隔符前后允许加空格

并在有数学公式的md文件开头添加

1
2
3
4
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/katex/dist/katex.min.css"
/>

示例:

[abcd]\left[\begin{array}{ll} a & b \\ c & d \end{array}\right]

y=x2y=x^2

行内公式y=x2y=x^2行内公式

7. 支持Task List/Checkbox

1
npm install markdown-it-task-checkbox --save

在_config.yml中的markdown-it的配置项中添加

1
2
3
4
markdown:
...
plugins:
- markdown-it-task-checkbox

通过如下markdown代码添加CheckBox

1
2
- [ ] 这是一个未完成任务
- [x] 这是一个已完成任务

CheckBox示例