Update-hexo-by7.2.2

博客Next主题升级失败,处理过程,以后可按此过程。

记录一次hexo博客Next主题,升级失败,重新安装的过程。
注:博客目录为”My_blog”

  • 如果需要升级 node.js 先去 https://nodejs.org/zh-cn/ 下载最新版安装,安装过程自行百度。
  • 备份之前博客文件夹下所有内容(注意如果用git管理过,会有隐藏文件夹 .git )
  • 然后确保文件夹内无其它任何文件,在根目录执行 hexo init ,出现 INFO Start blogging with Hexo! ,为安装完毕,执行 npm install 安装其它依赖包。
  • 执行 hexo -v 查看版本是否正常。
  • 如果使用自动备份功能,则需安装插件 npm install –save shelljs ,并配合 scripts 目录下的 auto_push.js 使用,使用方法下这介绍。
  • 安装全新 Next 主题,执行 git clone https://github.com/theme-next/hexo-theme-next themes/next-7.x ,主题目录在 E:\My_blog\themes\next-7.x
  • 执行 hexo g 和 hexo s 查看结果。

其它主题配置请参照备份文件

自动备份

自动打开编辑器

npm outdated 查看所有包的版本

如果没有老版本的,就没有任何输出
如果有新版本的,会提示你需要更新到的版本

安装的插件

1、相关贴子

生成相关帖子和热门帖子的链接列表。另外,此插件可以获取帖子的访问者计数(PV)。

安装方法:博客根目录执行

1
npm install hexo-related-popular-posts --save

2、英文自动空格

英文单词前后自动加空格

安装方法:博客根目录执行

1
2
3
$ npm install pangu --save
# or
$ yarn add pangu

3、加快页面速度

通过在空闲时间预取视口内链接来加快后续页面加载速度

安装方法:博客根目录执行

1
npm install --save quicklink

4、阅读次数

符号计数和阅读Hexo文章的时间。

安装方法:博客根目录执行

1
$ npm install hexo-symbols-count-time

Hexo_config.yml(位于博客的根目录中)中设置选项。

1
2
3
4
5
6
# 添加文章标题下字数统计、阅读时间,底部总阅读时间和代码量
symbols_count_time:
symbols: false # 文字统计
time: false # 阅读时长
total_symbols: true # 底部文字统计
total_time: true # 底部阅读时长

主题_config.yml中设置选项。

1
2
3
4
symbols_count_time:
separated_meta: true # 文章标题下
item_text_post: true # 底部文字统计
item_text_total: false # 底部阅读时长

5、leancloud访客计数器中的严重安全错误 (选择性安装)

一个插件,用于修复NexT主题站点和其他使用类似方式集成了此功能的站点的leancloud访客计数器中的严重安全错误。记录如何设置计数器并以英语中文安全运行。

安装方法:博客根目录执行

1
npm install hexo-leancloud-counter-security

Hexo_config.yml(位于博客的根目录中)中设置选项。

如果leancloud_counter_security未指定(或注释),则插件将被完全禁用。

1
2
3
4
5
6
7
leancloud_counter_security:
enable_sync: true
app_id: <your app id>
app_key: <your app key>
server_url: <your server url> # Required for apps from CN region, e.g. https://leancloud.cn
username: <your username> # Will be asked while deploying if is left blank
password: <your password> # Recommmended to be left blank. Will be asked while deploying if is left blank

主题_config.yml中设置选项。

此插件集成在《 NexT》中,并且在主Hexo配置中启用该插件后,需要启用NexT配置中的选项:

1
2
3
4
5
6
leancloud_visitors:
enable: true
app_id: <your app id>
app_key: <your app key>
# Dependencies: https://github.com/theme-next/hexo-leancloud-counter-security
security: true

6、本地搜索插件

搜索Hexo的数据生成器插件。

安装方法:博客根目录执行

1
npm install hexo-generator-searchdb

Hexo_config.yml(位于博客的根目录中)中设置选项。

1
2
3
4
5
search:
path: search.xml
field: post
content: true
format: html

主题_config.yml中设置选项。

1
2
3
4
5
6
7
8
9
10
11
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: true
# Preload the search data when the page loads.
preload: true

7、页面加载期间顶部的进度条

安装方法:博客 主题 根目录执行

1
git clone https://github.com/theme-next/theme-next-pace source/lib/pace

Hexo_config.yml(位于博客的根目录中)中设置选项。

1
2
3
4
5
6
pace:
enable: true
# Themes list:
# big-counter | bounce | barber-shop | center-atom | center-circle | center-radar | center-simple
# corner-indicator | fill-left | flat-top | flash | loading-bar | mac-osx | material | minimal
theme: minimal

8、NexT的标签插件

安装方法:博客根目录执行

1
npm install theme-next/hexo-next-tag

使用方法:

1
2
3
4
5
6
7
Example
Let's create include-raw.html file in _data directory under site root directory with following content:

Any <strong> raw content</strong> may be included with this tag.
Then in any post we can use this content with include_raw tag:

{% include_raw '_data/path/to/include-raw.html' %}

9、PDF插件 (可选安装)

这个插件可以预览博客页面中的PDF文件。如果浏览器本身支持嵌入式PDF,则NexT将创建一个标签并将PDF文件包含在您的网站上。否则,它将创建一个标签,并使用@mozilla的PDF.js呈现pdf文件。

安装方法:博客 主题 根目录执行

1
git clone https://github.com/theme-next/theme-next-pdf source/lib/pdf

主题_config.yml中设置选项。

1
2
3
4
5
6
7
8
# PDF tag
# NexT will try to load pdf files natively, if failed, pdf.js will be used.
# So, you have to install the dependency of pdf.js if you want to use pdf tag and make it available to all browsers.
# See: https://github.com/theme-next/theme-next-pdf
pdf:
enable: true
# Default height
height: 500px

用法:

为了在文章中嵌入PDF文件,您只需要使用本地PDF文件的URL创建一个“ pdf”标签,例如

1
{% pdf /path/to/your/file.pdf %}

注意:请勿使用跨域PDF文件,因为它可能被CORS策略阻止。

10、动态 Title 标题

安装方法:博客根目录执行

1
npm install theme-next/hexo-next-title

Hexo_config.yml(位于博客的根目录中)中设置选项。或者

主题_config.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
30
31
32
33
34
# 动态 Title 标题
# Change title and favicon when window is hidden and visible.
title_change:
enable: true

# Enabling this feature on non-desktop devices may not be a good choice, but it depends on you.
onmobile: false

# Enable random title or not.
# Basically `random: true` means you have several titles to display and `random: false` means you have only one title to display.
# When `random: true`, YOU MUST FOLLOW the format which has been commented in two title options below.
# When `random: false`, please fill in the same line of the title option, like `title: one title`.
random: false

# Restore the original title after the specified time in milliseconds.
timeout: 2019

# Options when window is hidden.
hidden:
favicon: /images/favicon-16x16-next.png
title:
#- 404
#- φ(* ̄0 ̄)
#- Waiting for you.
- ╭(°A°`)╮ 页面崩溃啦 ~ | 量子广告

# Options when window is visible.
visible:
favicon: /images/favicon-16x16-next.png
title:
#- 200
#- (✿◡‿◡)
#- Welcome back!
- (ฅ>ω<*ฅ) 噫又好了~ | 量子广告

11、评论插件

安装方法:博客根目录执行

1
npm install theme-next/hexo-next-utteranc

Hexo_config.yml(位于博客的根目录中)中设置选项。或者

主题_config.yml中设置选项。

1
2
3
4
5
6
7
8
9
10
11
# utteranc评论
# Demo: https://utteranc.es/ http://trumandu.github.io/about/
utteranc:
enable: true
repo: aixiu/notes #Github repo such as :TrumanDu/comments
pathname: pathname
# theme: github-light,github-dark,github-dark-orange
theme: github-light
cdn: https://utteranc.es/client.js
# If you want to modify priority, please config in **hexo**
#priority:

12、文章短链接

安装方法:博客根目录执行

1
npm install hexo-abbrlink --save

Hexo_config.yml(位于博客的根目录中)中设置选项。

1
2
3
4
5
6
7
8
9
10
11
# permalink: :year/:month/:day/:title/  # 默认样式
permalink: :author/:abbrlink/ # 作者/字符串
permalink_defaults: #默认参数可自定义
author: aixiu
# 永久链接
abbrlink: # 生成
alg: crc32 # 算法:crc16(default) and crc32
rep: hex # 进制:dec(default) and hex
pretty_urls:
trailing_index: true # Set to false to remove trailing 'index.html' from permalinks
trailing_html: true # Set to false to remove trailing '.html' from permalinks

其它

问题1:

hexo d后 ERROR Deployer not found: git

解决:

这是因为没安装 hexo-deployer-git 插件,在站点目录下输入下面的插件安装就好了:

npm install hexo-deployer-git –save

报错2:

ERROR Plugin load failed: hexo-next-title
Error: Cannot find module ‘E:\My_blog\node_modules\next-util\index.js’. Please verify that the package.json has a valid “main” entry

解决:next-util插件去下载后,发现没有index.js 复制一个就好