Vorschau: https://kytrun.com, oder laden Sie dieses Projekt herunter, platzieren Sie example/
im Themenpfad von Gridea und führen Sie Gridea selbst aus.
Es ist nur für Gridea-Theme-Entwickler mit Kenntnissen in der Frontend-Programmierung geeignet. Themes mit Grinda-Suche können hier eingesehen werden .
├── assets
│ └── media
│ └── gridea-search
│ └── result-template.ejs - 搜索结果列表模板
│ └── ejs.min.js - 模板渲染引擎
│ └── fuse.basic.min.js - 模糊搜索
│ └── gridea-search.js - 功能入口
└── templates
├── api.ejs - 输出整站 API
└── search.ejs - 搜索页面
Die Vorlage, die die JSON-Format-API ausgibt, um die Netzwerkübertragungszeit so weit wie möglich zu verkürzen, sind einige Attribute zunächst mit Anmerkungen versehen. Sie können die entsprechenden Anmerkungen nach Bedarf löschen.
Öffentliche Vorlage, fügen Sie an der entsprechenden Stelle ein Suchfeld hinzu, damit andere Seiten darauf verweisen können:
< form id =" gridea-search-form " action =" <%= themeConfig.domain %>/search/ " >
< input name =" q " />
</ form >
Der vorhandene Teil kann nicht geändert werden, andere Attribute wie Klasse oder Stil können hinzugefügt werden.
Die Suchseite kann basierend auf anderen Seiten geändert werden und dann Suchergebnis-Rendering-Knoten und abhängige Skripte hinzugefügt werden.
<script>
muss vor </body>
platziert werden. Ändern Sie die Reihenfolge nicht willkürlich, um Ladefehler zu vermeiden. Die Suchergebnislistenvorlage wird auf der Browserseite analysiert und grundsätzlich wiederverwendet ./templates/includes/post-list.ejs, aber der zusammenfassende Inhalt <%- post.abstract %>
wird in <%- post.searchedPreview %>
geändert. Verwenden der Vorschau von Suchergebnissen, die Schlüsselwörter enthalten.
pagination
nicht. < 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 >
Themen mit Gridea-Suche
Offizielle Verzeichnisstruktur und Beschreibung der Seitenvariablen
Bibliotheken von Drittanbietern:
Front-End-Fuzzy-Suche – Fuse.js: https://github.com/krisk/fuse
Vorlagenanalyse – EJS: https://github.com/mde/ejs
Open-Source-Lizenz: MIT
Verwandte Artikel: