hexo博客环境配置

本文最后更新于:2023年5月29日 上午

git clone出现 fatal: unable to access https://github.com/...的解决办法

发生这种情况是因为代理是在git中配置的。既然它是https代理(而不是http)git config http.proxy和git config --global http.proxy也无济于事。

在开启shadowsocks的前提下,手动配置git的代理。git客户端输入如下两个命令就可以了。

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

http://也可以改成sockets5://,但是区别在于:socks5不支持通过pubkey免密登录github,每次提交代码只能输入用户名和密码。http可以支持免密登录。

取消代理

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

hexo博客MathJax公式渲染问题

MathJax语法写的一些公式,在本地Markdown编译器上渲染是没问题的,可是部署到hexo博客中就出现问题了

hexo默认使用hexo-renderer-marked引擎去渲染网页,它会把利用Markdown语法写的文本去转换为相应的html标签。在利用Markdown写MathJax公式的时候,经常会用到下划线_表示下标,但是下划线_会被hexo的默认引擎hexo-renderer-marked渲染成html中的<em>标签,表示斜体,这样一来,我们写的MathJax公式就被错误渲染了,也就没办法正确显示出来。

问题或许出在hexo的渲染引擎上,如果渲染引擎不把公式中的一些特殊字符渲染成html标签,也就避免了这个问题。当然已经有人意识到了这个问题,并且对原先的渲染引擎进行了改进,生成了新的hexo-renderer-kramed引擎,这里是它的Github页面,所以我们只需要卸载默认引擎,并安装这个新的渲染引擎即可。

1
2
3
npm uninstall hexo-renderer-marked --save
npm install hexo-renderer-kramed --save 或者
npm install hexo-renderer-pandoc --save(需要本地安装pandoc)

渲染引擎更换之后,发现大部分公式都正确渲染了,但可能仍然存在错误,即是行间公式都没有问题,但是个别行内公式还会出现渲染出错。

定位到你的博客根目录,找到../node_modules/kramed/lib/rules/inline.js文件,进行部分修改:

1
2
3
4
//escape: /^\\([\\`*{}\[\]()#$+\-.!_>])/,      第11行,将其修改为
escape: /^\\([`*\[\]()#$+\-.!_>])/,
//em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/, 第20行,将其修改为
em: /^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,

它取消了该渲染引擎对\,{,}的转义,然后再hexo clean、hexo g重新部署,即可解决问题。

另外,可以使用 \brace 代替花括号避免公式中多个括号连用时渲染出现如下报错

1
parseAggregate: expected colon after dict key 

ravis CI报错的问题 (收费)

由于ravis CI上node.js版本或者pandoc版本问题,可能出现部署时渲染错误,需要将根目录下.travis.yml文件内容改为如下

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
28
29
sudo: true
language: node_js
node_js:
- 16 # use nodejs v12 LTS
cache:
- npm
- pandoc
- hexo-cli
- hexo-renderer-pandoc
install:
- wget https://github.com/jgm/pandoc/releases/download/2.7/pandoc-2.7-1-amd64.deb
- sudo dpkg -i ./pandoc-2.7-1-amd64.deb
- npm install -g hexo-cli
- npm uninstall hexo-renderer-marked --save
- npm install hexo-renderer-pandoc --save
branches:
only:
- main # build master branch only
script:
- hexo clean
- hexo generate # generate static files
deploy:
provider: pages
skip-cleanup: true
github-token: $GH_TOKEN
keep-history: true
on:
branch: main
local-dir: public

由于自动部署服务ravis CI开始收费,改用本地一键部署功能

1
$ hexo deploy

通过Hexo 提供快速方便的一键部署功能,只需一条命令就能将网站部署到服务器上,当然部署之前需要先生成静态文件,详见[2]。

reference

[1] git clone出现 fatal: unable to access 'https://github.com/...'的解决办法(亲测有效)_Dashi_Lu的博客-CSDN博客

[2] 部署 | Hexo


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!