咳咳,作为受益无穷的免费用户,我不是在抱怨,但除了一个合适的框架以外,Acorn 的功能确实过于简略。这几天先后搞定了 Github 同步以及评论系统,但仔细想来,网站亟需完善的功能和模块还有以下几个:
添加评论系统,已达成;添加搜索模块;目前的组图功能不太完善,考虑移植 Justfied Gallery;- 增加更多可选 Layout,比如黑色背景与全屏宽度;
- 能否将视频作为头图的可选项?
- 首页与影像、案例页面的内容梳理;
确实是任重道远,扶额。
安装插件
首先,我们需要安装 hexo-generator-search plugin,输入命令:
1 | $ npm install hexo-generator-search --save |
编辑 Hexo 根目录下的配置文件 _config.yml
,添加以下代码:
1 | search: |
field
指定搜索的覆盖范围,可选项有 post / page / all
,分别覆盖文章、页面,all
则两者兼顾,个人偏向 all 选项,各位可以自行选择。
但插件装好之后,就会发现它除了在根目录生成 search.xml
,并不提供搜索的交互界面,需要我们自行添加。
新增搜索界面
打开 hexo-search-plugin-snippets,下载 snippets
文件夹内的三个文件,分别放到对应的文件夹:
search.ejs
>/themes/acorn/layout/search.ejs
;search.js
>/themes/acorn/source/js/search.js
;search.stylus
>/themes/acorn/source/css/_partial/search.styl
。
接着打开 /themes/acorn/layout/_partial/menu.ejs
,因为我们打算把搜索框放到顶部的导航栏,在 </ul>
的闭合标签之前插入:
1 | <li> |
然后打开 /themes/acorn/layout/_partial/after-footer.ejs
,找个合适的地方插入:
1 | // 引用 JQuery |
再打开 /themes/acorn/source/css/style.styl
,插入:
1 | @import "_partial/search" |
Acorn 主题用户请注意,一定要把文件名从 search.stylus
改为 search.styl
。稳妥起见,最好把语法重新整理一遍,否则可能会出现渲染错误。
最后 hexo clean && hexo g
,搜索模块应该就出现了,调整一下外观样式,收工。