寫在前面
本文主要描述了怎麼添加hexo博客搜索插件,然後啓動搜索功能,對兩個本地搜索插件的使用進行了描述,文章可能還有很多不足,請大家諒解,歡迎大佬提意見。
本文用的東西
- hexo 3.1.0
- win10電腦
文章目錄
1.插件比較
“hexo-generator-searchdb”插件功能比較強大,可以替代後面講的第二個插件“hexo-generator-json-content”插件。而“hexo-generator-json-content”插件只能生產json文件,且不能定義文件名,無法替代“hexo-generator-searchdb”插件,但是“hexo-generator-json-content”可以定義生成的json文件的格式。
2.hexo-generator-searchdb插件
2.1插件原理
這個插件會掃描博客文章,根據“——config.yml”的配置從文章裏獲取內容生成一個xml/json文件的結果,類似於博客中文章信息的摘要把,搜索的時候就搜索這個文件的內容。
2.2添加插件
1.打開“Node Command Prompt
”,使用cd定位到自己博客的目錄。
2.輸入以下命令添加博客搜索插件。
//未配置淘寶的數據源
npm install hexo-generator-searchdb --save
//配置淘寶數據源的可以使用這條命令,網絡會好一些
cnpm install hexo-generator-searchdb --save
2.打開博客目錄,找到“_config.yml
”文件,添加以下內容。
search:
path: search.xml
field: post
content: true
format: html
path:表示搜索後生成的文件路徑,可以生成xml和json兩種格式;將path設置爲“content.json
”就可以替代第二個插件。
field:表示搜索的範圍,有“post、page和all
”三種值。
post:所有的文章;
page:所有頂部導航選項的頁面;
all:所有的文章和頂部導航選項的頁面。
content:是否包含搜索到的文章的全部內容。如果false,生成的結果只包括標題和創建時間這些信息,沒有文章主體。默認情況下是true.
format:搜索到的內容、選項的格式。
html(默認):將html原文本縮略。
striptags:將html原文本縮略,並刪除所有標記。
raw:記下每一篇文章或每一頁的文字。
2.3使用插件
1.打開博客目錄目錄,找到當前正在使用的主題的“_config.yml”文件,打開進行編輯,找到“local_search
”,修改enable
的值爲true
。
# 本地搜索
local_search:
enable: true
2.打開博客在搜索框中輸入內容就可以正常使用了。
3.hexo-generator-json-content插件
本插件原理和上個插件差不多,都是生成一個文件用來本地搜索
3.1添加插件
1.打開“Node Command Prompt
”,使用cd定位到自己博客的目錄。
2.輸入以下命令添加博客搜索插件。
//未配置淘寶的數據源
npm install hexo-generator-json-content --save
//配置淘寶數據源的可以使用這條命令,網絡會好一些
cnpm install hexo-generator-json-content --save
2.打開博客目錄,找到“_config.yml
”文件,添加以下內容。
jsonContent:
dateFormat: MM-DD
pages:
title: true
text: true
path: true
date: true
excerpt: true
preview: true
posts:
title: true
text: true
path: true
date: true
excerpt: true
tags: [{
name: tag.name,
slug: tag.slug,
permalink: tag.permalink
}]
preview: true
3.2使用插件
1.打開博客目錄目錄,找到當前正在使用的主題的“_config.yml”文件,打開進行編輯,找到“local_search
”,修改enable
的值爲true
。
# 本地搜索
local_search:
enable: true
2.打開博客在搜索框中輸入內容就可以正常使用了。
4.總結
添加本地搜索功能還是比較簡單的,也有通過algolia等方式進行搜索的方法,但是我感覺本地搜索也夠用了,不想再花太多時間到博客這些功能的研究上面,所以就沒去弄這個,要是有時間會再發表如何添加評論功能。有不清楚的地方歡迎評論留言,看到的我都會回覆的。本文到此結束,有什麼不足的地方請大家不吝指正。