diff --git a/.github/workflows/coverage.yaml b/.github/workflows/coverage.yaml
index 1e5180c..e6e00ba 100644
--- a/.github/workflows/coverage.yaml
+++ b/.github/workflows/coverage.yaml
@@ -40,7 +40,7 @@ jobs:
cp -R $GITHUB_WORKSPACE/{*.*,assets,coverage,demo,test} .
# Modifications
touch .nojekyll
- cp assets/gh-pages.html index.html
+ cp gh-pages.html index.html
# Push
git config user.name "${GITHUB_ACTOR}" && \
git config user.email "${GITHUB_ACTOR}@users.noreply.github.com" && \
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index b909f7a..6c19116 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -2,7 +2,45 @@
## Implementation notes
-* The `cache` Map lets us instantly display any previous result in the same browser tab. We follow the [LRU strategy](https://en.wikipedia.org/wiki/Least_recently_used).
+* **Group by url_without_anchor**.
+
+ One of the ways in which minibar provides different (and arguably, better) default settings compared to DocSearch.js, is the removal of duplicate results from the same page.
+
+ - [Demo: typesense-minibar](https://jquery.github.io/typesense-minibar/)
+ - [Demo: Comparison to DocSearch.js](https://jquery.github.io/typesense-minibar/demo/compare--docsearch-3.html)
+
+ In minibar, entering "ajax" returns these 5 results:
+
+ > Low-Level Interface
+ >
+ > 1. jQuery.ajax()
+ > 2. jQuery.ajaxTransport()
+ >
+ > Global Event Handlers
+ >
+ > 3. ajaxComplete event
+ > 4. ajaxSuccess event
+ > 5. ajaxError event
+
+ In DocSearch, entering "ajax" returns these 10 results (the first 7 are visible without scrolling):
+
+ * Documentation
+ 1. jQuery 3.0 Upgrade Guide
+ 2. jQuery 3.0 Upgrade Guide
+ 3. jQuery 3.0 Upgrade Guide
+ 4. jQuery 3.0 Upgrade Guide
+ 5. jQuery 3.0 Upgrade Guide
+ * Global Event Handlers
+ 6. ajaxComplete event
+ 7. ajaxComplete event
+ * Global Event Handlers (contd., after scrolling)
+ 8. ajaxSuccess event
+ 9. ajaxSuccess event
+ 10. ajaxError event
+
+* **The `cache` Map**.
+
+ This lets us instantly display any previous result in the same browser tab. We follow the [LRU strategy](https://en.wikipedia.org/wiki/Least_recently_used).
For example, if you type `a`, `app`, `apple`, `apples`, and backspace to a shorter previous query, we instantly show those previous results. (No time wasted waiting for re-download of the same results. It also saves client bandwidth and server load.) Or, if you think another word might yield better results and replace it with `banana`, and return to `apple` because that had a better one, we respond instantly.
@@ -12,7 +50,9 @@
If we only add new results and reuse results as-is ([FIFO strategy](https://en.wikipedia.org/wiki/FIFO_(computing_and_electronics))), that may delete very recently used data.
-* The styles for `typesense-minibar` as web component, and `.tsmb-form` class name are kept independent (that is, the web component does not auto-add the class name, nor does it otherwise rely on styles for the class name, and vice versa).
+* **Separate CSS selectors for class and web component**.
+
+ The styles for `typesense-minibar` as web component, and `.tsmb-form` class name are kept independent (that is, the web component does not auto-add the class name, nor does it otherwise rely on styles for the class name, and vice versa).
This is done for two reasons:
diff --git a/assets/gh-pages.html b/assets/gh-pages.html
deleted file mode 100644
index 4eb0ef5..0000000
--- a/assets/gh-pages.html
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
typesense-minibar
-
-
-
-
-
-
minibar is a fast 2kB autocomplete search bar. Alternative to Algolia DocSearch, InstantSearch, autocomplete-js, and typesense-js.