Предварительный просмотр: https://kytrun.com или загрузите этот проект, поместите каталог example/
в путь к темам Gridea и запустите Gridea самостоятельно.
Он подходит только для разработчиков тем Gridea с основами фронтенд-программирования. Темы с использованием Grinda-поиска можно посмотреть здесь .
├── assets
│ └── media
│ └── gridea-search
│ └── result-template.ejs - 搜索结果列表模板
│ └── ejs.min.js - 模板渲染引擎
│ └── fuse.basic.min.js - 模糊搜索
│ └── gridea-search.js - 功能入口
└── templates
├── api.ejs - 输出整站 API
└── search.ejs - 搜索页面
Шаблон, который выводит API формата JSON. Чтобы максимально сократить время передачи по сети, некоторые атрибуты изначально аннотируются. При необходимости вы можете отменить соответствующие аннотации.
Публичный шаблон, добавьте поле поиска в соответствующем месте для ссылки на других страницах:
< form id =" gridea-search-form " action =" <%= themeConfig.domain %>/search/ " >
< input name =" q " />
</ form >
Существующую часть нельзя изменить, можно добавить другие атрибуты, такие как класс или стиль.
Страницу поиска можно изменить на основе других страниц, а затем добавить узлы рендеринга результатов поиска и зависимые скрипты.
<script>
должен быть размещен перед </body>
. Не меняйте порядок произвольно, чтобы избежать ошибок загрузки. Шаблон списка результатов поиска анализируется на стороне браузера и в основном используется повторно ./templates/includes/post-list.ejs, но сводное содержимое <%- post.abstract %>
изменяется на <%- post.searchedPreview %>
, использование предварительного просмотра результатов поиска, содержащих ключевые слова.
pagination
. < div id =" gridea-search-result " data-update =" <%= site.utils.now %> " >
< div class =" searching " >搜索中...... </ div >
< div class =" no-result " style =" display:none " >未搜索到相关文章</ div >
</ div >
< style >
.searched-keyword {
/* <span> 标签支持的所有 CSS 属性 */
}
</ style >
Темы, использующие Gridea-поиск
Официальная структура каталогов и описание переменных страницы
Сторонние библиотеки:
Нечеткий поиск во внешнем интерфейсе — Fuse.js: https://github.com/krisk/fuse
Разбор шаблонов — EJS: https://github.com/mde/ejs
Лицензия открытого исходного кода: MIT
Похожие статьи: