summaryrefslogtreecommitdiff
path: root/themes/LoveIt/assets/lib/lunr/lunr.vi.js
diff options
context:
space:
mode:
Diffstat (limited to 'themes/LoveIt/assets/lib/lunr/lunr.vi.js')
-rw-r--r--themes/LoveIt/assets/lib/lunr/lunr.vi.js84
1 files changed, 84 insertions, 0 deletions
diff --git a/themes/LoveIt/assets/lib/lunr/lunr.vi.js b/themes/LoveIt/assets/lib/lunr/lunr.vi.js
new file mode 100644
index 0000000..9d8cce3
--- /dev/null
+++ b/themes/LoveIt/assets/lib/lunr/lunr.vi.js
@@ -0,0 +1,84 @@
+/*!
+ * Lunr languages, `Vietnamese` language
+ * https://github.com/MihaiValentin/lunr-languages
+ *
+ * Copyright 2017, Keerati Thiwanruk
+ * http://www.mozilla.org/MPL/
+ */
+/*!
+ * based on
+ * Snowball JavaScript Library v0.3
+ * http://code.google.com/p/urim/
+ * http://snowball.tartarus.org/
+ *
+ * Copyright 2010, Oleg Mazko
+ * http://www.mozilla.org/MPL/
+ */
+
+/**
+ * export the module via AMD, CommonJS or as a browser global
+ * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD. Register as an anonymous module.
+ define(factory)
+ } else if (typeof exports === 'object') {
+ /**
+ * Node. Does not work with strict CommonJS, but
+ * only CommonJS-like environments that support module.exports,
+ * like Node.
+ */
+ module.exports = factory()
+ } else {
+ // Browser globals (root is window)
+ factory()(root.lunr);
+ }
+}(this, function() {
+ /**
+ * Just return a value to define the module export.
+ * This example returns an object, but the module
+ * can return a function as the exported value.
+ */
+ return function(lunr) {
+ /* throw error if lunr is not yet included */
+ if ('undefined' === typeof lunr) {
+ throw new Error('Lunr is not present. Please include / require Lunr before this script.');
+ }
+
+ /* throw error if lunr stemmer support is not yet included */
+ if ('undefined' === typeof lunr.stemmerSupport) {
+ throw new Error('Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.');
+ }
+
+ /* register specific locale function */
+ lunr.vi = function() {
+ this.pipeline.reset();
+ this.pipeline.add(
+ lunr.vi.stopWordFilter,
+ lunr.vi.trimmer
+ );
+ };
+
+ /* lunr trimmer function */
+ lunr.vi.wordCharacters = "[" +
+ "A-Za-z" +
+ "\u0300\u0350" + // dấu huyền
+ "\u0301\u0351" + // dấu sắc
+ "\u0309" + // dấu hỏi
+ "\u0323" + // dấu nặng
+ "\u0303\u0343" + // dấu ngã
+ "\u00C2\u00E2" + // Â
+ "\u00CA\u00EA" + // Ê
+ "\u00D4\u00F4" + // Ô
+ "\u0102-\u0103" + // Ă
+ "\u0110-\u0111" + // Đ
+ "\u01A0-\u01A1" + // Ơ
+ "\u01AF-\u01B0" + // Ư
+ "]";
+ lunr.vi.trimmer = lunr.trimmerSupport.generateTrimmer(lunr.vi.wordCharacters);
+ lunr.Pipeline.registerFunction(lunr.vi.trimmer, 'trimmer-vi');
+ lunr.vi.stopWordFilter = lunr.generateStopWordFilter('là cái nhưng mà'.split(' '));
+ };
+}))