Releases: ang-zeyu/infisearch
Releases · ang-zeyu/infisearch
v0.2.3
- Move mdbook specific
width: 100%
on the root container to the plugin. Fixes cases whereby the supplied input element is not the only child. - Fix: Insert the root container back into the original position of the supplied input element
- Fix a regression with repeated triggering of the infinite scroll observer. The container for the observer is reverted to the viewport
v0.2.2
- Make the results list more spacious in general
- Minor colour tweaks for the default themes
- Add
maxSubMatches=2
UI option to tweak the maximum number of shown heading-body pairs per document - Add a css variable for
border-bottom
beneath the title, and separate highlight colours for highlights in headings - Change the tip list design into a table format
- Order tip icon first for keyboard tabbing
- Capture esc key events inside dropdown container (not including the input itself which is already handled) and hide the dropdown
- Remove placeholder centering for the fullscreen UI's trigger input. This is a more intrusive, unnecessary aspect for keyboard accessibility.
- Support calling the initialisation function
initMorsels
multiple times. This allows create multiple<inputs>
on the same page searching the same or different indexes. - Mdbook plugin: polish/fix the styles a lot more to suit each theme uniquely
- Mdbook plugin: add an outline to result items on keyboard focus (for mdbook themes only)
- Reduce dictionary memory usage by ~30-40%. More so relevant only for extreme collections (e.g. the demo site with > 1000,000 dictionary terms).
- Prefer
<h1>
tags to<title>
tags if present when indexing HTML
v0.2.1
Misc
- Minor spacing and color tweaks for the default light theme
- Re-enable indexing positions by default
- Enable query term proximity ranking by default in all cases
- Query term proximity ranking criteria is relaxed, allowing boosting partial, but still in-order matches. This further improves result ranking/relevance from proximity ranking
Performance
- Persistently cache any and all index files requested before, this is configurable with
plLazyCacheThreshold
- Further compress index files (20-30% improvement without positions)
- Further compress positional information in index files (5-15% improvement)
- Improve query term proximity ranking performance by removing some unnecessary allocations
- Merge dictionary string and bitmap metadata into one file to improve initialisation time
- Compress metadata further by 20-30% with packed variable integers
- Reintroduce in-memory index cache as an LRU cache. Relying on persistent cache alone is damaging when having a large monolithic index, since it needs to be loaded into memory.
v0.2.0
- Numerous binary size optimizations, default language wasm binary is now 2x smaller.
- ~20% indexer performance improvement (now takes ~4.5s to index a 400MB csv file on my 8700k) 🐴
- Add an advanced usage "help" icon on the bottom right for the dropdown / fullscreen UIs
- Accessibility enhancements for the supplied input element, for the fullscreen UI
- Add some default but overridable styling only on keyboard focus
- Add
role='button'
,enterkeyhint
attributes - Do not focus back on the input when the fullscreen UI is closed with a pointer device
- Multiple improvements for tokenizer character normalisation, term splitting, surrounding non-ascii characters
- Auto-escape field queries for invalid fields
- Add
--morsels-triangle-bg
css variable - Switch dropdown closing to
focusout
event to more reliably detect bubbled loss of focus from the input or dropdown - Allow selectors to index HTML attributes only without a change in the
field_name
- If a title is unavailble, the relative file path is now formatted into a pretty breadcrumb format instead
- PDF file support
- Allow linking / indexing multiple files into a single result / document using the
_add_files
field. This also conveniently allows for overriding fields of unstructured file formats (txt, pdf) using structured ones (json, pdf, html).
Breaking Changes
- CSS variables are now defined at the
:root
element for easier overriding