type
status
date
slug
summary
tags
category
icon
password
对通过 Hexo 搭建博客过程中遇到的问题进行了汇总,以后再遇到相同的问题可以迅速定位解决问题。
一、点击 Local Search 本地搜索页面卡住
问题描述:安装教程配置好 Local Search 本地搜索之后,点击 搜索 按钮页面一直卡在转圈圈的地方,F12进入开发者工具没有看到错误提示,以
debug
模式启动的服务器也没有错误输出?问题解决:出现这种情况是因为你的某一篇文章中出现了非 UTF-8 编码的字符,解决办法是找到把该异常字符并删除。
- 打开
http://localhost:4000/search.xml
,确认错误字符所在的位置。如下图所示就在第6行第35列。
- 通过
$ vim public/search.xml
打开search.xml
文件,根据刚才的位置定位到出现问题的文章的该行该列。该位置一般会出现一个异常字符,例如^H
或者^M
等字符。注意不用直接修改search.xml
文件。
- 编辑出现问题的文章的
md
文件,找到出现问题的行列,把该位置的特殊字符删掉。该字符有可能是一个隐藏的字符如^H
,一般的 markdown 编辑工具可能看不到该字符,可以通过vim
编辑删除该字符。
- 执行
$ hexo clean && hexo g
后重启服务器,然后再打开http://localhost:4000/search.xml
,看到下图所示表示可以正常使用本地搜索功能。
二、在执行 hexo d
部署到 GitHub 上的时候总是卡住
问题描述:在执行
hexo d
部署到 GitHub 上的时候总是卡住没有往下面执行,这时候只能 ctrl + c
中断或等待很久一段时间后才执行完毕。问题解决:这是由于国内墙对 GitHub 的阻挡影响,导致国内用户在向 GitHub 仓库
pull
或者 push
的时候速度都会受到不同程度的影响。解决办法是使用 vpn,然后设置 git 代理。三、Hexo 文件名大小写不敏感的问题
有时候经常会出现文章部署后又修改了 Tag 或 Categories,而恰好修改的内容涉及到英文字母大写改小写或小写改大写,譬如 news 改为 News,修改后确发现部署到 Github 上无法生效,当点击对应的Tag或Categories时会出现路径无法找到从而跳转到404页面,但本地预览确一切正常。
这个现象的问题是由于git 默认是大小写不敏感,而且如果你使用的是mac,系统默认也是大小写不敏感的。因此即便文件夹的大小写发生了变更,git 也会表现出置之不理。解决思路如下:
1、使用 git 修改文件名大小写。
有两种方式。第一种是设置 git 为大小写敏感。用这种方法进行重命名,用git status就可以识别出修改了,但是不推荐用这种方式,因为在更新这种修改的时候会有麻烦(比如会 git push 创建一个新命名的文件,而且不是直接修改原来文件的命名)。
第二种方式,使用 git mv 命令(仅当core.ignorecase为true时可用)。此时的状态是 renamed,git commit 即可。
2、清空部署目录 .deploy_git
.deploy_git
在 hexo 的安装目录下面,是一个隐藏文件夹。在执行 hexo deploy
的时候会先清空 .deploy_git
,然后把 public
目录下的文件拷到.deploy_git
,再把 .deploy_git
的、 的内容推送到 master 分支上面。接下来删除
.deploy_git
文件夹内的所有文件,并 push 到 Github 仓库(默认是 master 分支),完成后你的 github.io 项目中没有任何文件。3、重新部署并发布
- Author:mcbilla
- URL:http://mcbilla.com/article/8201b1a1-f39c-4405-a51a-d3848af57333
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!