Commit Graph

14 Commits

Author SHA1 Message Date
Aditya Telange d81b87938b
Fix `params.fuseOpts` being ignored by Fuse.js
by implementing a map of lower case to camel case parameters

fixes: #556
2021-10-30 13:42:38 +05:30
Aditya Telange d76bc91ed0
Reduce Cognitive Complexity of fastsearch.js (#554) 2021-09-04 15:44:22 +05:30
Aditya Telange f1bc3471a6
Fix focus ghosting in search results O_o 2021-04-10 00:59:24 +05:30
Aditya Telange c255d148d8
Fix results being searched before index building;
refactor resultSet generation to fix duplicate items with large db
2021-04-10 00:58:40 +05:30
Aditya Telange ba48765e2c
Use js.Build to fetch fuseOpts;
also load Search on window load
2021-04-10 00:58:23 +05:30
Aditya Telange e03348c041
improve search
- fix menu element becoming inactive
      change class active -> focus
    - set input type seach #198
    - add a reset func
    - add script to clear searchbox
      when clicked on X sign
2021-02-07 21:40:27 +05:30
Aditya Telange f64c44c8d2
tweak fuse opts
-rm default opts,
- add ignoreLocation (to search everywhere not just 1st 60 chars)
- ref https://fusejs.io/concepts/scoring-theory.html#scoring-theory
2021-01-30 12:08:19 +05:30
Aditya Telange 624b1d0afb
trim whitespace before searching 2021-01-30 12:08:09 +05:30
Aditya Telange 8222f2bd11
fix search result multiple hightlight on lost focus
also use set vars instead of fetching element again
2021-01-16 13:26:55 +05:30
Aditya Telange bccce36c98
search: use kb nav only inside searchbox
rm 'prevent mouseclick to change active element'
2020-12-18 21:25:34 +05:30
Aditya Telange b7f8749cdf
Search: Keyboard Bindings for easier navigation (#138)
* set up basic actions on keypress
* add actions to perform conditionally
* add simple highlight animation
* prevent mouseclick to change active element
* clear input box on Escape
* click on Arrow Right
* clear results and focus search-input on esc
* refactor
2020-12-18 11:45:10 +05:30
Aditya Telange 77ff1e6b45
search: introduce loading custom fusejs options from site config #134
* refer https://fusejs.io/api/options.html for opts
* keys used can be some, all or none from
   ["title", "permalink", "summary", "content"]

in config.yml, add fuseOpts as shown below =>
  params:
    fuseOpts:
        isCaseSensitive: false
        shouldSort: true
        location: 0
        distance: 1000
        threshold: 0.4
        minMatchCharLength: 0
        keys: ["title", "permalink", "summary", "content"]
2020-12-15 18:57:42 +05:30
Aditya Telange bb2717a3b9
search: fix redundant results after clearing searchbox 2020-12-06 19:44:36 +05:30
Aditya Telange 4a4408573e
search: init Search feature (#105)
* based on https://gist.github.com/cmod/5410eae147e4318164258742dd053993
* modified working for PaperMod
* fetches current lang index.json for search
* add fuse.js v6.4.3 LICENSE: Apache License 2.0
* bundled fastsearch and fusejs as search.js

Co-authored-by: Craig Mod <stuff@craigmod.com>
2020-12-06 18:19:50 +05:30