【Hexo】部署遇到的问题与解决方法
更新日期:2018 年 11 月 28 日
# hexo 命令无效
有一段时间没有写博文,(中间 Windows 10 进行过更新,不知是否与此有关),今天想更新、部署 hexo
到 github
,发现我用来一键部署的批处理文件,双击打开后直接闪退,随后我在博客根目录打开 powershell
,输入 hexo
如下提示:
hexo : 无法将“hexo”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确 ,然后再试一次。
解决方法:
在系统变量 Path
中添加 hexo 根目录的 node_modules\.bin
,如我的: D:\Blog\node_modules\.bin;
参考文章:hexo 问题 (opens new window)
# next 主题 问题
# next 6.0 无法配置语言为简体中文
在网上常见的几个 Next 主题配置教程中,教大家配置语言为简体中文的时候,都是将 站点
配置文件(_config.yml)中的 language
后面添加 zh-Hans
,即:
language: zh-Hans
但实际操作后,发现是 无效
的,而这样声明语言,在 6.0 以下版本是可用的,在 6.0 版本却不能正常识别。
实测 6.0 版本应将 language 声明为
language: zh-CN
# next 添加 tags(标签)、categories(分类)等标签
在 hexo 根目录
,使用 PowerShell
(不限于)输入: hexo new page 'tags'
PS D:\Blog> hexo new page 'tags' # categories(分类)则将tags改为categories
INFO Created: D:\
注意:不要在预览状态下,避免出现问题。
执行完命令后,编辑 .\source\tags
下的 index.md
---
title: tags
date: 2018-11-28 20:53:25
---
添加 type 属性:
---
title: tags
date: 2018-11-28 20:53:25
type: tags
---
categories(分类)同理,如不添加 type 属性会造成,无法正常显示该页面。
# next 6.0 动态背景无效
- 进入 theme/next 目录
- 执行命令:
git clone https://github.com/theme-next/theme-next-canvas-nest source/lib/canvas-nest
主题
配置文件_config.yml
中的
canvas_nest: false
改为
canvas_nest: true
参考文章:NexT v6.0+ 背景动画 Canvas_nest 设置无效的解决方案 (opens new window)
# next6.0 添加文章字数,阅读时间
- 在 next 的配置文件 (_config.yml) 中修个为:
symbols_count_time:
separated_meta: true
item_text_post: true
item_text_total: true
awl: 2 #平均字长
wpm: 275 #每分钟字数
中文用户建议设置
awl:2
和wpm:300
, 但如果你经常把你的帖子和英语混用,awl:4
和wpm:275
会更好。
- 在 hexo 根目录,执行:
npm install hexo-symbols-count-time --save
(重点)
并在站点配置文件 (_config.yml) 中添加:
symbols_count_time:
symbols: true
time: true
total_symbols: true
total_time: true
- 预览、部署
# 关闭新建页面的评论功能
在页面的 Front-matter 里添加 comments 字段,并将值设置为 false。如下所示:
title: All tags
date: 2015-12-16 17:05:24
type: "tags"
comments: false
---
参考文章:常见问题 - NexT 使用文档 (opens new window)
# Hexo 文章置顶
- Hexo 根目录下执行:
npm uninstall hexo-generator-index --save
npm install hexo-generator-index-pin-top --save
在需要置顶的文章的
Front-matter
中加上top: true
。添加置顶标志,打开:
/themes/next/layout/_macro
目录下的post.swig
文件,定位到<div class="post-meta">
标签下,插入如下代码:
{% if post.top %}
<i class="fa fa-thumb-tack"></i>
<font color=7D26CD>置顶</font>
<span class="post-meta-divider">|</span>
{% endif %}
- 保存,重新部署即可。
参考文章:hexo 博客优化之文章置顶 + 置顶标签 - qwerty200696 的博客 - CSDN 博客 (opens new window)
# 安装图片放大预览(FancyBox 3)插件
Next 支持 FancyBox 2 和新版的 FancyBox 3,只需要选择一个版本,不需要同时安装两个版本。
- 如果有此前安装有 FancyBox 2,则需要先删除旧版本。在
Hexo根目录
执行:
rm -rf themes/next/source/lib/fancybox #删除next主题文件夹下的/source/lib/fancybox
- 安装 FancyBox 3,在 next 目录下执行
git clone https://github.com/theme-next/theme-next-fancybox3 source/lib/fancybox
# 安装博客文章搜索
npm install hexo-generator-searchdb --save
将 主题配置文件
中的 local_search:
下的 enable: false
改为 enable: true
即可,即:
local_search:
enable: true
# if auto, trigger search by changing input
# if manual, trigger search by pressing enter key or search button
trigger: auto
# show top n results per article, show all results by setting to -1
top_n_per_article: 1
# unescape html strings to the readable one
unescape: false