MeiliSearch-VuePress

MeiliSearch VuePress

MeiliSearch | Website | Blog | Twitter | Documentation | FAQ

NPM version License Slack

⚡ Lightning Fast, Ultra Relevant, and Typo-Tolerant Search Engine MeiliSearch plugin for VuePress

MeiliSearch VuePress is a MeiliSearch plugin for VuePress. MeiliSearch is a powerful, fast, open-source, easy to use and deploy search engine. Both searching and indexing are highly customizable. Features such as typo-tolerance, filters, and synonyms are provided out-of-the-box.

If you don't use VuePress for your documentation, but you still need a search bar, you might check out this front-end SDK.

MeiliSearch docs demo.

This plugin is used in production on the MeiliSearch documentation.

# Table of Contents

# Usage

# Before using the plugin

The goal of this plugin is to provide very easy integration of a search bar into your own VuePress documentation. To make that possible, you need to gather your website content in advance, and index it in a MeiliSearch instance.

Luckily, we provide all the tools that you need, and can help you through the whole process, if you follow this guide 🚀

As a first introduction, you might only want to test this plugin without connecting it to your website.
You can do it by running the VuePress playground provided in this repository:

$ yarn install
$ yarn serve

Then, open your browser on the indicated URL and test the search bar 🙂

The data comes from MeiliSearch documentation.
Type create an indxe to live the MeiliSearch experience with the typo tolerance.

# Installation

In your VuePress project:

$ yarn add vuepress-plugin-meilisearch
# or
$ npm install vuepress-plugin-meilisearch

# Basic Configuration

In your config.js file:

module.exports = {
  plugins: [
    [
      "vuepress-plugin-meilisearch",
      {
        "hostUrl": "https://mymeilisearch.com",
        "apiKey": "XXX",
        "indexUid": "docs"
      }
    ],
  ],
}

WARNING: Since the configuration file is public, we recommend providing the MeiliSearch public key, which is enough to perform searches.
Read more about MeiliSearch authentication.

# Customization

module.exports = {
  plugins: [
    [
      "vuepress-plugin-meilisearch",
      {
        "hostUrl": "https://mymeilisearch.com", // Mandatory
        "apiKey": "XXX",                        // Mandatory
        "indexUid": "docs-test",                // Mandatory
        "placeholder": "Search as you type...", // Default: ""
        "maxSuggestions": 10,                   // Default: 5
        "hotKeys": [],                          // Default: ['s', '/']
        "cropLength": 50                        // Default: 30
      }
    ],
  ],
}

# Compatibility with MeiliSearch

This package is compatible with the following MeiliSearch versions:

  • v0.13.X
  • v0.12.X
  • v0.11.X
  • v0.10.X

# Development Workflow and Contributing

Any new contribution is more than welcome in this project!

If you want to know more about the development workflow or want to contribute, please visit our contributing guidelines for detailed instructions!

  • docs-searchbar.js: the library used to display the dropdown of this plugin. It can be useful if you want a search bar for your documentation but you don't use VuePress.
  • docs-scraper: the scraper used to scrap websites pages and automatically index the content in MeiliSearch.

MeiliSearch provides and maintains many SDKs and Integration tools like this one. We want to provide everyone with an amazing search experience for any kind of project. If you want to contribute, make suggestions, or just know what's going on right now, visit us in the integration-guides repository.

Made with ❤️ by Ahmad Mostafa - @z3by