Поиск в блоге
Я считаю, что поиск по блогу - “must-have feature”. К сожалению, в выбранной мною простенькой теме hexo-light поиска не предусмотрено. Поэтому, нужно либо использовать сервисы типа Гугл или Яндекс, либо автоматически создавать индексный файл (xml или json) каждый раз при перегенерации блога и реализовать поиск на клиенте с помощью javascript. Я решил идти по второму пути.
Для генерации индекса выбран плагин для hexo: hexo-generator-searchdb
. Устанавливается он с помощью:
npm install hexo-generator-searchdb |
Конфигурирование делается в _config.yml
блога:
search: |
Следующим шагом нужно создать страницу для поиска. Делается это так:
hexo new page "search" |
В source
каталоге создастся подкаталог search
и в нем index.md
. Содержание надо сделать наподобие такого:
--- |
Я добавил layout
search
в тему hexo-theme-light-plus. title
лучше оставить пустым, тогда в качестве заголовка страницы поиска будет использоваться локализованная строка “search”.
Скрипт для поиска лежит в js/local-search.js. Я его сделал на основе вот этого. Убрал “popup”. Сделал постраничный показ результатов поиска (по 10 на страницу). Настройки в самом local-search.js
:
const CONFIG = { |
В общем, получилось так: поиск.