jekyll_ranked_search 0.0.3 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/search.js +25 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 285d83435623362b1b2a64895f39e9083a23e994f44772b8d7d0ee119bb0a2a8
|
4
|
+
data.tar.gz: 3f87f6708fb4bb8070ffbf22a388345ec0ead46c251aa94b7828d3cb8e0653d6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c5b400d6ad614276e3f325923c7a0ba56a78fc216e4eeaf26acb5fd070a89e90b41e995c16760f337c983b1902d892d8f96bfdba1312000e8f9bfff71104cb00
|
7
|
+
data.tar.gz: 132c37490020d2205f526ae84c0f190236e265ac19f33f12abb4654d0350547055e0549517e3df554b5a46d9271f43e80556dafbeadf5fd98f79c4992a126d70
|
data/lib/search.js
CHANGED
@@ -12,6 +12,9 @@ class SearchBox extends LitElement {
|
|
12
12
|
|
13
13
|
// Lazy loading
|
14
14
|
lazy: {type: Boolean, attribute: true},
|
15
|
+
|
16
|
+
// Maximum number of results to show
|
17
|
+
maxResults: {type: Number, attribute: "max-results"},
|
15
18
|
};
|
16
19
|
|
17
20
|
/**
|
@@ -35,6 +38,9 @@ class SearchBox extends LitElement {
|
|
35
38
|
// Disable lazy loading by default
|
36
39
|
this.lazy = false;
|
37
40
|
|
41
|
+
// Default to maximum of 8 results
|
42
|
+
this.maxResults = 8;
|
43
|
+
|
38
44
|
this._placeholder = "Search...";
|
39
45
|
}
|
40
46
|
|
@@ -48,7 +54,7 @@ class SearchBox extends LitElement {
|
|
48
54
|
box-sizing: border-box;
|
49
55
|
width: 100%;
|
50
56
|
// margin: 0 auto;
|
51
|
-
padding: .4em;
|
57
|
+
padding: .4em 30px;
|
52
58
|
border: 1px solid #ccc;
|
53
59
|
font-size: 1.2em;
|
54
60
|
border-radius: 4px;
|
@@ -56,12 +62,27 @@ class SearchBox extends LitElement {
|
|
56
62
|
z-index: 11;
|
57
63
|
}
|
58
64
|
|
65
|
+
label {
|
66
|
+
position: relative;
|
67
|
+
}
|
68
|
+
|
69
|
+
label::before {
|
70
|
+
content: "";
|
71
|
+
position: absolute;
|
72
|
+
left: 10px;
|
73
|
+
top: 0;
|
74
|
+
bottom: 0;
|
75
|
+
width: 20px;
|
76
|
+
background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class=''%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z' /%3E%3C/svg%3E") no-repeat center center;
|
77
|
+
}
|
78
|
+
|
59
79
|
#results {
|
60
80
|
position: absolute;
|
61
81
|
width: 100%;
|
62
82
|
margin-top: 4px;
|
63
83
|
z-index: 10;
|
64
84
|
background-color: #F6F6F6;
|
85
|
+
overflow: hidden;
|
65
86
|
border-radius: 4px;
|
66
87
|
box-shadow: 1px 1px 2px #888;
|
67
88
|
}
|
@@ -208,7 +229,7 @@ class SearchBox extends LitElement {
|
|
208
229
|
const candidates = [...results.entries()].sort((a, b) => b[1] - a[1]).map((a) => a[0]);
|
209
230
|
|
210
231
|
// Get top n results
|
211
|
-
this._results = candidates.map((idx) => this._data.docs[idx]).slice(0,
|
232
|
+
this._results = candidates.map((idx) => this._data.docs[idx]).slice(0, this.maxResults);
|
212
233
|
this._open = true;
|
213
234
|
}
|
214
235
|
|
@@ -238,7 +259,9 @@ class SearchBox extends LitElement {
|
|
238
259
|
|
239
260
|
render() {
|
240
261
|
return html`<div>
|
262
|
+
<label>
|
241
263
|
<input id="q" type="text" placeholder="${this._placeholder}" @keyup="${this.search}" @click=${this.openIfResults} @focus=${this.focus}>
|
264
|
+
</label>
|
242
265
|
${this._open ? html`
|
243
266
|
<div id="results">
|
244
267
|
${this._results.map((result) => html`
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll_ranked_search
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Friedrich Ewald
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-07-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: redcarpet
|
@@ -53,7 +53,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
requirements: []
|
56
|
-
rubygems_version: 3.4.
|
56
|
+
rubygems_version: 3.4.15
|
57
57
|
signing_key:
|
58
58
|
specification_version: 4
|
59
59
|
summary: TF-IDF offline search for Jekyll posts
|