diff --git a/.gitignore b/.gitignore
index 25e8803518f9358fad70c0e8cde15265d058c6b2..b447a12d605ace944d4b5f46e384a2513e8af4f1 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 d722e9e27bd580b95704ba551083f2c124111fcf..9176a8f9436c334504966f99429b380f9ab303a4 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 fdcf1e13267b8276eec7b9e8b4968ac2856b93b4..d561a42a70b3e473f7ba41283965751423b7917b 100644
--- a/_includes/nav.html
+++ b/_includes/nav.html
@@ -10,7 +10,6 @@
             {%- endif -%}
             <a href="{{ node.url | absolute_url }}" class="navigation-list-link{% if page.url == node.url %} active{% endif %}">{{ node.title }}</a>
             {%- 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" -%}
               <ul class="navigation-list-child-list ">
                 {%- for child in children_list -%}
@@ -20,7 +19,6 @@
                     {%- endif -%}
                     <a href="{{ child.url | absolute_url }}" class="navigation-list-link{% if page.url == child.url %} active{% endif %}">{{ child.title }}</a>
                     {%- if child.has_children -%}
-                    {%- if page.url == child.url or page.parent == child.title -%}
                         {%- assign grand_children_list = site.html_pages | where: "parent", child.title | sort:"nav_order" -%}
                         <ul class="navigation-list-child-list">
                         {%- for grand_child in grand_children_list -%}
@@ -30,12 +28,10 @@
                         {%- endfor -%}
                       </ul>
                     {%- endif -%}
-                    {%- endif -%}
                   </li>
                 {%- endfor -%}
               </ul>
             {%- endif -%}
-            {%- endif -%}
           </li>
         {%- endif -%}
       {%- endunless -%}
diff --git a/assets/js/just-the-docs.js b/assets/js/just-the-docs.js
index aadbf82670d9386ccf8315378d4be7265bb87ff6..02161816de8452ca4cbc88ee7d9de0307f2672ef 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 03e7e5213e31e7bd0a8cf88b1e5e4aa059f856bf..872e1701f5d7b2d46bddfefef24346b8edc24f4c 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 134e3997bccdc02afe30e101dad3ce0804fe124c..74b398f3c57cd96365d3bb77b739d12d4249fbab 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: