mirror of
https://github.com/thangisme/notes.git
synced 2024-10-31 23:27:32 -04:00
43 lines
1.4 KiB
Markdown
43 lines
1.4 KiB
Markdown
---
|
|
layout: default
|
|
title: Search
|
|
nav_order: 6
|
|
---
|
|
|
|
# Search
|
|
|
|
Just the docs uses [lunr.js](http://lunrjs.com) to add a client-side search interface powered by a JSON index that Jekyll generates. All search results are shown in an auto-complete style interface (there is no search results page). By default, all generated html pages are indexed using the following data points:
|
|
|
|
- Page title
|
|
- Page content
|
|
- Page URL
|
|
|
|
## Setup search
|
|
|
|
Before you can use search, you must initialize the feature by running this
|
|
rake command that comes with the `just-the-docs`
|
|
|
|
```bash
|
|
$ bundle exec just-the-docs rake search:init
|
|
```
|
|
|
|
This command creates the `search-data.json` file that Jekyll uses to create
|
|
your search index. Alternatively, you can create the file manually in the
|
|
root of your Jekyll site with this content:
|
|
|
|
```{% raw %}
|
|
---
|
|
---
|
|
{
|
|
{% for page in site.html_pages %}"{{ forloop.index0 }}": {
|
|
"id": "{{ forloop.index0 }}",
|
|
"title": "{{ page.title | xml_escape }}",
|
|
"content": "{{ page.content | markdownify | strip_html | xml_escape | remove: 'Table of contents' | remove: page.title | strip_newlines | replace: '\', ' '}}",
|
|
"url": "{{ page.url | xml_escape }}"
|
|
}{% if forloop.last %}{% else %},
|
|
{% endif %}{% endfor %}
|
|
}{% endraw %}
|
|
```
|
|
|
|
You can modify this by modifying the forloop in `search-data.json` and the javascript in `just-the-docs.js` on line 30.
|