A third-party plugin that adds fuzzy search functionality to Publii static sites using the powerful Fuse.js JavaScript library.
⚠️ This plugin is not affiliated with Publii or Fuse.js.
- 🚀 Lightweight, client-side fuzzy search
- 🔎 Searches across post titles, summaries, and tags
- 📂 Works with a static JSON feed (no backend required)
- 📡 No external requests – Fuse.js is bundled locally
- 🖍 Optional result highlighting for matched keywords
- 🔗 Search term stays in the URL for easy sharing
Here’s how the live fuzzy search works:
Here’s how the live fuzzy search works:
You can install the plugin using either of the following methods:
- Download the plugin ZIP from this GitHub repository under Releases.
- Open the Publii app and go to Plugins → Add new.
- Select the downloaded ZIP file.
- Activate the plugin once installed.
To use the plugin, you must enable the following settings in your Publii site:
- ✅ Enable
Search
- ✅ Enable
Search Subpage
- ✅ Enable
JSON Feed
Without these, the plugin will not function.
- The plugin fetches your static JSON feed (
feed.json
) - It indexes post data with Fuse.js using options like:
title
,summary
,tags
- fuzzy matching with diacritic support, score sorting, and extended search
- Input is matched live and results are displayed immediately
- URL is updated in real time for deep-linking/search-sharing
- Matched text is highlighted using
<mark>
tags
<h5><a href="/post-url">Matching Post Title</a></h5>
<p>This is a matching summary with <mark>highlighted</mark> terms.</p>
If you encounter any issues or have any questions, please feel free to open an issue in this repository.
This plugin was created by me with invaluable help from
@freaks-dev.
Special thanks to:
This plugin is released under the GPL-3.0 license.