gridea search
1.0.0
プレビュー: https://kytrun.com、またはこのプロジェクトをダウンロードし、Gridea のテーマ パスにexample/
ディレクトリを配置し、Gridea を自分で実行します。
これは、フロントエンド プログラミングの基礎を持つ Gridea テーマ開発者のみに適しています。grinda-search を使用したテーマは、こちらでご覧いただけます。
├── assets
│ └── media
│ └── gridea-search
│ └── result-template.ejs - 搜索结果列表模板
│ └── ejs.min.js - 模板渲染引擎
│ └── fuse.basic.min.js - 模糊搜索
│ └── gridea-search.js - 功能入口
└── templates
├── api.ejs - 输出整站 API
└── search.ejs - 搜索页面
JSON形式のAPIを出力するテンプレートです。ネットワーク送信時間を可能な限り短縮するために、一部の属性は必要に応じてアノテーションを解除できます。
パブリック テンプレート。他のページが参照できるように、適切な場所に検索ボックスを追加します。
< 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-search を使用したトピック
公式のディレクトリ構造とページ変数の説明
サードパーティのライブラリ:
フロントエンドあいまい検索 - Fuse.js: https://github.com/krisk/fuse
テンプレート解析 - EJS: https://github.com/mde/ejs
オープンソースライセンス: MIT
関連記事: