diff --git a/.gitignore b/.gitignore index 25e8803..b447a12 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,3 @@ _site Gemfile.lock node_modules -.jekyll-metadata diff --git a/_config.yml b/_config.yml index d722e9e..9176a8f 100644 --- a/_config.yml +++ b/_config.yml @@ -27,6 +27,11 @@ exclude: ["node_modules/", "*.gemspec", "*.gem", "Gemfile", "Gemfile.lock", "pac # Enable or disable the site search search_enabled: true +# Set the search token separator +search_tokenizer_separator: /[\s\-/]+/ +# For hyphenated-word search: +# search_tokenizer_separator: /[\s/]+/ + # Enable or disable heading anchors heading_anchors: true diff --git a/_includes/nav.html b/_includes/nav.html index fdcf1e1..d561a42 100644 --- a/_includes/nav.html +++ b/_includes/nav.html @@ -10,7 +10,6 @@ {%- endif -%} {{ node.title }} {%- if node.has_children -%} - {%- if page.url == node.url or page.parent == node.title or page.grand_parent == node.title -%} {%- assign children_list = site.html_pages | where: "parent", node.title | sort:"nav_order" -%} {%- endif -%} - {%- endif -%} {%- endif -%} {%- endunless -%} diff --git a/assets/js/just-the-docs.js b/assets/js/just-the-docs.js index aadbf82..0216181 100644 --- a/assets/js/just-the-docs.js +++ b/assets/js/just-the-docs.js @@ -52,8 +52,13 @@ function initSearch() { if (request.status >= 200 && request.status < 400) { // Success! var data = JSON.parse(request.responseText); - + + {% if site.search_tokenizer_separator != nil %} + lunr.tokenizer.separator = {{ site.search_tokenizer_separator }} + {% else %} lunr.tokenizer.separator = /[\s\-/]+/ + {% end %} + var index = lunr(function () { this.ref('id'); this.field('title', { boost: 200 }); diff --git a/docs/configuration.md b/docs/configuration.md index 03e7e52..872e170 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -35,6 +35,10 @@ logo: "/assets/images/just-the-docs.png" # Enable or disable the site search # Supports true (default) or false search_enabled: true + +# Enable support for hyphenated search words: +search_tokenizer_separator: /[\s/]+/ + ``` ## Aux links diff --git a/docs/search.md b/docs/search.md index 134e399..74b398f 100644 --- a/docs/search.md +++ b/docs/search.md @@ -59,6 +59,15 @@ In your site's `_config.yml`, enable search: search_enabled: true ``` +The default is for hyphens to separate tokens in search terms: +`gem-based` is equivalent to `gem based`, matching either word. +To allow search for hyphenated words: + +```yaml +# Set the search token separator +search_tokenizer_separator: /[\s/]+/ +``` + ## Hiding pages from search Sometimes you might have a page that you don't want to be indexed for the search nor to show up in search results, e.g, a 404 page. To exclude a page from search, add the `search_exclude: true` parameter to the page's YAML front matter: