Hexo搭建实遇问题
1.spawn_failed问题
原因分析:
其实出现这个问题,很大可能是因为https和http的proxy的对应的分别是https和http开proxy server,
而https的proxy server可能无法正常工作。
解决办法:
修改_config.yml文件的deploy部分,将https 修改为http url 或者 设置为git url, 配置为https oauth2 加token
-
设置为git url(推荐) 亲测有效
1 | deploy: |
2.头像无法显示问题
原因分析:
不明原因,猜测是路径问题
解决方法1:
-
将想要显示的头像图片存入本地文件夹
-
在根目录下进入git bash使用hexo g和hexo d上传代码到github仓库
-
在github仓库找到该图片,鼠标右键复制图片链接
-
修改主题配置文件,如我修改的为config.butterfly.yml文件
1 | #Avatar (頭像) |
解决方法2:
更改默认头像路径
默认路径:"C:\Users\陈荣伟\Desktop\Blog\Hexo-blog\blog\themes\butterfly\source\img\friend_404.gif"
把需要的 头像 名称改为friend_404.gif
,把friend_404.gif
重命名 成别的即可
_config.butterfly.yml内的配置文件
1 | # Replace Broken Images (替换无法显示的图片) |
3.本地预览正常,但部署到GitHub 网站背景图片不加载
解决方法:
-
分清背景图片是放在本地还是别处?
-
记得用图片的网络链接,确保图片地址没有错误。
-
然后清除浏览器缓存再试试
hexo clean命令
1 | hexo clean |
清除缓存文件 db.json
和已生成的静态文件 public
。
-
网站显示异常时可以执行这条命令试试。
接着依次运行代码:
1 | hexo g |
1 | hexo d |
终极方法
删除.deploy_git
和public
文件
4.插入图片的显示问题
参考文章:
在hexo博客中插入图片的方法_hexo插入图片-CSDN博客
插入图片的方法在完成了博客搭建、发布文章后,如果我们想在文章中插入图片,该怎么做呢?
如果图片保存在本地
方法一:全局资源文件夹
即,将所有文章的资源统一用一个全局资源文件夹管理。
此方法的优点是比较简便,并且当多篇文章需要引用同一资源时,也比较方便。
缺点是当文章很多时,各个文章的图片都在同一文件夹,不便管理。
具体方法:在hexo文件夹下的source目录下,新建一个文件夹叫images(名字随意),将要插入的图片放在该文件夹中。
md文档内,使用
的格式,圆括号内的链接地址写(/images/name.jpeg)
。这里的 / 指的是根目录,对于hexo,资源文件的根目录就是source(可以在config文件里修改资源的根目录)
例如,在md文档中写:
同时将“20.jpeg”这个图片文件放在hexo文件夹/source/images
下,则图片可以上传到博客。
方法二:文章资源文件夹
即,对于每篇文章,使用一个文件夹管理资源。
此方法的优点是,当文章很多时,便于结构化管理。
缺点是,比方法一麻烦一点。
具体方法:
2.1 修改hexo文件夹中的_config.yml文件,如下:
1 | post_asset_folder: true |
2.2 在终端cd到hexo文件夹,hexo new 文章名
命令创建一篇新文章,此时会在hexo文件夹的source目录下,自动创建一个文件夹和文章名.md文件。
注:如果文章名中有空格,务必将整个文章名用双引号引起来。如果文章名中没有空格,可以加双引号,也可以不加。
例如,执行hexo new “如何发布文章到hexo博客上”,如下:
会在source/_post
文件夹下生成一个"如何发布文章到hexo博客上.md"文件。如下:
可以看到,同时还生成了一个同名的资源文件夹。
2.3 我们可以将所有与该文章有关的资源(包括图片)放在这个关联文件夹中
2.4 通过相对路径来引用图片资源。
例如,将“1.jpeg”这个图片资源放在该文件夹中,并在.md文件中像这样引用图片:
,这个方法在资源较多时方便管理。
另附Typora编辑器中不显示图片的解决方案:安装下面的插件,可以使Typora等Markdown编辑器预览以及Hexo发布预览时,均能正常显示图片。npm install hexo-asset-img --save
这样,如果你使用Typora编辑markdown文档,在typora内也可以显示图片了。
5.4000端口占用问题
查看端口:
1 | netstat -ano |
1 | 每一列分别对应:协议、本地地址、外部地址、状态、PID |
注:其余参数可使用help命令查看:
netstat -help
查询出的端口数量很多,我们可使用findstr命令进行过滤:
1 | netstat -ano | findstr "被占用的端口" |
释放被占用的端口:
过滤出需要释放的端口后,在cmd窗口输入task kill命令
可释放被占用的端口:
1 | taskkill -f -t /pid "占用端口的程序的pid" |
6.网页渲染Latex问题
修改主题配置文件_config.butterfly.yml
:
1 | mathjax: |
以下操作在你 hexo 博客的目录下 (不是 Butterfly 的目录):
-
安装插件
1 | npm uninstall hexo-renderer-marked --save |
-
配置 hexo 根目录的配置文件
_config.yml
1 | kramed: |
7.引入CSS文件
打开config.butterfly.yml文件
CTRL+F 搜索下面的代码,增加<link>
标签即可
1 | inject: |