2018年11月15日检查此文章时更新
或许hexo不支持内嵌小型代码块,故显示有问题。
2018年11月28日更新此文章时更新
全文出现的markdown三个代码符号以及小型代码段使用“ ”代替。
本篇文章为搭建hexo博客出现过的情况以及解决方案。
我遇到的问题都会在本篇帖子里不定期更新。
您可以在博客右侧进行快速查找,也可以按下Ctrl/Command+F进行快速搜索。
本地内容创建
创建Tag页面无法显示
创建任何页面步骤:
$ cd (folders)
$ hexo new page tags(tags替换为你的任何页面)
之后应为以下内容:
---
title: tags
date: 2018-04-09 06:01:15
type: "tags"
---
并非大写的Tag甚至是
title: tags
date: 2018-04-09 06:01:15
type: “tags”
- XXX
- XXX
新建页面直接使用该名称页面的开头
问题描述:新建页面直接使用该名称页面的开头,例如创建page,直接为page/
效果(GitHub-issue列出):hexo-theme-whitecards-已知issue
点击菜单里的标签,主题也会自动更换
问题描述:自定义了light之后,重新clone了NexT主题,主题也会自动更换。
解决方案:重新安装hexo
因为5.X版本NexT已经不维护了,链接:
本地预览相关
TypeError: Cannot read property ‘utcOffset’ of null
错误代码:
TypeError: Cannot read property ‘utcOffset’ of null
解决方案:
将站点配置文件“Asia-Shanghai”修改为“Asia/Shanghai”即可。
参考链接:
Can’t generate? It shows “TypeError: Cannot read property ‘offset’ of null” #1130
正确的时区表:
List of tz database time zones
本地内容修改
页面空白
问题描述:
修改本地文件夹内容,博客页面出现空白。
以下为可能出现的情况:
报错日志:
1
YAMLException: bad indentation of a mapping entry:
一段"at"之后
Unhandled rejection Error: ENOENT: no such file or directory, open '/Users/felixxiong/FelixXiongHexoFolder/themes/next/layout/_scripts/schemes/.swig'
可能的解决方案:
1:有“bad indentation of a mapping entry“报错提示的 .
在线测试工具:YAML验证器
2:”_cofig.yml“的Next主题配置文件中,”social"部分前面的空格(或注释)去掉。
详细代码:
social:
GitHub: <https://github.com/yourmame> || github
sidebar:
# Sidebar Position, available value: left | right (only for Pisces | Gemini).
position: left //这里一定要有,之后解决问题
#position: right
# Sidebar Display, available value (only for Muse | Mist):
# - post expand on posts automatically. Default.
# - always expand for all pages automatically
# - hide expand only when click on the sidebar toggle icon.
# - remove Totally remove sidebar including sidebar toggle.
display: post //这里一定要有
#display: always
#display: hide
#display: remove
我遇到的解决方案.即使我使用的是Mist主题,并不是Pisces或者Gemini。
参考链接:
自己之前的提问:
Google 网上论坛:为什么我只是修改了_config.yml,本地和博客都无法预览了?显示为空白页。
GitHub issue:NEXT主题,更新了博客内容,显示空白,本地也无法预览 #3114
GitHub issue:在主题配置文件配置友链后,hexo g报错 #737(已被锁定)
报错日志:
2
TypeError: /Users/felixxiong/FelixXiongHexoFolder/themes/light/layout/layout.ejs:7
5| <div id="content" class="inner">
6| <div id="main-col" class="alignleft"><div id="wrapper"><%- body %></div></div>
>> 7| <aside id="sidebar" class="alignright"><%- partial('_partial/sidebar', {}, {cache: true}) %></aside>
8| <div class="clearfix"></div>
9| </div>
10| <footer id="footer" class="inner"><%- partial('_partial/footer') %></footer>
/Users/felixxiong/FelixXiongHexoFolder/themes/light/layout/_partial/sidebar.ejs:2
1| <% theme.widgets.forEach(function(widget){ %>
>> 2| <%- partial('../_widget/' + widget) %>
3| <% }); %>
/Users/felixxiong/FelixXiongHexoFolder/themes/light/layout/_widget/weibo.ejs:4
2| <h3 class="title">我的微博</h3>
3| <ul class="weibo">
>> 4| <iframe width="100%" height="<%= theme.weibo.height%>" class="share_self" frameborder="0" scrolling="no" src="<%- theme.weibo.url %>"></iframe>
5| </ul>
6| </div>
Cannot read property 'height' of undefined
at eval (eval at compile (/Users/felixxiong/FelixXiongHexoFolder/node_modules/ejs/lib/ejs.js:584:12), <anonymous>:11:38)
at returnedFn (/Users/felixxiong/FelixXiongHexoFolder/node_modules/ejs/lib/ejs.js:615:17)
at Theme._View.View._compiledSync.locals [as _compiledSync] (/Users/felixxiong/FelixXiongHexoFolder/node_modules/hexo/lib/theme/view.js:120:22)
at Theme._View.View.View.renderSync (/Users/felixxiong/FelixXiongHexoFolder/node_modules/hexo/lib/theme/view.js:48:23)
at Object.partial (/Users/felixxiong/FelixXiongHexoFolder/node_modules/hexo/lib/plugins/helper/partial.js:39:15)
at Object.wrapper [as partial] (/Users/felixxiong/FelixXiongHexoFolder/node_modules/lodash/lodash.js:4941:19)
at eval (eval at compile (/Users/felixxiong/FelixXiongHexoFolder/node_modules/ejs/lib/ejs.js:584:12), <anonymous>:12:17)
at Array.forEach (<anonymous>)
at eval (eval at compile (/Users/felixxiong/FelixXiongHexoFolder/node_modules/ejs/lib/ejs.js:584:12), <anonymous>:9:22)
at returnedFn (/Users/felixxiong/FelixXiongHexoFolder/node_modules/ejs/lib/ejs.js:615:17)
at Theme._View.View._compiledSync.locals [as _compiledSync] (/Users/felixxiong/FelixXiongHexoFolder/node_modules/hexo/lib/theme/view.js:120:22)
at Theme._View.View.View.renderSync (/Users/felixxiong/FelixXiongHexoFolder/node_modules/hexo/lib/theme/view.js:48:23)
at fragment_cache (/Users/felixxiong/FelixXiongHexoFolder/node_modules/hexo/lib/plugins/helper/partial.js:36:52)
at Object.fragmentCache (/Users/felixxiong/FelixXiongHexoFolder/node_modules/hexo/lib/plugins/helper/fragment_cache.js:9:32)
at Object.wrapper [as fragment_cache] (/Users/felixxiong/FelixXiongHexoFolder/node_modules/lodash/lodash.js:4941:19)
at Object.partial (/Users/felixxiong/FelixXiongHexoFolder/node_modules/hexo/lib/plugins/helper/partial.js:36:17)
at Object.wrapper [as partial] (/Users/felixxiong/FelixXiongHexoFolder/node_modules/lodash/lodash.js:4941:19)
at eval (eval at compile (/Users/felixxiong/FelixXiongHexoFolder/node_modules/ejs/lib/ejs.js:584:12), <anonymous>:18:17)
at returnedFn (/Users/felixxiong/FelixXiongHexoFolder/node_modules/ejs/lib/ejs.js:615:17)
at Theme._View.View._compiled.locals [as _compiled] (/Users/felixxiong/FelixXiongHexoFolder/node_modules/hexo/lib/theme/view.js:124:48)
at Theme._View.View.View.render (/Users/felixxiong/FelixXiongHexoFolder/node_modules/hexo/lib/theme/view.js:29:15)
at _compiled.then.result (/Users/felixxiong/FelixXiongHexoFolder/node_modules/hexo/lib/theme/view.js:40:23)
重点摘录:
TypeError: /Users/felixxiong/FelixXiongHexoFolder/themes/light/layout/layout.ejs:7
Cannot read property 'height' of undefined
at eval
其他原因的参考链接:
“Unhandled rejection TypeError:…” in hexo server #121
Did you rename _config.yml.example to _config.yml as Wiki/Installation describes?
另一位回答:
I also experienced this after the first step
where it says
cd themes/hueman
I forgot to cd back to the parent directory.
Hexo Unhandled rejection TypeError \ Cannot read property ‘each’ of undefined
Cannot publish/unpublish post on Windows.Source is undefined #68
这里我的解决方案:
设置微博小挂件,复制链接。并进行同步修改。
涉及的issue:
更新相关
本地可以提示更新,可是部署失败
问题描述:更新之后提示如下代码,实则未更新
To https://github.com/FelixXiong/FelixXiong.github.io
+ 4b7f1ef...4a25d1d HEAD -> master (forced update)
Branch 'master' set up to track remote branch 'master' from 'https://github.com/FelixXiong/FelixXiong.github.io'.
INFO Deploy done: git
解决方案1:
删除掉 .deploy_git 文件夹,然后 hexo clean ,hexo g -d
文章内容相关
文章markdown无法很好的解析,与本地预览不一致
问题描述:文章本地使用Typota和Atom编辑器,代码块和本地预览以及发布的不一致
解决方案:暂未解决
尝试安装过Atom插件markdown-plus。
参考链接:
[如何调用hexo渲染代码块的渲染引擎](https://segmentfault.com/q/1010000008302731/a-1020000008970112)
hexo 不处理自定义tag里的三个代码开头,可以让自定义tag自己处理或者等他处理完再处理,防止冲突。
那么,作为社区其他开发者怎么办呢?有解决办法吗?答案是有的,就是稍显麻烦,自己写2个filter:
> const rEscapeContent = /]*)>([\s\S]*?)<\ escape="">/g; > const placeholder = '\uFFFD'; > const rPlaceholder = /(?:<|<)\!--\ufffd(\d+)--(?:>|>)/g; > const cache = []; > function escapeContent(str) { > return ''; > } > hexo.extend.filter.register('before_post_render', function(data) { > data.content = data.content.replace(rEscapeContent, function(match, content) { > return escapeContent(content); > }); > return data; > }); > > hexo.extend.filter.register('after_post_render', function(data) { > data.content = data.content.replace(rPlaceholder, function() { > return cache[arguments[1]]; > }); > return data; > }); >
注意,placeholder 这个千万别和hexo(“\uFFFC”)的冲突了,选个其他的吧
文章无法有多个指定的分类
问题描述:文章无法有多个指定的分类。
解决方案:Hexo和Wordpress不一致,无法指定多个分类。
参考链接:分类和标签
分类方法的分歧
如果您有过使用WordPress的经验,就很容易误解Hexo的分类方式。WordPress支持对一篇文章设置多个分类,而且这些分类可以是同级的,也可以是父子分类。但是Hexo不支持指定多个同级分类。下面的指定方法:
categories:
- Diary
- Life
会使分类Life成为Diary的子分类,而不是并列分类。因此,有必要为您的文章选择尽可能准确的分类。
文章未出现
问题描述:更新博客文章有延迟
解决方案:耐心等待即可,还可以进行CDNAME加速。
参考链接:Hexo发布新文章,github更新了,但是页面就是不显示新文章
点击Read more失效
问题描述:点击Read more失效,依然是文章标题
效果(GitHub-issue列出):hexo-theme-whitecards-已知issue
解决方案:暂未解决
评论相关
无法初始化
问题描述:
无法点击初始化按钮,“Error: Not Found"字段应为按钮,点击之后即可发布。
解决方案:OAuth Application里的callback网址必须和存储评论的repo网址一致。
参考链接:
Gitment:使用 GitHub Issues 搭建评论系统
GitHub:A comment system based on GitHub Issues.
无法显示留言
问题描述:重新部署之后无法显示留言于评论中
解决方案:检查站点配置文件中config.yml的learncloud的appid是否为之前设置的ID(或检查有留言的那个)。
图片相关
上传文章图片(图床解决方案)
官方文档中的相对路径解释:
资源文件夹
之前我撰写文章为Typora,而后和网友(这是他的主页)得知:
Typora解析的是md不是swig
即使写了:
也无法预览。
目前上传图片的方案:我使用的是以下图床。
关于研究hexo中的资源文件夹以及相对路径的使用,将会在以后进行研究。
Widget相关
ERROR Process failed
在安装以下:Hexo-theme-light_cn其中的小部件时,
里面的微博:Hexo-theme-light_cn / layout / _widget /weibo.ejs
报错提示:
ERROR Process failed: layout/_widget/weibo.ejs
解决方案:终端给出的解决方案:
SyntaxError: missing ) after argument list in /Users/felixxiong/FelixXiongHexoFolder/themes/light/layout/_widget/weibo.ejs while compiling ejs
If the above error is not helpful, you may want to try EJS-Lint:
https://github.com/RyanZim/EJS-Lint
npm install ejs-lint
相应的网站:
我的解决方案:暂未解决
部署相关
问题描述:在结束部署时(点击hexo g -d)会出现分支错误。
错误代码:
To https://github.com/FelixXiong/yourmane.github.io
feXeXXa..XXdXXbX HEAD -> master
Branch 'master' set up to track remote branch 'master' from 'https://github.com/FelixXiong/yourmane.github.io'.
解决方案:
git版本控制:如何处理当前分支为*(no branch)的情况
Branch master set up to track remote branch master from#2570
侧边栏相关
无法显示网站小图标
问题描述:图标显示错误,涉及所有文章索引错误
参考教程 :Hexo NexT 博客增加知乎豆瓣图标支持
问题帖子:博客目前遇到了几个问题
解决方案:
<i class="{{ link.split('||')[1] | trim | default('fa fa-fw fa-globe') }}"></i>{#
```
此行代码应该修改于正确的位置。
代码:
```yaml
{% if theme.social %}
产品北里,讲述产品和人性、涉及设计、技术和运营的公众号。
你们的赞赏是我更新的动力~
-
本文链接:
https://felixxiong.github.io/2018/04/10/%E4%BD%BF%E7%94%A8Hexo%E9%97%AE%E9%A2%98%E6%B1%87%E6%80%BB/
-
版权声明:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!