Skip to content

Commit

Permalink
Add Algolia search on header bar
Browse files Browse the repository at this point in the history
  • Loading branch information
ElPicador committed Nov 16, 2015
1 parent e2bc42b commit 1d17455
Show file tree
Hide file tree
Showing 6 changed files with 272 additions and 150 deletions.
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -4,3 +4,4 @@ _site
.settings
*~
vendor/bundle
.idea/
6 changes: 6 additions & 0 deletions _includes/footerbar.txt
Expand Up @@ -34,3 +34,9 @@
</p>
</div>
</div>

<!-- search -->
<script src="//cdn.jsdelivr.net/algoliasearch/3/algoliasearch.min.js"></script>
<script src="//cdn.jsdelivr.net/autocomplete.js/0/autocomplete.min.js"></script>
<script src="{{ site.baseurl }}/resources/javascript/searchbar.js" type="text/javascript" ></script>

2 changes: 1 addition & 1 deletion _includes/header.txt
Expand Up @@ -153,4 +153,4 @@
</style>

</head>
<body onload="styleCode()">
<body onload="styleCode()">
12 changes: 6 additions & 6 deletions _includes/topbar.txt
Expand Up @@ -36,12 +36,12 @@

<li><a href="{{ site.baseurl }}/contribute.html">Contribute</a></li>
<li><a href="{{ site.baseurl }}/sips">SIPs/SLIPs</a></li>
</ul>
<form method="get" id="searchform" action="{{ site.baseurl }}/search.html">
<input type="text" placeholder="Search" class="field" name="q" id="q"/>
</form>
</li>
</ul>
<li>
<form id="searchform" action="#">
<input type="text" placeholder="Search in documentation..." class="field" name="q" id="q"/>
</form>
</li>
</ul>
</div>
</div>
</div>
41 changes: 41 additions & 0 deletions resources/javascript/searchbar.js
@@ -0,0 +1,41 @@
(function() {
var template =
'<div class="aa-dataset-a">' +
'</div>' +
'<div class="branding-footer">' +
'<div class="branding"><span>Powered by</span><a target="_blank" href="https://algolia.com"><img src="https://www.algolia.com/assets/algolia128x40.png"/></a></div>' +
'</div>';

var client = algoliasearch('XT7HFL89G3', '9110ba06379a1615458dbce9604b1e2a');
var index = client.initIndex('scaladocs');
var ATTRIBUTES = ['content', 'h6', 'h5', 'h4', 'h3', 'h2', 'h1' ];

var capitalize = function(string) {
return string.charAt(0).toUpperCase() + string.slice(1);
};

autocomplete('#q', {
hint: false,
debug: false,
templates: {
dropdownMenu: template
}
}, [
{
source: autocomplete.sources.hits(index, { hitsPerPage: 5, tagFilters: [ 'en' ], numericFilters: 'importance>0' }),
name: 'a',
displayKey: 'title',
templates: {
suggestion: function(suggestion) {
for(var i = 0 ; i < ATTRIBUTES.length ; i++) {
if(suggestion._highlightResult[ATTRIBUTES[i]] !== undefined) {
return '<span class="title"><strong>' + capitalize(suggestion._tags[1]) + '</strong>: ' + suggestion._highlightResult.title.value + '</span><span class="text">' + suggestion._highlightResult[ATTRIBUTES[i]].value + '</span>';
}
}
}
}
}
]).on('autocomplete:selected', function(event, suggestion) {
window.location.href = suggestion.link;
});
})();

0 comments on commit 1d17455

Please sign in to comment.