{"id":15209067,"url":"https://github.com/kytrun/gridea-search","last_synced_at":"2025-10-29T12:31:44.544Z","repository":{"id":62160167,"uuid":"233373147","full_name":"kytrun/gridea-search","owner":"kytrun","description":"Gridea 模糊搜索插件。Fuzzy search plugin for Gridea.","archived":false,"fork":false,"pushed_at":"2022-05-12T11:33:34.000Z","size":118,"stargazers_count":72,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-02T01:32:05.850Z","etag":null,"topics":["ejs","gridea","gridea-search","gridea-theme","static-site"],"latest_commit_sha":null,"homepage":"https://kytrun.com/search-for-gridea-blog/","language":"Less","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kytrun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-01-12T10:15:46.000Z","updated_at":"2024-10-17T13:09:48.000Z","dependencies_parsed_at":"2022-10-27T14:45:43.220Z","dependency_job_id":null,"html_url":"https://github.com/kytrun/gridea-search","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kytrun%2Fgridea-search","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kytrun%2Fgridea-search/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kytrun%2Fgridea-search/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kytrun%2Fgridea-search/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kytrun","download_url":"https://codeload.github.com/kytrun/gridea-search/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238825780,"owners_count":19537125,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ejs","gridea","gridea-search","gridea-theme","static-site"],"created_at":"2024-09-28T07:21:08.060Z","updated_at":"2025-10-29T12:31:44.208Z","avatar_url":"https://github.com/kytrun.png","language":"Less","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [Gridea](https://github.com/getgridea) 静态站点客户端-文章搜索主题插件\n\n**预览：\u003chttps://kytrun.com\u003e，或者下载此项目将 `example/` 目录置于 Gridea 的 themes 路径，自行运行 Gridea。**\n\n**⚠ 仅适合有前端编程基础的 Gridea 主题开发者使用；可在此查看[使用 gridea-search 的主题](https://github.com/kytrun/gridea-search/discussions/10)**。\n\n## 特点:\n\n*  独立搜索结果页面和网页链接\n*  主题开发者可高度复用已有模板\n*  延用官方 API，无附加学习成本\n*  仅使用搜索时加载所需资源\n*  支持样式自定义\n*  良好的兼容性\n\n## 快速开始：\n\n### 1. 以官方 [主题开发样板](https://github.com/getgridea/gridea-theme-starter) 为例，在其基础上新增文件：\n\n```\n ├── assets\n │   └── media\n │       └── gridea-search\n │           └── result-template.ejs - 搜索结果列表模板\n │           └── ejs.min.js - 模板渲染引擎\n │           └── fuse.basic.min.js - 模糊搜索\n │           └── gridea-search.js - 功能入口\n └── templates\n     ├── api.ejs - 输出整站 API\n     └── search.ejs - 搜索页面\n```\n### 2. 修改以下文件\n\n#### (1) ./templates/api.ejs\n\n输出 JSON 格式 API 的模板，为了尽量缩短网络传输时间，初始注释了部分属性，可根据需要取消相应注释。\n\n#### (2) ./templates/includes/header.ejs\n\n公共模板，在适当位置添加搜索框供其他页面引用：\n\n```html\n\u003cform id=\"gridea-search-form\" action=\"\u003c%= themeConfig.domain %\u003e/search/\"\u003e\n    \u003cinput name=\"q\" /\u003e\n\u003c/form\u003e\n```\n\n现有部分不可修改，可以添加 class 或 style 等其他属性。\n\n#### (3) ./templates/search.ejs\n\n搜索页面，可基于其他页面修改，然后添加搜索结果渲染节点及依赖脚本。\n\n* **依赖的脚本 `\u003cscript\u003e` 必须置于 `\u003c/body\u003e` 之前，切勿随意改变顺序，防止加载出错。**\n\n#### (4) ./assets/media/gridea-search/result-template.ejs\n\n搜索结果列表模板，在浏览器端解析，基本复用 ./templates/includes/post-list.ejs，但修改了摘要内容 `\u003c%- post.abstract %\u003e` 为 `\u003c%- post.searchedPreview %\u003e`，用于含关键词的搜索结果预览。\n\n* **搜索结果列表暂无分页功能，请勿使用 `pagination` 字段。**\n\n## 样式自定义：\n\n### 1. 显示搜索中和无搜索结果\n\n```html\n\u003cdiv id=\"gridea-search-result\" data-update=\"\u003c%= site.utils.now %\u003e\"\u003e\n    \u003cdiv class=\"searching\"\u003e搜索中......\u003c/div\u003e\n    \u003cdiv class=\"no-result\" style=\"display:none\"\u003e未搜索到相关文章\u003c/div\u003e\n\u003c/div\u003e\n```\n\n* **保留已有属性如 class、id 等，可新增属性，添加图标或动画。**\n\n### 2. 搜索输入框\n\n* **保留已有属性，可新增属性，添加图标或动画。**\n\n### 3. 关键词高亮\n\n```html\n\u003cstyle\u003e\n   .searched-keyword {\n     /* \u003cspan\u003e 标签支持的所有 CSS 属性 */\n    }\n\u003c/style\u003e\n```\n\n## 其他：\n\n* [使用 gridea-search 的主题](https://github.com/kytrun/gridea-search/discussions/10)\n\n* [官方目录结构与页面变量说明](https://github.com/getgridea/site/blob/master/docs/theme-structure.md)\n\n* 第三方库：\n\n  * 前端模糊搜索 - Fuse.js: \u003chttps://github.com/krisk/fuse\u003e\n\n  * 模板解析 - EJS: \u003chttps://github.com/mde/ejs\u003e\n\n* 开源协议：[MIT](https://github.com/kytrun/gridea-search/blob/master/LICENSE)\n\n* 相关文章：\n \n  * [给 Gridea 博客增加搜索功能](https://kytrun.com/search-for-gridea-blog/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkytrun%2Fgridea-search","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkytrun%2Fgridea-search","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkytrun%2Fgridea-search/lists"}