Skip to content

Commit c17de0d

Browse files
authored
160 tatsatjha search tags (#166)
* [#158] add a custom index.json to index posts with authors and dates * [#158] add custom search json to display authors and dates * [#158] allow search by author or search by date functionality * [#160] update live search to redirect to tags page when searched and add indicator of a tag in the search results * [#160] prevent trying to give an author or date to tags * [#160] prevent automatic tag view when searching for tags * [#160] add back in the additional tag styling * [#160] no longer try to display author/date if not present * [#160] update tag styling in passive search results * [#160] update min query length
1 parent 77aa4f1 commit c17de0d

File tree

2 files changed

+41
-23
lines changed

2 files changed

+41
-23
lines changed

assets/js/search.js

+32-22
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
function initializeSearch(index) {
2-
const searchKeys = ['title', 'link', 'summary', 'body', 'date', 'author', 'id', 'section', 'tags'];
2+
const searchKeys = ['title', 'link', 'body', 'date', 'author', 'id', 'section', 'tags'];
33

44
const searchPageElement = elem('#searchpage');
55

@@ -17,7 +17,7 @@ function initializeSearch(index) {
1717
function minQueryLen(query) {
1818
query = query.trim();
1919
const queryIsFloat = parseFloat(query);
20-
const minimumQueryLength = queryIsFloat ? 1 : 2;
20+
const minimumQueryLength = queryIsFloat ? 1 : 1;
2121
return minimumQueryLength;
2222
}
2323

@@ -33,31 +33,14 @@ function initializeSearch(index) {
3333
const requiredQueryLen = minQueryLen(query);
3434

3535
if (results.length && queryLen >= requiredQueryLen) {
36-
let resultsTitle = createEl('h3');
37-
resultsTitle.className = 'search_title';
38-
resultsTitle.innerText = quickLinks;
39-
40-
let goBackButton = createEl('button');
41-
goBackButton.textContent = 'Go Back';
42-
goBackButton.className = goBackClass;
43-
if (passive) {
44-
resultsTitle.innerText = searchResultsLabel;
45-
}
46-
if (!searchPageElement) {
47-
results = results.slice(0, 8);
48-
} else {
49-
resultsFragment.appendChild(goBackButton);
50-
results = results.slice(0, 12);
51-
}
52-
resultsFragment.appendChild(resultsTitle);
5336

5437
results.forEach(function (result) {
5538
let item = createEl('a');
5639
item.href = `${result.link}?query=${query}`;
5740
item.className = 'search_result';
5841
item.style.order = result.score;
42+
5943
if (passive) {
60-
console.log(result);
6144
pushClass(item, 'passive');
6245
let itemTitle = createEl('h3');
6346
itemTitle.textContent = result.title;
@@ -66,7 +49,8 @@ function initializeSearch(index) {
6649
let itemAuthor = createEl('p');
6750
itemAuthor.textContent = "By: "
6851
itemAuthor.textContent += result.author;
69-
item.appendChild(itemAuthor);
52+
if (result.author != null)
53+
item.appendChild(itemAuthor);
7054

7155
const date = new Date(result.date);
7256

@@ -80,7 +64,8 @@ function initializeSearch(index) {
8064

8165
let itemDate = createEl('p');
8266
itemDate.textContent = formattedDate;
83-
item.appendChild(itemDate);
67+
if (formattedDate != "December 31, 1969")
68+
item.appendChild(itemDate);
8469

8570
let itemDescription = createEl('p');
8671
console.log(result)
@@ -90,8 +75,33 @@ function initializeSearch(index) {
9075
} else {
9176
item.textContent = result.title;
9277
}
78+
if (result.section == "tags") {
79+
if (passive)
80+
item.className = item.className + " button_translucent tag_result";
81+
item.textContent = item.textContent + " (Tag)"
82+
resultsFragment.prepend(item);
83+
return;
84+
}
9385
resultsFragment.appendChild(item);
9486
});
87+
let resultsTitle = createEl('h3');
88+
resultsTitle.className = 'search_title';
89+
resultsTitle.innerText = quickLinks;
90+
91+
let goBackButton = createEl('button');
92+
goBackButton.textContent = 'Go Back';
93+
goBackButton.className = goBackClass;
94+
if (passive) {
95+
resultsTitle.innerText = searchResultsLabel;
96+
}
97+
resultsFragment.prepend(resultsTitle);
98+
if (!searchPageElement) {
99+
results = results.slice(0, 8);
100+
} else {
101+
resultsFragment.prepend(goBackButton);
102+
results = results.slice(0, 12);
103+
}
104+
95105
}
96106

97107
if (queryLen >= requiredQueryLen) {

assets/sass/_custom.sass

+9-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,15 @@
3030
.nav .nav_body
3131
justify-content: flex-start
3232

33-
33+
.tag_result
34+
font-size: 1.25rem
35+
width: fit-content
36+
padding-left: 1rem !important
37+
padding-right: 1rem !important
38+
margin-top: 1rem
39+
border: solid
40+
border-radius: 0.5rem
41+
3442

3543
.post_tag.button
3644
text-transform: none

0 commit comments

Comments
 (0)