diff --git a/index.html b/index.html
index c203972..aecc167 100644
--- a/index.html
+++ b/index.html
@@ -27,18 +27,28 @@ class Converter {
generateTerm(text) {
const dt = document.createElement("dt");
dt.setAttribute("class", "col-sm-2");
- dt.append(this.highlight(text));
+ dt.append.apply(dt, this.highlight(text));
return dt;
}
generateDefinition(text) {
const dd = document.createElement("dd");
dd.setAttribute("class", "col-sm-10");
- dd.append(this.highlight(text));
+ dd.append.apply(dd, this.highlight(text));
return dd;
}
highlight(text) {
- // TODO: highlight search text using
- return text;
+ if (!this.filter.length) return Array(text);
+ let result = new Array();
+ let index = 0;
+ while (index = text.toLowerCase().indexOf(this.filter.toLowerCase()), index >= 0) {
+ result.push(text.substr(0, index));
+ const mark = document.createElement("mark");
+ mark.append(text.substr(index, this.filter.length));
+ result.push(mark);
+ text = text.substr(index + this.filter.length);
+ }
+ result.push(text);
+ return result;
}
}
@@ -70,6 +80,12 @@ document.addEventListener("DOMContentLoaded", event => {
body {
font-size: 90%;
}
+ mark {
+ position: relative;
+ z-index: -1;
+ padding: .2em;
+ margin: -.2em;
+ }
Apple Internals