This package has been deprecated

Author message:

Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

@mia-platform/docusaurus-lunr-search

3.0.0 • Public • Published

docusaurus-lunr-search

Offline Search for Docusaurus V2, forked from original plugin docusaurus-lunr-search. The main difference from the original plugin it's the possibility to perform a versioned search compliant with the Docusaurus 2nd use case.

MIT Licence

npm version

Sample

Prerequisites

worker_thread is needed, suggested node version > 12.X For older version of node use docusaurus-lunr-search version 2.1.0 (npm i docusaurus-lunr-search@2.1.0)

How to Use

  1. Install this package
npm i docusaurus-lunr-search  --save
  1. Then run docusaurus swizzle
npm run swizzle docusaurus-lunr-search SearchBar
  1. Add the docusaurus-lunr-search plugin to your docusaurus.config.js
module.exports = {
  // ...
    plugins: [
      [
        require.resolve('docusaurus-lunr-search')
      ],
    ]
}
  1. Then build your Docusaurus project
npm run build
  1. Serve your application
npx http-server ./build

Note: Docusaurus search information can only be generated from a production build. Local development is currently not supported.

Versioned search options

The plugin supports versioned search compliant with the Docusaurus 2nd use case:

module.exports = {
  // ...
    plugins: [
      [
        require.resolve('docusaurus-lunr-search'),
        {
          // Regex to get version name from the locations of the documents
          // N.B: The Regex have to include one and only capturing group.
          // This encloses the version name

          // In this case will capture "docs/5.x","docs/6.x", ect.
          versionPathRegex: "docs\\/(\\d+.x)"
        }
      ],
    ]
}

If the documentation versioning is disabled the searching will include all documents.

Language options

module.exports = {
  // ...
    plugins: [[ require.resolve('docusaurus-lunr-search'), {
      languages: ['en', 'de'] // language codes
    }],
}

Supports all the language listed here https://github.com/MihaiValentin/lunr-languages

Other options

excludeRoutes

You can exclude certain routes from the search by using this option:

module.exports = {
  // ...
    plugins: [
    [require.resolve('docusaurus-lunr-search'), {
        excludeRoutes: [
            'docs/changelogs/**/*', // exclude changelogs from indexing
        ]
    }]
  ],
}

indexBaseUrl

Base url will not indexed by default, if you want to index the base url set this option to true

module.exports = {
  // ...
    plugins: [
        [require.resolve('docusaurus-lunr-search'),
            {
                indexBaseUrl: true
            }
        ]
    ],
}

Thanks to algolia/docsearch.js, I modified it to create this search component

And thanks cmfcmf, I used the code from his library docusaurus-search-local for multi-language support.

Package Sidebar

Install

npm i @mia-platform/docusaurus-lunr-search

Weekly Downloads

2

Version

3.0.0

License

MIT

Unpacked Size

92.2 kB

Total Files

16

Last publish

Collaborators

  • jgiola
  • davidebianchi
  • fredmaggiowski
  • bottarga