Fumapress
The site generator

Orama Search

Add built-in full-text search with Orama.

Installation

This plugin is included in fumapress.

Enable the plugin in your Fumapress config:

press.config.tsx
import { defineConfig } from "fumapress";
import { oramaSearchPlugin } from "fumapress/plugins/orama-search";

export default defineConfig({
  // ...
})
  .usePlugins(oramaSearchPlugin());

The plugin creates a search API at /api/search and enables the search dialog in the docs provider. In static mode, the search index is generated as static data.

Options

buildIndex

By default, the plugin uses structured data from your configured adapters. Define buildIndex to customize the index fields:

press.config.tsx
import { defineConfig } from "fumapress";
import { oramaSearchPlugin } from "fumapress/plugins/orama-search";

export default defineConfig({
  // ...
}).usePlugins(
  oramaSearchPlugin({
    buildIndex(page) {
      return {
        id: page.url,
        title: page.data.title,
        description: page.data.description,
        url: page.url,
        structuredData: page.data.structuredData,
        tag: page.path.split("/")[0],
      };
    },
  }),
);

The returned index must include structuredData. If your content source does not expose structured data, add it with a content adapter or provide it from your own page data.

Enable only one search plugin at a time. oramaSearchPlugin() and flexsearchPlugin() both create /api/search.

Last updated on

On this page