Use this guide for an existing site where you want Fuse.js search. The Chulapa 101 template already has it configured; check its existing search page before adding another. No provider account, API key or extra Jekyll plugin is needed for Fuse.js.
Configure the search page
-
In
_config.yml, edit the existingsearchsection, or add it once if absent:search: provider: fusejs landing_page: /searchKeep any other search settings. If your current search has an established address, use that path for
landing_pageand for the page below. -
Find your existing search page and edit it. If there is none, create
search.mdat the site root, alongside_config.yml, with this complete content:--- layout: search title: Search permalink: /search ---Keep only one page at this output address. The page’s
permalinkmust matchsearch.landing_page. For a site under/my-blog, use/searchin both settings; the theme adds the site’sbaseurl. -
Save your changes on the publishing branch. Wait for Actions to finish, then open the search address directly. For a site at
https://ana.github.io/my-blog, openhttps://ana.github.io/my-blog/search(or your chosen landing path).
Selecting a provider does not create the search page. The classic navbar and
the desktop form of dual show a Search link only when navbar.nav is configured.
If that link is absent, use the direct address above or configure your menu.
The search layout supplies its own interface; extra page-body text is not displayed.
Check a result
Search for a distinctive word from a published article’s title. Follow the result and check that it opens the correct article, including on a repository-based site. Clear the search field and check that the results clear.
If the search page is missing, check its published address and the two matching
settings above. If a document is absent from results, check its date, publishing
status and any include_on_search: false in its front matter or defaults. Content
changes enter the search index during the next site build; republish after edits.
To switch providers, use Lunr.js, Simple-Jekyll-Search, Google Custom Search or Algolia. For exact field defaults, use the search reference. For a working interface, see the Fuse.js demo.