jekyll-lunr 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/assets/javascript/indexer.js +36 -23
- data/lib/jekyll/lunr.rb +3 -1
- data/lib/jekyll/lunr/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 90eef74feddc378ae3003d595921774aa577af3878613eaeb0fa3f455dc6b8f5
|
4
|
+
data.tar.gz: 25d9fec540c555b582dda9e7c6ab7988365e941a64632f7816251987a8928c42
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c521546e2bf208f63a5f8564806bdbbc8fbbe148bea463a99cbe1a0417eddceb0348cc62a3fafacf1232a426c69462c906505b2cd16a7d97071fca67eef141ee
|
7
|
+
data.tar.gz: cd683d7daafda7439be1d6458bb7432d0fcf121052bdb5554bf3bf3972218a76e1e56bff6cef550392cb4b11d34791bbff3f1acfc97b632c38e794299ab872de
|
@@ -1,33 +1,46 @@
|
|
1
1
|
// https://lunrjs.com/guides/index_prebuilding.html
|
2
|
-
const lunr = require('lunr'),
|
3
|
-
stdin = process.stdin,
|
4
|
-
stdout = process.stdout,
|
5
|
-
lang = process.argv[2]
|
6
2
|
|
7
|
-
|
3
|
+
process.stdin.resume()
|
4
|
+
process.stdin.setEncoding('utf8')
|
5
|
+
|
6
|
+
const lunr = require('lunr'),
|
7
|
+
readline = require('readline'),
|
8
|
+
lang = process.argv[2],
|
9
|
+
rl = readline.createInterface({
|
10
|
+
input: process.stdin,
|
11
|
+
output: process.stdout,
|
12
|
+
terminal: false
|
13
|
+
})
|
8
14
|
|
9
15
|
// Load Lunr languages
|
10
|
-
|
11
|
-
require(
|
12
|
-
require(
|
16
|
+
if (lang !== 'en') {
|
17
|
+
require("lunr-languages/lunr.stemmer.support")(lunr)
|
18
|
+
require(`lunr-languages/lunr.${lang}`)(lunr)
|
19
|
+
}
|
13
20
|
|
14
|
-
|
15
|
-
stdin.setEncoding('utf8')
|
21
|
+
let builder
|
16
22
|
|
17
|
-
|
23
|
+
// Process each document as a separate line
|
24
|
+
rl.on('line', line => {
|
25
|
+
const doc = JSON.parse(line)
|
18
26
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
.
|
27
|
+
// If the builder isn't initialized, create it
|
28
|
+
if (!builder) {
|
29
|
+
builder = new lunr.Builder
|
30
|
+
builder.pipeline.add(
|
31
|
+
lunr.trimmer,
|
32
|
+
lunr.stopWordFilter,
|
33
|
+
lunr.stemmer
|
34
|
+
)
|
23
35
|
|
24
|
-
|
25
|
-
// work with ES16 or whatever it's called
|
26
|
-
var idx = lunr(function() {
|
27
|
-
this.use(lunr.multiLanguage(lang, 'en'))
|
28
|
-
fields.forEach((f) => this.field(f))
|
29
|
-
docs.forEach((doc) => this.add(doc))
|
30
|
-
})
|
36
|
+
builder.searchPipeline.add(lunr.stemmer)
|
31
37
|
|
32
|
-
|
38
|
+
if (lang !== 'en') builder.use(lunr[lang])
|
39
|
+
|
40
|
+
Object.keys(doc).forEach(field => builder.field(field))
|
41
|
+
}
|
42
|
+
|
43
|
+
builder.add(doc)
|
33
44
|
})
|
45
|
+
|
46
|
+
process.stdin.on('end', () => process.stdout.write(JSON.stringify(builder.build())))
|
data/lib/jekyll/lunr.rb
CHANGED
data/lib/jekyll/lunr/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-lunr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- f
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-04-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: loofah
|