@@ -111,7 +111,7 @@ function makeTeaser(body, terms) {
111111 var TERM_WEIGHT = 40;
112112 var NORMAL_WORD_WEIGHT = 2;
113113 var FIRST_WORD_WEIGHT = 8;
114− var TEASER_MAX_WORDS = 17;
114+ //var TEASER_MAX_WORDS = 17;
115115 var TEASER_MAX_CHARS = 63;
116116
117117 var stemmedTerms = terms.map(function (w) {
@@ -155,7 +155,8 @@ function makeTeaser(body, terms) {
155155
156156 var windowWeights = [];
157157 var windowSize = 0;
158−
158+
159+ // loop over words (weighted) till max chars is reached adding a counter to windowSize every time a new word has passed
159160 var sumChars = 0;
160161 for (var i = 0; i < weighted.length; i++) {
161162 sumChars += weighted[i][0].length;
@@ -215,21 +216,26 @@ function makeTeaser(body, terms) {
215216 return teaser.join("");
216217}
217218
218−/*function trimTeaser(teaser) {
219− var maxLength = 63; // maximum number of characters to extract
220− var string = teaser;
221− var trimmedString = teaser.substr(0, maxLength); //trim the string to the maximum length
222− trimmedString = trimmedString.substr(0, Math.min(trimmedString.length, trimmedString.lastIndexOf(" "))) //re-trim if we are in the middle of a word
223−}*/
219+function formatSearchResultTitle(path) {
220+ var pathArray = path.split( 'docs/' );
221+ var slug = pathArray[1];
222+ var slugArray = slug.split( '/' );
223+ var lastPartTitle = slugArray.splice(slugArray.length - 2, slugArray.length).join('');
224+ var firstPartTitle = slugArray.join(' / ');
225+
226+ console.log(lastPartTitle + " lastPartTitle");
227+
228+ var fullTitle = firstPartTitle + ' / ' + '<span class="search-results__item__title__slug-end">' + lastPartTitle + '</span>';
229+ console.log(fullTitle + " fullPartTitle");
224230
225−function trimTeaserTitle() {
226− //
231+ return fullTitle;
227232}
228233
229234function formatSearchResultItem(item, terms) {
230235 var li = document.createElement("li");
236+ var teaserTitle = formatSearchResultTitle(item.ref);
231237 li.classList.add("search-results__item");
232− li.innerHTML = `<a href="${item.ref}">${item.ref}</a>`;
238+ li.innerHTML = `<a class="search-results__item__title" href="${item.ref}">${teaserTitle}</a>`;
233239 li.innerHTML += `<div class="search-results__teaser">${makeTeaser(item.doc.body, terms)}</div>`;
234240 return li;
235241}
@@ -261,6 +267,7 @@ function initSearch() {
261267 return;
262268 }
263269 searchResults.style.display = term === "" ? "none" : "block";
270+ searchResults.style.overflowY = term === "" ? "hidden" : "scroll";
264271 searchResultsItems.innerHTML = "";
265272 if (term === "") {
266273 return;