Vista previa: https://kytrun.com, o descargue este proyecto, coloque example/
en la ruta de temas de Gridea y ejecute Gridea usted mismo.
Solo es adecuado para desarrolladores de temas de Gridea con una base en programación front-end. Los temas que utilizan grinda-search se pueden ver aquí .
├── assets
│ └── media
│ └── gridea-search
│ └── result-template.ejs - 搜索结果列表模板
│ └── ejs.min.js - 模板渲染引擎
│ └── fuse.basic.min.js - 模糊搜索
│ └── gridea-search.js - 功能入口
└── templates
├── api.ejs - 输出整站 API
└── search.ejs - 搜索页面
La plantilla que genera la API en formato JSON para acortar el tiempo de transmisión de la red tanto como sea posible, inicialmente se anotan algunos atributos. Puede cancelar las anotaciones correspondientes según sea necesario.
Plantilla pública, agregue un cuadro de búsqueda en la ubicación adecuada para referencia en otras páginas:
< form id =" gridea-search-form " action =" <%= themeConfig.domain %>/search/ " >
< input name =" q " />
</ form >
La parte existente no se puede modificar, se pueden agregar otros atributos como clase o estilo.
La página de búsqueda se puede modificar en función de otras páginas y luego agregar nodos de representación de resultados de búsqueda y scripts dependientes.
<script>
debe colocarse antes de </body>
. No cambie el orden arbitrariamente para evitar errores de carga. La plantilla de la lista de resultados de búsqueda se analiza en el lado del navegador y básicamente se reutiliza ./templates/includes/post-list.ejs, pero el contenido del resumen <%- post.abstract %>
se modifica a <%- post.searchedPreview %>
. usando Vista previa de resultados de búsqueda que contienen palabras clave.
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 >
Temas que utilizan gridea-search
Estructura del directorio oficial y descripción de la variable de página.
Bibliotecas de terceros:
Búsqueda difusa de front-end: Fuse.js: https://github.com/krisk/fuse
Análisis de plantillas: EJS: https://github.com/mde/ejs
Licencia de código abierto: MIT
Artículos relacionados: