Full-text search in Jekyll with Tipue Search. No plugin necessary. Fully compatible with Github Pages.
The search index at tipuesearch/tipuesearch_content.js
is generated with Liquid. The Tipue Search jQuery plugin uses Javascript to search the index and display a list of results.
View a live demo running on Github Pages. The code and configuration for the demo is in the gh-pages branch.
Add the assets/tipuesearch
folder and all contents to your site.
Add the Tipue Search scripts & styles to your theme head. Some of these lines are optional, see the docs for info:
{% if page.tipue_search_active or layout.tipue_search_active %}
<link rel="stylesheet" href="{{ "/assets/tipuesearch/css/normalize.css" | relative_url }}">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="{{ "/assets/tipuesearch/tipuesearch_content.js" | relative_url }}"></script>
<link rel="stylesheet" href="{{ "/assets/tipuesearch/css/tipuesearch.css" | relative_url }}">
<script src="{{ "/assets/tipuesearch/tipuesearch_set.js" | relative_url }}"></script>
<script src="{{ "/assets/tipuesearch/tipuesearch.min.js" | relative_url }}"></script>
{% endif %}
search.html
for reference. Set tipue_search_active: true
in the front-matter of every page or layout where you want to display search results. See the Tipue Search documentation for configuration of the search form and display of search results:<form action="{{ page.url | relative_url }}">
<div class="tipue_search_left"><img src="{{ "/assets/tipuesearch/search.png" | relative_url }}" class="tipue_search_icon"></div>
<div class="tipue_search_right"><input type="text" name="q" id="tipue_search_input" pattern=".{3,}" title="At least 3 characters" required></div>
<div style="clear: both;"></div>
</form>
<div id="tipue_search_content"></div>
<script>
$(document).ready(function() {
$('#tipue_search_input').tipuesearch();
});
</script>
Refer to the Tipue Search documentation and browse the code to understand how Tipue Search works, and how to best integrate it into your site.
By default, only posts are included in the search index. Pages and collections are not included.
Add the following to _config.yml
to include pages and collections. collections
is an array containing a list of collections you want to include.
tipue_search:
include:
pages: true
collections: [apples, oranges]
Exclude single documents from the search index with a front-matter variable:
exclude_from_search: true
Exclude multiple files, tags or categories using a setting in _config.yml
. files
is an array containing a list of file paths to be excluded. tags
and categories
are arrays containing lists of tags and categories you want to exclude.
tipue_search:
exclude:
files: [search.html, _apples/gragg.md, _oranges/valencia.md]
tags: [tag1, tag2]
categories: [category1, category2]
Tipue drop 是一款搜索建议箱的响应式 jQuery插件,在各种项目中得到很好的应用。在线演示
Jekyll 是一个简单的免费的Blog生成工具,类似WordPress。但是和WordPress又有很大的不同,原因是jekyll只是一个生成静态网页的工具,不需要数据库支持。但是可以配合第三方服务,例如discuz。最关键的是jekyll可以免费部署在Github上,而且可以绑定自己的域名。 快速安装指令: gem install jekylljekyll new my-awesome-sit
Simple-Jekyll-Search A JavaScript library to add search functionality to any Jekyll blog. Use case You have a blog, built with Jekyll, and want a lightweight search functionality on your blog, purely
中文网站 jekyllcn 快速开始 ~ $ gem install jekyll bundler ~ $ jekyll new my-awesome-site ~ $ cd my-awesome-site ~/my-awesome-site $ bundle install ~/my-awesome-site $ bundle exec jekyll serve # => 打开浏览器 http
jekyll-admin 是一个 jekyll 插件,为用户提供了传统 CMS(内容管理系统)风格的图形化界面来创作内容和管理 jekyll 网站。 该项目分为两部分。基于 Ruby 的 HTTP API 处理 jekyll 和文件系统的操作部分,以及在这个 API 基础上的基于 JavaScript 的前端部分。 安装: 就像安装其他插件一样,请参阅 jekyll 文档的插件安装部分安装 jek
Jekyll的增强版,使用Markdown来写日志。 Jekyll采用静态文件方式管理,不需要数据库即可支持一个独立博客站点,在github-pages平台上被普遍采用。Jekyll-Bootstrap在Jekyll基础上,集成了twitter-bootstrap界面风格和一些实用的插件,并且易于扩展。