1
0
mirror of https://github.com/thangisme/notes.git synced 2024-10-31 17:37:17 -04:00
notes/docs/search.md
2017-11-08 11:23:05 -05:00

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.